本文内容受到了知乎相关问题的启发,本人做了一些整理和补充。

l1l_1l1​和l2l_2l2​约束

将损失函数L(w)L(w)L(w)看作参数www的函数,则l1l_1l1​约束的形式是:
(1)L=L(w)+λ∥w∥1L = L(w) + \lambda\left\Vert w\right\Vert_1 \tag{1}L=L(w)+λ∥w∥1​(1)
l2l_2l2​约束的形式是:
(2)L=L(w)+12λ∥w∥22L = L(w) +\frac{1}{2} \lambda\left\Vert w\right\Vert_2^2 \tag{2}L=L(w)+21​λ∥w∥22​(2)

解释一

设不添加约束时,L(w)L(w)L(w)的图像如下图所示,使用梯度下降法找到的最优解是途中的绿色点。


添加式(2)所示的l2l_2l2​约束之后,新的导数为:
(3)L′=L′(w)+λw≈(L(0)+L′(0)w+o(w))′+λw=L′(0)+λw+o′(w)\begin{aligned} L' &= L'(w) + \lambda w\\ &\approx (L(0) + L'(0)w + o(w))' + \lambda w\\ & = L'(0) + \lambda w + o'(w) \end{aligned} \tag{3}L′​=L′(w)+λw≈(L(0)+L′(0)w+o(w))′+λw=L′(0)+λw+o′(w)​(3)
如上图所示,原本的w=0w=0w=0点不是最优解,说明L′(0)L'(0)L′(0)不等于0,那么式(3)中当w=0w=0w=0时,新的导数与不加约束时的导数值是一样的,仍然不为0,说明添加l2l_2l2​约束之后,不能把最优解拉到w=0w=0w=0的位置。如下图所示,添加约束之后的曲线变为蓝线,最优解变成了黄色点,www的绝对值减少了,但是不为0

添加式(1)所示的l1l_1l1​约束之后,在www无限逼近于0的位置,导数如下:
(4){L′=L′(w)+λ≈(L(0)+L′(0)w+o(w))′+λ=L′(0)+λ+o′(w),w&gt;0L′=L′(w)−λ≈(L(0)+L′(0)w+o(w))′−λ=L′(0)−λ+o′(w),w&lt;0\left\{\begin{aligned} L' &amp;= L'(w) + \lambda \approx (L(0) + L'(0)w + o(w))' + \lambda = L'(0) + \lambda + o'(w), &amp;&amp; w&gt;0\\ L' &amp;= L'(w) - \lambda \approx (L(0) + L'(0)w + o(w))' - \lambda = L'(0) - \lambda + o'(w), &amp;&amp; w&lt;0\\ \end{aligned}\right. \tag{4}{L′L′​=L′(w)+λ≈(L(0)+L′(0)w+o(w))′+λ=L′(0)+λ+o′(w),=L′(w)−λ≈(L(0)+L′(0)w+o(w))′−λ=L′(0)−λ+o′(w),​​w>0w<0​(4)

可知,只要L′(0)+λ&gt;0L'(0)+\lambda&gt;0L′(0)+λ>0并且L′(0)−λ&lt;0L'(0)-\lambda&lt;0L′(0)−λ<0,也即:
λ&gt;∣L′(0)∣\lambda &gt; |L'(0)|λ>∣L′(0)∣
就可以使得w=0w=0w=0是LLL的一个极小值点,也就有可能是最优解。

如下图所示,添加约束之后的曲线是粉色线,最优解是红色点。

解释二

如下图所示,原问题是红色直线,L1L_1L1​约束的曲线是蓝色方框,l2l_2l2​约束的曲线是浅蓝色圆。

添加约束之后,新问题的最优解就是两条曲线相切的点。

可以发现,l1l_1l1​约束时,解会出现在端点处,得到了稀疏解。

l2l_2l2​约束时,圆与直线的切点是新的最优解,不是稀疏解。

解释三

参考链接如下:

l1 相比于 l2 为什么容易获得稀疏解? - 王赟 Maigo的回答 - 知乎
https://www.zhihu.com/question/37096933/answer/70426653

l1 相比于 l2 为什么容易获得稀疏解? - MadFrog的回答 - 知乎
https://www.zhihu.com/question/37096933/answer/70938890

l1 相比于 l2 为什么容易获得稀疏解? - 曹荣禹的回答 - 知乎
https://www.zhihu.com/question/37096933/answer/475278057

l1约束比l2约束更容易获得稀疏解相关推荐

  1. 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?

    相信大部分人都见到过,下面的这两张对比图,用来解释为什么L1正则化比L2正则化更容易得到稀疏解,然而很多人会纠结于"怎么证明相切点是在角点上?",呃,不必就纠结于此,请注意结论中的 ...

  2. 为什么L1惩罚L2惩罚更容易得到稀疏解

    在优化问题中,为什么L1惩罚L2惩罚更容易得到稀疏解 L 1 _1 1​惩罚与L 2 _2 2​惩罚是什么 下面从3个角度解释为什么L1惩罚L2惩罚更容易得到稀疏解 最优化问题的角度 梯度的角度 L ...

  3. 【笔记】范数:L1范数充当正则项,让模型获得稀疏解,解决过拟合问题

    注: 注: 注: 注: 正文:     Suppose you are the king of a kingdom that has a large population and an OK over ...

  4. l1正则化和l2正则化_l1 vs l2正则化以及何时使用

    l1正则化和l2正则化 I have read many articles on the topic to find out which is better out of two and what s ...

  5. L1正则能够得到稀疏解

    在复习到过拟合的解决方法的时候L1正则化和L2正则化都可以用于降低过拟合的风险,但是L1正则化还会带来一个额外的好处:它比L2正则化更容易获得稀疏解,也就是说它求得的w权重向量具有更少的非零分量.主要 ...

  6. L1正则化与L2正则化

    1.1-范数,2-范数 1-范数: 2-范数:2-范数就是通常意义下的距离 2.L1和L2正则化 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度 ...

  7. 为什么L1稀疏,L2平滑?

    问题 为什么L1正则化较容易产生稀疏解,而L2正则化较平缓稳定 介绍L1和L2   L1和L2正则常被用来解决过拟合问题.而L1正则也常被用来进行特征选择,主要原因在于L1正则化会使得较多的参数为0, ...

  8. 图解机器学习-l2约束的最小二乘学习法-matlab源码

    约束条件  L2约束的最小二乘学习法是以参数空间的圆点为圆心,在一定半径范围的圆内进行求解. 拉格朗日对偶问题: 原始问题:在约束条件    下求   引入拉格朗日函数:              称 ...

  9. 使用 TensorFlow 在卷积神经网络上实现 L2 约束的 softmax 损失函数

    作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 简书地址:https://www.jianshu.com/p/d6ac55e7b076 当我们要使用神经 ...

  10. L1正则化和L2正则化(从解空间角度)

    文章目录 一.什么是过拟合? 二.为什么模型会过拟合? 三.如何防止模型过拟合? 四.L1正则和L2正则 4.1 L1.L2的区别 4.2 为什么正则化能够防止过拟合? 4.3 为什么L1正则具有稀疏 ...

最新文章

  1. LabVIEW读写各类格式图像的方法(基础篇—1)
  2. 如何使用阿里云服务器
  3. AndroidStudio Gradle download
  4. [POJ 2329] Nearest number-2
  5. Linux中的用户和组
  6. SpringBoot+Mybatis多模块(module)项目搭建教程
  7. 【图像】直方图均衡化
  8. List,Set和Map详解及其区别和他们分别适用的场景
  9. SQL SERVER 中 GO 的用法2
  10. PHP生成有背景的二维码图,摘自网络
  11. linux通过光盘安装命令包,RHEL5通过光盘配置本地yum仓库及命令详解
  12. GhostXP SP3电脑城快速装机新年献礼版 【雪豹】
  13. SoundPool基本用法
  14. html修改img图片颜色,html中img图片设置透明度的方法
  15. C# Spire操作Word文档生成PDF或JPG格式
  16. Mac常见操作:写给媳妇的说明书
  17. 利用matlab命令窗口绘制simulink仿真示波器波形的方法,利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法...
  18. python中sklearn.datasets.make_blobs()函数用法
  19. 【从零开始vnpy量化投资】三. 手动安装vnpy环境
  20. xxx is out of date错误

热门文章

  1. 这是我见过最好的唐诗,而且通俗易懂2
  2. virtio-scsi和virtio-blk的理解
  3. 硬科技驱动西咸新区发展新引擎
  4. Unity3d第一人称视角如何设置
  5. coreldraw x8的序列号无效在哪里找?绿色安装教程
  6. codecademy SQL 编程系列一Introduction
  7. 你想靠AI实现永生吗?
  8. JAVA做SEO优化,CMS最有效的SEO优化8大方法
  9. web展示萤石云视频
  10. websphere多应用域名绑定