机器学习笔记-Ridge回归、Lasso回归和弹性⽹回归
Ridge回归、Lasso回归和弹性⽹回归
⽬录
1.
2.
3.
在处理较为复杂的数据的回归问题时,普通的线性回归算法通常会出现预测精度不够,如果模型中的特征之间有相关关系,就会增加模型的复杂程度。当数据集中的特征之间有较强的线性相关性时,即特征之间出现严重的多重共线性时,⽤普通最⼩⼆乘法估计模型参数,往往参数估计的⽅差太⼤,此时,求解出来的模型就很不稳定。在具体取值上与真值有较⼤的偏差,有时会出现与实际意义不符的正负号。同时,当样本特征很多,⽽样本数相对较少时,模型很容易陷⼊过拟合。此时权重系数就会⾮常的⼤。
岭回归与Lasso回归的出现是为了解决线性回归出现的过拟合以及在通过正规⽅程⽅法求解w的过程中出现的(X^TX)不可逆这两类问题的,这两种回归均通过在损失函数中引⼊正则化项来达到⽬的。
岭回归最先⽤来处理特征数多于样本数的情况,现在也⽤于在估计中加⼊偏差,从⽽得到更好的估计。这⾥通过引⼊\lambda限制了所
有w^2之和,通过引⼊该惩罚项,能够减弱不重要的参数,这个技术在统计学上也叫作缩减(shrinkage)。和岭回归类似,另⼀个缩减⽅法LASSO也加⼊了正则项对回归系数做了限定。
为了防⽌过拟合(w过⼤),在损失函数后添加复杂度惩罚因⼦,即正则项来防⽌过拟合。正则项可以使⽤L1正则化(Lasso)、L2正则化(Ridge),或结合L1和L2正则化(Elastic Net)。
1. Ridge回归
给定数据集D=\{(\pmb x_1,y_1),(\pmb x_2,y_2),\dots,(\pmb x_m,y_m)\},其中\pmb x_i = (x_{i1},x_{i2},\dots,x_{id}),y_i \in R。在线性回归模型中,我们以平⽅误差作为损失函数,则优化⽬标为
\smash{\min_{w}}\sum_{i=1}^m(y_i-w^Tx_i)^2 \tag{1}
为了缓解过拟合问题,可以对上式引⼊正则化项。若使⽤L_2范数正则化,则有
\smash{\min_{w}}\sum_{i=1}^m(y_i-w^Tx_i)^2 + \lambda \parallel w \parallel^2_2 \tag{2}
其中,正则化参数\lambda \gt 0。\lambda越⼤,则为了使J(w)最⼩化,系数w就越⼩。在线性回归中,式(2)被称为“岭回归”(Ridge regression),通过引⼊L_2范数正则化,确能显著降低过拟合的风险。
在学习线性回归模型的时候,我们通过最⼩⼆乘法求得模型系数的解析解为
w = (X^TX)^{-1}X^Ty \tag{3}
同样的,我们可以直接计算得到在加⼊L_2正则项时的模型系数:
\begin{aligned} J(w) &= (y-Xw)^T(y-Xw) + \lambda w^Tw \\ &=(y^T-w^TX^T)(y-Xw) + \lambda w^Tw\\ &= y^Ty - y^TXw - w^TX^Ty +
w^TX^TXw + \lambda w^Tw \end{aligned}
令\frac{\partial{J(w)}}{\partial w} = 0
0 - X^Ty-X^Ty-2X^TXw+2 \lambda w = 0
w = (X^TX+\lambda I)^{-1}X^Ty \tag{4}
单位矩阵I的对⾓线上全是1,像⼀条⼭岭⼀样,这也是岭回归名称的由来。
岭回归与线性回归的解析解
在线性回归中,要保证能够求得解析解,必须保证\pmb X^T \pmb X矩阵是满秩矩阵或正定矩阵,即\pmb X^T \pmb X可逆。但在实际的数据当中,⾃变量之间可能存在⾼度⾃相关性,或者⾃变量个数⼤于等于观测个数,就会导致系数⽆解或结果⽆效。为了能够克服这个问题,可以根据业务知识,将那些⾼⾃相关的变量进⾏删除;或者选⽤岭回归也能够避免\pmb X^T \pmb X的不可逆。
岭回归⼀般可以⽤来解决线性回归模型系数⽆解的两种情况,⼀⽅⾯是⾃变量间存在⾼度多重共线性,另⼀⽅⾯则是⾃变量个数⼤于等于观测个数。针对这两种情况,我们不妨设计两个矩阵,来计算⼀下\pmb X^T \pmb X的⾏列式。
第⼀种矩阵的第⼀列和低列存在两倍关系,即多重共线性
X =\begin{pmatrix} 1 & 2 & 2 \\ 2 & 5 & 4 \\ 2& 3 & 4 \end{pmatrix}
\begin{aligned}X^TX &= \begin{pmatrix} 1&2&2\\ 2&5&3\\ 2&4&4 \end{pmatrix}\begin{pmatrix} 1 & 2 & 2 \\ 2 & 5 & 4 \\ 2& 3 & 4
\end{pmatrix} \\ &=\begin{pmatrix} 9 & 18 & 18 \\ 18 & 38 & 36 \\ 18& 36 & 36 \end{pmatrix} \end{aligned}
计算⾏列式:|X^TX| = 0
第⼆种矩阵的列数⽐⾏数多,即⾮满秩
X =\begin{pmatrix} 1 & 2 & 5 \\ 6 & 1 & 3 \end{pmatrix}
\begin{aligned}X^TX &= \begin{pmatrix} 1 & 6 \\ 2 & 1 \\ 5& 3 \end{pmatrix}\begin{pmatrix} 1&2&5\\ 6&1&3 \end{pmatrix} \\ &=\begin{pmatrix} 37 & 8 & 23 \\ 8 & 5 & 13 \\ 23& 13 & 34 \end{pmatrix} \end{aligned}
计算⾏列式:|X^TX| = 0
所以,不管是⾼度多重共线性的矩阵还是列数多于观测数的矩阵,最终算出来的⾏列式都等于0或者是近似为0,类似于这样的矩阵,都会导致线性回归模型的系数⽆解或解⽆意义,因为矩阵⾏列式近似为0时,其逆将偏于⽆穷⼤,导致回归系数也被放⼤。
岭回归⽅法⾮常巧妙的化解了这个问题,即在X^TX的基础上加上⼀个较⼩的\lambda扰动,从⽽使得⾏列式不再为0。从令⼀个⾓度
看,X^TX是⼀个半正定矩阵,在加⼊\lambda I之后,可以看出(X^TX+\lambda I)是⼀个正定矩阵。
2. LASSO回归
如果将岭回归中的L_2范数正则化替换为L_1范数正则化,则有
\smash{\min_{w}}\sum_{i=1}^m(y_i-w^Tx_i)^2 + \lambda \parallel w \parallel_1 \tag{5}
其中,正则化参数\lambda \gt 0。在线性回归中,上式被称为LASSO(Least Absolute Selection Operator)。
那么,模型系数如何求解呢?这个问题由于正则化项在零点处不可求导,所以使⽤⾮梯度下降法进⾏求解,如坐标下降法、近端梯度下降或最⼩⾓回归法。
下⾯将使⽤进⾏求解(对于d维参数的可微凸函数J(w),如果存在\hat w使得J(w)在每个坐标轴上均达到最⼩值,则J(\hat w)就是点\hat w上的全局最⼩值),控制其他d-1个参数不变,对⽬标函数中的某⼀个w_j求偏导,以此类推对剩下的d-1个参数求偏导,最终令每个分量下的导函数为0,得到使⽬标函数达到全局最⼩的\hat w。
⾸先,我们可以将⽬标函数写成如下形式:
RSS(w)+\lambda \parallel w \parallel_1 = \sum_{i=1}^m(y_i-\sum_{j=1}^d w_jh_j(x_i))^2 + \lambda \sum_{j=1}^d|w_j| \tag{6}
其中RSS(w)表⽰误差平⽅和,下⾯分为两步求解:
1)RSS偏导
\begin{aligned} \cfrac{\partial}{\partial w_j}RSS(w) &= -2\sum_{i=1}^mh_j(x_i)(y_i-\sum_{j=1}^d w_jh_j(x_i)) \\ &= -2\sum_{i=1}^mh_j(x_i) (y_i-\sum_{k \ne j}w_kh_k(x_i) - w_jh_j(x_i)) \\ &= -2\sum_{i=1}^mh_j(x_i)(y_i-\sum_{k \ne j}w_kh_k(x_i)) +2w_j\sum_{i=1}^mh_j(x_i)^2
\end{aligned} \tag{7}
下⾯做⼀下标记化简,令正则化的回归分析
\rho_j = \sum_{i=1}^mh_j(x_i)(y_i-\sum_{k \ne j}w_kh_k(x_i)) \tag{8}
z_j = \sum_{i=1}^mh_j(x_i)^2 \tag{9}
于是将式(7)简化为:
\cfrac{\partial}{\partial w_j}RSS(w) = -2\rho_j + 2w_jz_j \tag{10}
2)正则项偏导
次梯度⽅法(subgradient method)是传统的梯度下降⽅法的拓展,⽤来处理不可导的凸函数。
定义:凸函数f:l\rightarrow R在点x_0的次导数,是实数c使得f(x)-f(x_0) \ge c(x-x_0),对于所有l内的x。我们可以证明,在点x_0的次导数的集合是⼀个⾮空闭区间[a,b],其中a和b是单侧极限,a=\lim_{x\rightarrow x_0-}\frac{f(x)-f(x_0)}{x-x_0},b=\lim_{x\rightarrow x_0+}\frac{f(x)-f(x_0)}{x-x_0},它们⼀定存在,且满⾜a\le b。所有次导数的集合[a,b]称为函数f在x_0的次微分。
例⼦:考虑凸函数f(x)=|x|。在原点的次导数是区间[-1,1]。x_0 \lt 0时,次导数的单元素集合\{-1\},⽽x_0 \gt 0时,次导数的单元素集合\{1\}。
所以,我们有
\lambda \cfrac{\partial}{\partial w_j}|w_j| = \begin{cases} -\lambda \qquad \quad w_j \lt 0\\ [-\lambda, \lambda] \quad \, w_j = 0\\ \lambda
\qquad \qquad w_j \gt 0 \end{cases} \tag{11}
3)整体偏导数
\begin{aligned} \cfrac{\partial}{\partial w_j}RSS(w) + \lambda \cfrac{\partial}{\partial w_j}|w_j| &= 2z_jw_j-2\rho_j+ \begin{cases} -\lambda
\qquad \quad w_j \lt 0\\ [-\lambda, \lambda] \quad \, w_j = 0\\ \lambda \qquad \qquad w_j \gt 0 \end{cases} \\ &= \begin{cases} 2z_jw_j-
2\rho_j -\lambda \qquad \quad w_j \lt 0\\ [-2\rho_j-\lambda, -2\rho_j+\lambda] \quad \, w_j = 0\\ 2z_jw_j-2\rho_j+\lambda \qquad \quad w_j \gt 0 \end{cases} \end{aligned} \tag{12}
想要获得最优解,令式(12)等于0,解得:
\hat w_j = \begin{cases} (\rho_j+\lambda /2)/z_j \qquad \rho_j \lt -\lambda /2 \\ 0 \qquad \qquad \qquad \quad \rho_j \in [-\lambda /2 , \lambda /2] \\ (\rho_j-\lambda /2)/z_j \qquad \rho_j \gt -\lambda /2 \end{cases} \tag{13}
3. 弹性⽹回归(Elastic Net)
Lasso回归虽然⼤⼤降低了预测⽅差,达到了系数收缩和变量选择的⽬的,但是也有⼀定的局限性。譬如
在Lasso回归求解路径中,对于m×d的设计矩阵来说,最多只能选出min(m,d)个变量。当d \gt m的时候,最多只能选出m个预测变量。
因此,对于d∼m的情况,Lasso⽅法不能够很好的选出真实的模型。
如果预测变量具有组效应,则⽤Lasso回归时,只能选出其中的⼀个预测变量。
对于通常的m \gt d的情形,如果预测变量中存在很强的共线性,Lasso的预测表现受控于岭回归。
基于以上⼏点Lasso回归的局限性,Zou和Hastie在2005年提出了弹性⽹回归⽅法,优化⽬标为:
\smash{\min_{w}}\sum_{i=1}^m(y_i-\sum_{j=1}^dx_{ij}w_j)^2 + \lambda\sum_{j=1}^d|w_j|+\lambda \sum_{j=1}^dw_j^2 \tag{14}
若令\lambda = \lambda_1 + \lambda_2, \alpha = \frac{\lambda}{\lambda_1 + \lambda_2},则优化⽬标可写成
\smash{\min_{w}}\sum_{i=1}^m(y_i-\sum_{j=1}^dx_{ij}w_j)^2 + \lambda\sum_{j=1}^d(\alpha|w_j|+(1-\alpha)w_j^2) \tag{14}
由此可知,弹性⽹的惩罚函数\lambda\sum_{j=1}^d(\alpha|w_j|+(1-\alpha)w_j^2)恰好为岭回归惩罚函数和Lasso惩罚函数的⼀个凸线性组合。当\alpha=0时,弹性⽹回归即为岭回归;当\alpha=1时,弹性⽹回归即为Lasso回归。因此,弹性⽹回归兼有Lasso回归和岭回归的优点,既能达到变量选择的⽬的,⼜具有很好的组效应。
更多弹性⽹回归的内容可以阅读Hui Zou和Trevor Hastie的论⽂《Zou, H.; Hastie, T. (2005). Regularization and Variable Selection via the Elastic Net. Journal of the Royal Statistical Society. Series B (statistical Methodology). 67 (2): 301–20.》
参考来源:
Processing math: 0%

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。