l1约束比l2约束更容易获得稀疏解
本文内容受到了知乎相关问题的启发,本人做了一些整理和补充。
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>0L′=L′(w)−λ≈(L(0)+L′(0)w+o(w))′−λ=L′(0)−λ+o′(w),w<0\left\{\begin{aligned} L' &= L'(w) + \lambda \approx (L(0) + L'(0)w + o(w))' + \lambda = L'(0) + \lambda + o'(w), && w>0\\ L' &= L'(w) - \lambda \approx (L(0) + L'(0)w + o(w))' - \lambda = L'(0) - \lambda + o'(w), && w<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)+λ>0L'(0)+\lambda>0L′(0)+λ>0并且L′(0)−λ<0L'(0)-\lambda<0L′(0)−λ<0,也即:
λ>∣L′(0)∣\lambda > |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约束更容易获得稀疏解相关推荐
- 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?
相信大部分人都见到过,下面的这两张对比图,用来解释为什么L1正则化比L2正则化更容易得到稀疏解,然而很多人会纠结于"怎么证明相切点是在角点上?",呃,不必就纠结于此,请注意结论中的 ...
- 为什么L1惩罚L2惩罚更容易得到稀疏解
在优化问题中,为什么L1惩罚L2惩罚更容易得到稀疏解 L 1 _1 1惩罚与L 2 _2 2惩罚是什么 下面从3个角度解释为什么L1惩罚L2惩罚更容易得到稀疏解 最优化问题的角度 梯度的角度 L ...
- 【笔记】范数:L1范数充当正则项,让模型获得稀疏解,解决过拟合问题
注: 注: 注: 注: 正文: Suppose you are the king of a kingdom that has a large population and an OK over ...
- 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 ...
- L1正则能够得到稀疏解
在复习到过拟合的解决方法的时候L1正则化和L2正则化都可以用于降低过拟合的风险,但是L1正则化还会带来一个额外的好处:它比L2正则化更容易获得稀疏解,也就是说它求得的w权重向量具有更少的非零分量.主要 ...
- L1正则化与L2正则化
1.1-范数,2-范数 1-范数: 2-范数:2-范数就是通常意义下的距离 2.L1和L2正则化 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度 ...
- 为什么L1稀疏,L2平滑?
问题 为什么L1正则化较容易产生稀疏解,而L2正则化较平缓稳定 介绍L1和L2 L1和L2正则常被用来解决过拟合问题.而L1正则也常被用来进行特征选择,主要原因在于L1正则化会使得较多的参数为0, ...
- 图解机器学习-l2约束的最小二乘学习法-matlab源码
约束条件 L2约束的最小二乘学习法是以参数空间的圆点为圆心,在一定半径范围的圆内进行求解. 拉格朗日对偶问题: 原始问题:在约束条件 下求 引入拉格朗日函数: 称 ...
- 使用 TensorFlow 在卷积神经网络上实现 L2 约束的 softmax 损失函数
作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 简书地址:https://www.jianshu.com/p/d6ac55e7b076 当我们要使用神经 ...
- L1正则化和L2正则化(从解空间角度)
文章目录 一.什么是过拟合? 二.为什么模型会过拟合? 三.如何防止模型过拟合? 四.L1正则和L2正则 4.1 L1.L2的区别 4.2 为什么正则化能够防止过拟合? 4.3 为什么L1正则具有稀疏 ...
最新文章
- LabVIEW读写各类格式图像的方法(基础篇—1)
- 如何使用阿里云服务器
- AndroidStudio Gradle download
- [POJ 2329] Nearest number-2
- Linux中的用户和组
- SpringBoot+Mybatis多模块(module)项目搭建教程
- 【图像】直方图均衡化
- List,Set和Map详解及其区别和他们分别适用的场景
- SQL SERVER 中 GO 的用法2
- PHP生成有背景的二维码图,摘自网络
- linux通过光盘安装命令包,RHEL5通过光盘配置本地yum仓库及命令详解
- GhostXP SP3电脑城快速装机新年献礼版 【雪豹】
- SoundPool基本用法
- html修改img图片颜色,html中img图片设置透明度的方法
- C# Spire操作Word文档生成PDF或JPG格式
- Mac常见操作:写给媳妇的说明书
- 利用matlab命令窗口绘制simulink仿真示波器波形的方法,利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法...
- python中sklearn.datasets.make_blobs()函数用法
- 【从零开始vnpy量化投资】三. 手动安装vnpy环境
- xxx is out of date错误