数学建模学习:岭回归和lasso回归

Posted 当挪威森林遇上银渐层

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学建模学习:岭回归和lasso回归相关的知识,希望对你有一定的参考价值。

线性回归

在多元线性回归模型中,估计回归系数使用的是OLS,并在最后讨论异方差和多重共线性对模型的影响。事实上,回归中自变量的选择大有门道,变量过多可能会导致多重共线性问题导致回归系数不显著,甚至造成OLS估计失效。

岭回归和lasso回归在OLS回归模型的损失函数上加上了不同的惩罚项,该惩罚项由回归系数的函数组成,一方面,加入的惩罚项能够识别出模型中不重要的变量,对模型起到简化作用,可以看作逐步回归法的升级版,另一方面,加入的惩罚项让模型变得可估计,即使原数据矩阵不满足列满秩。

线性回归模型

在标准线性回归中,通过最小化真实值( y i y_i yi)和预测值( y ^ i \\haty_i y^i)的平方误差来训练模型,这个平方误差值也被称为残差平方和(RSS, Residual Sum Of Squares):
R S S = ∑ i = 1 n ( y i − y ^ i ) 2 R S S=\\sum_i=1^n\\left(y_i-\\haty_i\\right)^2 RSS=i=1n(yiy^i)2
最小二乘法即最小残差平方和,为:
J β ( β ) = arg ⁡ min ⁡ β ∑ i = 1 p ( y i − x i β i − β 0 ) 2 J_\\beta(\\beta)=\\underset\\beta\\arg \\min \\sum_i=1^p\\left(y_i-x_i \\beta_i-\\beta_0\\right)^2 Jβ(β)=βargmini=1p(yixiβiβ0)2
将其化为矩阵形式:
J β ( β ) = arg ⁡ min ⁡ β ( Y − X β ) T ( Y − X β ) J_\\beta(\\beta)=\\underset\\beta\\arg \\min (Y-X \\beta)^T(Y-X \\beta) Jβ(β)=βargmin(YXβ)T(YXβ)
求解为:
β = ( X T X ) − 1 X T Y \\beta=\\left(X^T X\\right)^-1 X^T Y β=(XTX)1XTY
由于求解 β \\beta β,需要假设矩阵 X T X X^T X XTX是满秩矩阵
然而 X T X X^T X XTX往往不是满秩矩阵或者某些列之间的线性相关性比较大,例如会出现变量数(属性数)远超过样例数,导致 X X X的列数多于行数, X T X X^T X XTX显然不满秩,可解出多个 β \\beta β,使得均方误差最小化,即在多元回归中,特征之间会出现多重共线问题,使用最小二乘法估计系数会出现系数不稳定问题,缺乏稳定性和可靠性。

岭回归

在矩阵 X T X X^T X XTX的对角线元素加一个小的常数值 λ \\lambda λ,取其逆求得系数:
β ^ ridge  = ( X T X + λ I n ) − 1 X T Y \\hat\\beta_\\text ridge =\\left(X^T X+\\lambda I_n\\right)^-1 X^T Y β^ridge =(XTX+λIn)1XTY
I n I_n In为单位矩阵,对角线全为1,类似山岭
λ \\lambda λ是岭系数,改变其数值可以改变单位矩阵对角线的值

随后代价函数 J β ( β ) J_\\beta(\\beta) Jβ(β) R S S RSS RSS基础上加入对系数值的惩罚项:
J β ( β ) = R S S + λ ∑ j = 0 n β j 2 = R S S + λ ∥ β ∥ 2 \\beginaligned J_\\beta(\\beta) &=R S S+\\lambda \\sum_j=0^n \\beta_j^2 \\\\ &=R S S+\\lambda\\|\\beta\\|^2 \\endaligned Jβ(β)=RSS+λj=0nβj2=RSS+λβ2
矩阵形式为:
J β ( β ) = ∑ i = 1 p ( y i − X i β ) 2 + λ ∑ j = 0 n β j 2 = ∑ i = 1 p ( y i − X i β ) + λ ∥ β ∥ 2 \\beginaligned J_\\beta(\\beta) &=\\sum_i=1^p\\left(y_i-X_i \\beta\\right)^2+\\lambda \\sum_j=0^n \\beta_j^2 \\\\ &=\\sum_i=1^p\\left(y_i-X_i \\beta\\right)+\\lambda\\|\\beta\\|^2 \\endaligned Jβ(β)=i=1p(yiXiβ)2+λj=0nβj2=i=1p(yiXiβ)+λβ2
λ \\lambda λ是超参数,用来控制对 β J \\beta_J βJ的惩罚强度, λ \\lambda λ值越大,生成的模型就越简单

λ

以上是关于数学建模学习:岭回归和lasso回归的主要内容,如果未能解决你的问题,请参考以下文章

岭回归和Lasso回归有啥区别?

机器学习岭回归和LASSO回归详解以及相关计算实例-加利福尼亚的房价数据集红酒数据集

机器学习之线性回归岭回归Lasso回归

用Python实现岭回归算法与Lasso回归算法并处理Iris数据集

岭回归与lasso回归算法

岭回归与lasso回归算法