数学建模学习:岭回归和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=1∑n(yi−y^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=1∑p(yi−xiβ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(Y−Xβ)T(Y−Xβ)
求解为:
β
=
(
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=0∑nβ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=1∑p(yi−Xiβ)2+λj=0∑nβj2=i=1∑p(yi−Xiβ)+λ∥β∥2
λ
\\lambda
λ是超参数,用来控制对
β
J
\\beta_J
βJ的惩罚强度,
λ
\\lambda
λ值越大,生成的模型就越简单