为什么LASSO可以做特征选择,而Ridge却不行?

  统计/机器学习 监督式学习 特征选择    浏览次数:14167        分享

LASSO和Ridge都是正则化的方法,为什么LASSO可以做特征选择,而Ridge却不行?


 

PG Two   2017-10-26 12:46



   3个回答 
20

上传一下,我最爱的图

上面是二维的示意图。左边是LASSO,右边是Ridge。

LASSO的目标函数是非光滑的。我们知道对于非光滑的优化问题,它的最优解要么是在导数为0处,要么就是在不可导的地方,也就是各个角上。对于多维的LASSO,所谓的“角”,就是那些很多特征的系数为0的地方。

所以LASSO会给出一个稀疏解,能有特征选择的作用。


SofaSofa数据科学社区DS面试题库 DS面经

弼码温   2018-01-15 12:37

两位的解答很有帮助,非常感谢 - Mler-001   2018-02-25 13:17
醍醐灌顶 - CSSCA   2018-02-26 12:30
15

LASSO是L1正则,Ridge是L2正则。而L1正则与L2正则的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

相比之下,L2正则就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1正则,而L2正则不行的原因了。

因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。


SofaSofa数据科学社区DS面试题库 DS面经

gsscsd   2018-01-09 21:45

两位的解答很有帮助,非常感谢 - Mler-001   2018-02-25 13:17
请问 “目标函数的测地线” 是什么意思 - Zero1   2019-04-10 09:41
应该不是“测地线”,而是“等值线”或者“等高线”。 - zl_pku   2019-04-10 12:33
6

Ridge(右)和Lasso(左图)分别可以视作在限制参数的$l_2$和$l_1$范数不超过$t$的前提下,最小化残差平方和,其中$t$是自己设置的一个约束变量。残差平方和的等高线是空间中的椭球,$l_2$和$l_1$范数不超过$t$的限制分别是一个球体内部和多面体内部。

几何上,球体更容易与椭球相切在各坐标均非0的位置。而多面体更容易和椭球在角点处相交。

所以Ridge的解倾向于各坐标都0,而Lasso的解更倾向于有一些坐标为0即稀疏。

直觉上,在稀疏解中寻找损失最小的这一问题等价于在均方误差的基础上增加非零元素个数这一惩罚项。非零元素个数等于每个元素是否非0的示性函数的总和。

代数上,考虑单个数据点$x_1=2,y=1$,截距为$a$,斜率为$b$。

均方误差的损失函数为$(1−a−2b)^2$,有无数个最小值点$(1−2b,b)$。若使用$l_1$正则化,也就是Lasso,相当于寻找使得$|1−2b|+|b|$最小的$b$,即$(0,12)$。若使用$l_2$正则化也就是Ridge,相当于寻找使得$(1−2b)^2+b^2$最小的$b$,即$(15,25)$。

由此简单的例子,可以说明Ridge更倾向于稠密解,Lasso更倾向于稀疏解。


SofaSofa数据科学社区DS面试题库 DS面经

u_u   2018-08-09 11:19

我也觉得等高线解释比直线好,当然,这位置都是随机的,也可能交点在±1的线段而不是轴上,这样的交点就不会实现稀疏而是都偏小,不知道我说的对不对 - 塔利班   2019-04-10 16:20


  相关讨论

请问 L1 到底为什么具有稀疏性

lasso path是什么意思?

post lasso是什么意思?

Lasso是对数值大的系数压缩大还是数值小的系数压缩大?

惩罚系数不变,特征变大,是不是更容易被Lasso去除?

关于lasso和ridge的区别

L2-norm为什么会让模型变得更加简单?

sklearn里的LassoCV和Lasso有什么区别?怎么用?

询问LASSO特征选择与频次图绘制

反复多次Lasso进行特征选择?

  随便看看

随机森林如何调参?

向量梯度下降优化的最佳步长?

怎么对2维的numpy array取整?

线性可分是什么意思?

spark里怎么refresh表?