LASSO和Ridge都是正则化的方法,为什么LASSO可以做特征选择,而Ridge却不行?
3个回答
上传一下,我最爱的图
上面是二维的示意图。左边是LASSO,右边是Ridge。
LASSO的目标函数是非光滑的。我们知道对于非光滑的优化问题,它的最优解要么是在导数为0处,要么就是在不可导的地方,也就是各个角上。对于多维的LASSO,所谓的“角”,就是那些很多特征的系数为0的地方。
所以LASSO会给出一个稀疏解,能有特征选择的作用。
LASSO是L1正则,Ridge是L2正则。而L1正则与L2正则的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。
相比之下,L2正则就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1正则,而L2正则不行的原因了。
因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。
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更倾向于稀疏解。