多重共线性的产生及其解决方法(岭回归和Lasso回归)

1.最小二乘法求解多元线性回归

多元线性回归表达式:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
可以写成:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
我们的目标就是求解w,如何求解w,就要用到损失函数,线性回归的损失函数为:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
即预测值和真实值之间的差异,我们希望越小越好。
多重共线性的产生及其解决方法(岭回归和Lasso回归)
我们往往称上述式子为RSS(Residual Sum of Squares 残差平方和)或者SSE(Sum of Sqaured Error,误差平方和),如何求解w就用到最小二乘法:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
多重共线性的产生及其解决方法(岭回归和Lasso回归)
这个时候我们要求w,就要保证上述x转置x的逆矩阵存在,而逆矩阵存在的充要条件就是特征矩阵不存在多重共线性。
也就是矩阵的行列式不为0,也就是要求矩阵为满秩矩阵
多重共线性的产生及其解决方法(岭回归和Lasso回归)
如上述A所示,第一行和第三行存在比例关系,我们称之为精确相关关系,而B虽然不是精确相关关系,但是相差无几,只差了0.002,我们称之为高度相关关系。两种关系会导致下面的错误:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
而如果是B的情况,或导致分母趋近于0,从而导致w趋近于无穷大,无法很好地拟合数据
综合上述情况为:
多重共线性的产生及其解决方法(岭回归和Lasso回归)

2.岭回归处理多重共线性

岭回归在多元线性回归的基础上损失函数加上了L2正则项:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
继续使用最小二乘法求解就会变成:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
其中alpha为正则化系数,假如X转置X不存在逆矩阵,那么加上一个alphaI就会变成一个存在逆矩阵的矩阵,也就消除了多重共线性。当然也会存在刚好假如alphaI使得变成非满秩矩阵,但是这种情况太少,降低了风险。
如此,多重共线性就被控制住了:最小二乘法一定有解,并且这个解可以通过 alpha来进行调节,以确保不会偏离太多。 当然了,alpha挤占了w中由原始的特征矩阵贡献的空间,因此 alpha如果太大,也会导致w的估计出现较大的偏移,无法正确 拟合数据的真实面貌。我们在使用中,需要找出a让模型效果变好的最佳取值。

3.Lasso回归处理多重共线性

Lasso回归跟上述不同,Lasso的损失函数使用L1正则化用于处理多重共线性,损失函数如下:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
同样使用最小二乘法求解:
多重共线性的产生及其解决方法(岭回归和Lasso回归)
我们同样要保证X转置X的逆矩阵存在,但是Lasso回归对其没有造成任何影响,就是Lasso无法处理特征之间的精确相关关系,Lasso并没有从根本上处理多重共线性问题,只是限制了多重共线性带来的影响。

总结

两个正则化都会压缩w的大小,会导致对标签贡献更小的特征的系数更加小,但是L2正则化只会将特征的系数尽量压缩到0,但是L1正则化主导稀疏性,会将特征系数压缩到0,这也是Lasso回归可以用于特征选择的原因。

L1正则化:会产生稀疏的权重矩阵,趋于产生少量的特征,其他特征都为0
L2正则化:会选择更多的特征,但是很多的特征系数会更趋于0