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

  统计/机器学习 监督式学习 特征选择    浏览次数: 1753
5

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


 

PG Two   2017-10-26 12:46



   3个回答 
13

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

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

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


gsscsd   2018-01-09 21:45

两位的解答很有帮助,非常感谢 - Mler-001   2018-02-25 13:17
12

上传一下,我最爱的图

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

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

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


弼码温   2018-01-15 12:37

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

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更倾向于稀疏解。


u_u   2018-08-09 11:19



  相关主题

lasso path是什么意思?   1回答

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

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

关于lasso和ridge的区别   1回答

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

什么时候该用LASSO,什么时候该用Ridge?   2回答

Lasso的自由度是多大?   1回答

LASSO是无偏的还是有偏的?   2回答

Ridge,Lasso,ElasticNet的目标函数分别是什么?   1回答

XGBoost为什么可以通过叶子节点的权值w的L2模平方来控制树的复杂度?   1回答

在分类问题中,有什么方法可以得到特征的重要性?   2回答

partial dependence是什么意思?   0回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!