为了限制模型参数的数值大小,就在模型原来的目标函数上加上一个惩罚项,这个过程叫做正则化(Regularization)。
- 如果惩罚项是参数的 l 2 l_2 l2范数,就是岭回归(Ridge Regression)
- 如果惩罚项是参数的 l 1 l_1 l1范数,就是套索回归(Lasso Regrission)
Ridge
是在结构风险最小化的正则化因子上使用模型参数向量的二阶范数形式,Lasso
使用的是一阶范数形式。虽然Ridge
可以将参数估计值向0进行收缩,但对于任何调优参数值,它都不能将系数取值变为严格的0。尽管某些参数估计值变得非常小以至于可以忽略,但事实上Ridge
并没有进行变量选择。这可能对预测精确度来说不是问题,但却对模型解释提出了挑战,尤其在变量个数大的时候。一种流行的用来替代Ridge
的模型是“最小绝对收缩与选择算子”模型,通常被称为Lasso
。Lasso
不仅将参数估计向0收缩,当调优参数足够大时,一些参数估计将直接缩减为零,这可以达到特征选择的作用。这样一来,Lasso
回归的结果更易于解释。
可能有人会问从Ridge
到Lasso
,只是罚函数从二阶范数变成一阶范数,为什么Lasso
就能够将参数估计收缩成0而Ridge
不能呢?要回答这个问题,我们先看下Lasso
和Ridge
分别对应的另一版本的等价优化方程。对于Lasso
而言,优化下面两个方程是等价的:
Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j x i j ) 2 + λ Σ j = 1 p ∣ β j ∣ = R S S + λ Σ j = 1 p ∣ β j ∣ m i n β { Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j x i j ) 2 } , Σ j = 1 p ∣ β j ∣ ≤ s (1) \Sigma_{i=1}^{n}(y_{i}-\beta_{0}-\Sigma_{j=1}^{p}\beta_{j}x_{ij})^{2}+\lambda\Sigma_{j=1}^{p}|\beta_{j}|=RSS+\lambda\Sigma_{j=1}^{p}|\beta_{j}|\\ \underset{\beta}{min}\left\{ \Sigma_{i=1}^{n}\left(y_{i}-\beta_{0}-\Sigma_{j=1}^{p}\beta_{j}x_{ij}\right)^{2}\right\} ,\ \Sigma_{j=1}^{p}|\beta_{j}|\leq s\tag{1} Σi=1n(yi−β0−Σj=1pβjxij)2+λΣj=1p∣βj∣=RSS+λΣj=1p∣βj∣βmin{Σi=1n(yi−β0−Σj=1pβjxij)2}, Σj=1p∣βj∣≤s(1)
也就是说,对每个调优参数
λ
\lambda
λ的取值,都存在相应的
s
s
s值,使得上面两个方程优化后得到的参数估计相同。类似的,对于Ridge
,下面两个方程等价:
Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j x i j ) 2 + λ Σ j = 1 p β j 2 = R S S + λ Σ j = 1 p β j 2 m i n β { Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j x i j ) 2 } , Σ j = 1 p β j 2 ≤ s (2) \Sigma_{i=1}^{n}(y_{i}-\beta_{0}-\Sigma_{j=1}^{p}\beta_{j}x_{ij})^{2}+\lambda\Sigma_{j=1}^{p}\beta_{j}^{2}=RSS+\lambda\Sigma_{j=1}^{p}\beta_{j}^{2}\\ \underset{\beta}{min}\left\{ \Sigma_{i=1}^{n}\left(y_{i}-\beta_{0}-\Sigma_{j=1}^{p}\beta_{j}x_{ij}\right)^{2}\right\} ,\ \Sigma_{j=1}^{p}\beta_{j}^{2}\leq s\tag{2} Σi=1n(yi−β0−Σj=1pβjxij)2+λΣj=1pβj2=RSS+λΣj=1pβj2βmin{Σi=1n(yi−β0−Σj=1pβjxij)2}, Σj=1pβj2≤s(2)
当
p
=
2
p=2
p=2时,Lasso
的参数估计是所有满足
∣
β
1
∣
+
∣
β
2
∣
≤
s
|\beta_1|+|\beta_2|≤s
∣β1∣+∣β2∣≤s的
β
1
\beta_1
β1和
β
2
\beta_2
β2取值中最小化RSS
的。Ridge
是估计所有满足
β
1
2
+
β
2
2
≤
s
\beta_1^2+β_2^2\leq s
β12+β22≤s的参数取值中最小化RSS
的。当
s
s
s很大时,相应的限制条件几乎是无效的,只要参数估计能够最小化RSS
即使绝对值很大也没有问题。只要
s
s
s所定义的区域包含最小二乘解,那么收缩方法得出的参数估计和一般最小二乘回归就相同。相反,如果
s
s
s很小,那么可能的参数取值范围就很有限。
下面看看看看Lasso
和Ridge
的不同之处
左边是Lasso
对应的误差等位线和正方形限制区域,右边是Ridge
对应的等位线和圆形限制区域。 上面图中围绕在
β
^
\hat{\beta}
β^周围的椭圆表示有相同RSS
的参数估计。随着椭圆的扩大,对应的RSS
增加。Lasso
和Ridge
的估计值就是在一定的限制区域下,椭圆不断扩张的过程中和限制区域的第一个接触点。大家想想看,如果有某个参数的估计是0的话,那么这个接触点该在哪里?一定在某条坐标轴上。由于Ridge
的限制区域是圆形,所以真正的触点无法落在坐标轴上,可能无限接近,但就是到不了。这就是求之而不可得的数学诠释。所以Ridge
无法将参数收缩成0,而Lasso
可以。
上面是2个参数的情况。如果参数个数是3的话,那么lasso的限制区域就是一个三位空间的多面体,而ridge的限制区域就是个球。参数个数再增加的话,就得发挥你自己想象力。希望大家理解Lasso
可以进行变量选择,而Ridge
不行的几何解释。
从代数角度思考,看下面的二维示意图,Lasso
的目标函数是非光滑的。我们知道对于非光滑的优化问题,它的最优解要么是在导数为0处,要么就是在不可导的地方,也就是各个角上。对于多维的Lasso
,所谓的“角”,就是那些很多特征的系数为0的地方。所以Lasso
会给出一个稀疏解,能有特征选择的作用。
以上内容主要整理自:
- 为什么LASSO可以做特征选择,而Ridge却不行?:http://sofasofa.io/forum_main_post.php?postid=1001156
- 为什么Lasso回归可以做特征选择(变量挑选)而岭回归做不到呢?:https://scientistcafe.com/2016/09/11/lassoridge