多元线性回归算法: 线性回归Linear Regression、岭回归Ridge regression、Lasso回归、主成分回归PCR、偏最小二乘PLS

0. 问题描述

输入数据: X = ( x 1 , x 2 , . . . . , x m ) \mathbf{X} = (x_1, x_2,...., x_m) X=(x1,x2,....,xm), 相应标签 Y = ( y 1 , y 2 , . . . , y m ) \mathbf{Y} = (y_1, y_2, ..., y_m) Y=(y1,y2,...,ym).

目标:建立模型描述 X X X Y Y Y 的关系。

1. 线性回归,LR

模型:
Y = w X + b Y = wX + b Y=wX+b

使用平方误差作为模型损失函数
L = ∑ i = 1 m ( y i − x i T w ) L = \sum_{i = 1}^{m}(y_i - x_i^T w) L=i=1m(yixiTw)

矩阵表示:
L = ( y − X w ) T ( y − X w ) L = (y - Xw)^T(y - Xw) L=(yXw)T(yXw)

求解:

w求导,得到:
w ^ = ( X T X ) − 1 X T y \hat{w} = (X^TX)^{-1}X^Ty w^=(XTX)1XTy

2. 局部加权线性回归,LWLR

英文名称为:Locally Weighted Linear Regression.

在线性回归的基础上,引入一些偏差,从而降低预测的误差。

对预测的样本点赋予一定的权重。
LWLR使用“核”来对附近的点赋予更高的权重,常用高斯核:
w ( i , i ) = e x p ( ∣ x ( i ) − x ∣ − 2 k 2 ) w(i, i ) = exp(\frac{ |x^{(i) } - x | }{ - 2k^2 } ) w(i,i)=exp(2k2x(i)x)
k 为超参数。

模型损失函数

L = 1 2 [ W ( 1 ) ( y ( 1 ) − θ T x ( 1 ) ) 2 + W ( 2 ) ( y ( 2 ) − θ T x ( 2 ) ) 2 + ⋯ + W ( m ) ( y ( m ) − θ T x ( m ) ) 2 ] = 1 2 ∑ i = 1 m W ( i ) ( y ( i ) − θ T x ( i ) ) 2 \begin{aligned} \mathcal{L} &=\frac{1}{2}\left[W^{(1)}\left(y^{(1)}-\boldsymbol{\theta}^{T} \mathbf{x}^{(1)}\right)^{2}+W^{(2)}\left(y^{(2)}-\boldsymbol{\theta}^{T} \mathbf{x}^{(2)}\right)^{2}+\cdots+W^{(m)}\left(y^{(m)}-\boldsymbol{\theta}^{T} \mathbf{x}^{(m)}\right)^{2}\right] \\ &=\frac{1}{2} \sum_{i=1}^{m} W^{(i)}\left(y^{(i)}-\boldsymbol{\theta}^{T} \mathbf{x}^{(i)}\right)^{2} \end{aligned} L=21[W(1)(y(1)θTx(1))2+W(2)(y(2)θTx(2))2++W(m)(y(m)θTx(m))2]=21i=1mW(i)(y(i)θTx(i))2

其中, θ = ( w , b ) \boldsymbol \theta = (w, b) θ=(w,b)

求解的w :

w ^ = ( X T W X ) − 1 X T W y \hat{w} = (X^T W X)^{-1}X^TW y w^=(XTWX)1XTWy


当数据的特征比样本点多时, 计算 ( X T X ) (X^TX) (XTX)为非满秩矩阵,求逆会出错。岭回归和Lasso回归都是解决这个问题

3. 岭回归Ridge regression

岭回归让 ( X T X ) (X^TX) (XTX)加上 λ I \lambda I λI来使得矩阵非奇异。

回归系数变成:
w ^ = ( X T X + λ I ) − 1 X T y \hat{w} = (X^T X + \lambda I )^{-1} X^T y w^=(XTX+λI)1XTy

而其本质上,则是求解这个最优化问题:

在这里插入图片描述
其中, θ = w \boldsymbol \theta = w θ=w

注意到右侧添加了一个L2范数惩罚项。L2范数使得 θ \theta θ 的各分量不会过大(防止模型过拟合、降低模型复杂度),起到一个收缩作用;

岭回归一开始用来处理特征数比样本数多的情况,现在通过引入 λ \lambda λ来限制所有 w之和,通过加入该惩罚项来减少不重要的参数,在统计学叫缩减(shrinkage)。

4. Lasso 回归

Lasso回归使用 1 范数对 w 进行约束,约束条件为:

∑ k = 1 n ∣ w k ∣ ≤ λ \sum_{k = 1}^{n} | w_k | \leq \lambda k=1nwkλ

当λ很小的时候,一些系数会随着变为0,而岭回归却很难使得某个系数恰好缩减为0, Lasso容易获得稀疏解。

在这里插入图片描述

岭回归与Lasso回归异同

相同:
都可以用来解决标准线性回归的过拟合问题。

不同:

lasso 可以用来做特征选择,而 ridge 不行。或者说,lasso 更容易使得权重变为 0,而 ridge 更容易使得权重接近 0。
从贝叶斯角度看,lasso(L1 正则)等价于参数 w 的先验概率分布满足拉普拉斯分布,而 ridge(L2 正则)等价于参数 w 的先验概率分布满足高斯分布。


5. 主成分回归PCR

主成分回归分为两步,1是测定主成分数,幷由主成分分析(PCA)将矩阵X降维;2是降维的X矩阵再进行线性回归分析。

主成分是指,有原向量线性组合成的一个新向量,它用来表征原来变量时所产生的平方误差最小。

运用主成分分析,原变量矩阵 X 可表达成得分(即主成分)矩阵T,T由X在本征矢量 P 上的投影所得。

T = X P T = XP T=XP

多元线性回归应用了由 X 的列定义的全部空间,而主成分回归所占用的是一子空间。

T = X P Y = T B + E \begin{array}{c} T = XP\\ {Y=T B+E} \\ \end{array} T=XPY=TB+E
其中,解:
B = ( T ′ T ) − 1 T ′ Y {B=\left(T^{\prime} T\right)^{-1} T^{\prime} Y} B=(TT)1TY
主成分分析可以解决共线问题,去掉不太重要的主成分,减少随机误差产生的影响。

6. 偏最小二乘回归PLS

英文名:parital least squares.
PLS应用广泛的原因有:
-1. 模型的预报残差平方和较小。与线性回归,主成分回归等相比,具有较高的预报稳定性。
-2. PLS方法适合用于处理变量多而样本数又少的问题,高效地抽取信息。

原理:
输入矩阵 X, 目标矩阵Y,普通最小二乘法建立以下线性模型:
Y = X B + E Y = XB + E Y=XB+E
其中,B为回归系数矩阵,E为残差矩阵,并且:
B = ( X T X ) − 1 X T Y B = (X^T X)^{-1} X^T Y B=(XTX)1XTY

  • PLS 方法首先将矩阵 X 作双线性分解,即,
    X = T P + E ( 1 ) X = TP + E \quad(1) X=TP+E(1)
    其中,矩阵 T 含有两两正交的隐变量或得分矢量 t .
  • PLS 方法与主成分分析法不相同之处在于,主成分分析法要求分解后得到 t 的隐变量的方差最大。 PLS方法,需要用到矩阵 Y的信息,矩阵Y 也作双线性分解,即
    Y = U Q + F ( 2 ) Y = UQ + F \quad(2) Y=UQ+F(2)

其中,U矩阵包涵 Y 的隐变量 u,即 u 为矩阵Y中变量的线性组合, F 为残差阵。

  • PLS要求X分解得到的隐变量t与Y分解得到的隐变量u为最大重叠或相关性最大,因此,
    u = v t + e . u = vt + e. u=vt+e.
    其中,e 为残差矢量,系数根据最小二乘确定。

求解:
求解方法一:
(1)将 X 标准化并记为 E 0 = ( E 01 , E 02 , … , E 0 P ) n × p E_{0}=\left(E_{01}, E_{02}, \ldots, E_{0 P}\right)_{n \times p} E0=(E01,E02,,E0P)n×p,Y 标准化并记为 F 0 = ( F 01 , F 02 , … , F 0 q ) n × q F_{0}=\left(F_{01}, F_{02}, \ldots, F_{0 q}\right)_{n \times q} F0=(F01,F02,,F0q)n×q

(2)记 t 1 t_1 t1 E 0 E_0 E0 的第一个成分, t 1 = E 0 w 1 t_1 = E_0 w_1 t1=E0w1 w 1 w_1 w1 E 0 E_0 E0的第一个轴,它是一个单位向量,即 ∣ ∣ w 1 ∣ ∣ = 1 ||w_1|| = 1 w1=1.
(3)为了 t 1 t_1 t1, u 1 u_1 u1能分别代表 X, Y中的变异信息,以及要求 t 1 t_1 t1 u 1 u_1 u1 有最大的解释能力,即 t 1 t_1 t1, u 1 u_1 u1的相关度达到最大值,即
m a x    v a r ( t 1 ) m a x    v a r ( u 1 ) m a x    r ( t 1 , u 1 ) max \; var(t_1)\\ max \; var(u_1) \\ max \; r(t_1, u_1) maxvar(t1maxvar(u1)maxr(t1,u1)
综合起来,就是协方差最大,
m a x      C o v ( t 1 , u 1 ) = v a r ( t 1 ) v a r ( u 1 ) r ( t 1 , u 1 ) max \;\; Cov(t_1, u_1) = \sqrt{var(t_1)}\sqrt{var(u_1)}r(t_1, u_1) maxCov(t1,u1)=var(t1) var(u1) r(t1,u1)

正规的表达式:

max ⁡ < E 0 w 1 , F 0 c 1 > s.t { w 1 T w 1 = 1 c 1 T c 1 = 1 } \begin{array}{l} {\max <E_{0} w_{1}, F_{0} c_{1}>} \\ {\text {s.t}\left\{\begin{array}{l} {w_{1}^{T} w_{1}=1} \\ {c_{1}^{T} c_{1}=1} \end{array}\right\}} \end{array} max<E0w1,F0c1>s.t{w1Tw1=1c1Tc1=1}

∥ w 1 ∥ 2 = 1 \left\|w_{1}\right\|^{2}=1 w12=1 ∥ c 1 ∥ 2 = 1 \left\|c_{1}\right\|^{2}=1 c12=1 的约束条件下,求 w 1 T E 0 T F 0 c 1 w_{1}^{T} E_{0}^{T} F_{0} c_{1} w1TE0TF0c1 最大值。
采用拉格朗日算法,记

s = w 1 T E 0 T F 0 c 1 − λ 1 ( w 1 T w 1 − 1 ) − λ 2 ( c 1 T c 1 − 1 ) s=w_{1}^{T} E_{0}^{T} F_{0} c_{1}-\lambda_{1}\left(w_{1}^{T} w_{1}-1\right)-\lambda_{2}\left(c_{1}^{T} c_{1}-1\right) s=w1TE0TF0c1λ1(w1Tw11)λ2(c1Tc11)

求偏导,有
∂ s ∂ w 1 = E o T F o c 1 − 2 λ 1 w 1 = 0 ∂ s ∂ c 1 = F 0 T E 0 w 1 − 2 λ 2 c 1 = 0 ∂ s ∂ λ 1 = − ( w 1 T w 1 − 1 ) = 0 ∂ s ∂ λ 2 = − ( c 1 T c 1 − 1 ) = 0 \begin{aligned} &\frac{\partial s}{\partial w_{1}}=E_{\mathrm{o}}^{T} F_{\mathrm{o}} c_{1}-2 \lambda_{1} w_{1}=0\\ &\frac{\partial s}{\partial c_{1}}=F_{0}^{T} E_{0} w_{1}-2 \lambda_{2} c_{1}=0\\ &\frac{\partial s}{\partial \lambda_{1}}=-\left(w_{1}^{T} w_{1}-1\right)=0\\ &\frac{\partial s}{\partial \lambda_{2}}=-\left(c_{1}^{T} c_{1}-1\right)=0 \end{aligned} w1s=EoTFoc12λ1w1=0c1s=F0TE0w12λ2c1=0λ1s=(w1Tw11)=0λ2s=(c1Tc11)=0

推出, 2 λ 1 = 2 λ 2 = w 1 T E 0 T F 0 c 1 = c 1 T F 0 T E 0 w 1 = < E 0 w 1 , F 0 c 1 > \begin{aligned} &2 \lambda_{1}=2 \lambda_{2}=w_{1}^{T} E_{0}^{T} F_{0} c_{1}=c_{1}^{T} F_{0}^{T} E_{0} w_{1}=<E_{0} w_{1}, F_{0} c_{1}>\\ \end{aligned} 2λ1=2λ2=w1TE0TF0c1=c1TF0TE0w1=<E0w1,F0c1>

θ 1 = 2 λ 1 \theta_{1}=2 \lambda_{1} θ1=2λ1,
则, θ 1 \theta_1 θ1是优化问题的目标函数值。

并且有:
E 0 T F 0 F 0 T E 0 w 1 = θ 1 2 w 1 F 0 T E 0 E 0 T F 0 c 1 = θ 1 2 c 1 E_{0}^{T} F_{0} F_{0}^{T} E_{0} w_{1}=\theta_{1}^{2} w_{1}\\ F_{0}^{T} E_{0} E_{0}^{T} F_{0} c_{1}=\theta_{1}^{2} c_{1} E0TF0F0TE0w1=θ12w1F0TE0E0TF0c1=θ12c1
可见, w 1 w_1 w1 是矩阵 E 0 T F 0 F 0 T E 0 E_{0}^{T} F_{0} F_{0}^{T} E_{0} E0TF0F0TE0 的特征向量,对应的特征值为 θ 1 2 \theta_1^{2} θ12. θ 1 2 \theta_1^{2} θ12是目标函数值,要求取最大值,所以, w 1 w_1 w1 是对应 E 0 T F 0 F 0 T E 0 E_{0}^{T} F_{0} F_{0}^{T} E_{0} E0TF0F0TE0矩阵最大特征值 θ 1 2 \theta_1^{2} θ12的单位特征向量。
同理, c 1 c_1 c1 是对应 F 0 T E 0 E 0 T F 0 F_{0}^{T} E_{0} E_{0}^{T} F_{0} F0TE0E0TF0矩阵最大特征值 θ 1 2 \theta_1^{2} θ12的单位特征向量。
(4)求取 w 1 w_1 w1 c 1 c_1 c1 ,得到成分,

t 1 = E 0 w 1 u 1 = F 0 c 1 \begin{aligned} &t_{1}=E_{0} w_{1}\\ &u_{1}=F_{0} c_{1} \end{aligned} t1=E0w1u1=F0c1
(5)分别求 E 0 , F 0 E_0, F_0 E0,F0 t 1 , u 1 t_1,u_1 t1,u1的3个回归方程。

E o = t 1 p 1 T + E 1 F 0 = u 1 q 1 T + F 1 ∗ F o = t 1 r 1 T + F 1 \begin{aligned} &E_{\mathrm{o}}=t_{1} p_{1}^{T}+E_{1}\\ &F_{0}=u_{1} q_{1}^{T}+F_{1}^{*}\\ &F_{\mathrm{o}}=t_{1} r_{1}^{T}+F_{1} \end{aligned} Eo=t1p1T+E1F0=u1q1T+F1Fo=t1r1T+F1
其中,回归系数向量是,
p 1 = E 0 T t 1 ∥ t 1 ∥ 2 q 1 = F 0 T u 1 ∥ u 1 ∥ 2 r 1 = F 0 T t 1 ∥ t 1 ∥ 2 \begin{aligned} &p_{1}=\frac{E_{0}^{T} t_{1}}{\left\|t_{1}\right\|^{2}}\\ &q_{1}=\frac{F_{0}^{T} u_{1}}{\left\|u_{1}\right\|^{2}}\\ &r_{1}=\frac{F_{0}^{T} t_{1}}{\left\|t_{1}\right\|^{2}} \end{aligned} p1=t12E0Tt1q1=u12F0Tu1r1=t12F0Tt1
其中, E 1 F 1 ∗ F 1 E_{1} \quad F_{1}^{*} \quad F_{1} E1F1F1是3个回归方程的残差矩阵。

(6)用残差矩阵 E 1 , F 1 E_1,F_1 E1,F1取代 E 0 , F 0 E_0, F_0 E0,F0,然后求第2个轴 w 2 , c 2 w_2,c_2 w2,c2以及第2个成分 t 2 , u 2 t_2, u_2 t2,u2

t 2 = E 1 w 2 u 2 = F 1 c 2 θ 2 = < t 2 , u 2 > = w 2 T E 1 T F 1 c 2 \begin{aligned} &t_{2}=E_{1} w_{2}\\ &u_{2}=F_{1} c_{2}\\ &\theta_{2}=<t_{2}, u_{2}>=w_{2}^{T} E_{1}^{T} F_{1} c_{2} \end{aligned} t2=E1w2u2=F1c2θ2=<t2,u2>=w2TE1TF1c2

不断计算下去。
(7)如果 X 的秩是A,则有:
E 0 = t 1 p 1 T + t 2 p 2 T + … + t A p A T F 0 = t 1 r 1 T + t 2 r 2 T + … + t A r A T + F A \begin{aligned} &E_{0}=t_{1} p_{1}^{T}+t_{2} p_{2}^{T}+\ldots+t_{A} p_{A}^{T}\\ &F_{0}=t_{1} r_{1}^{T}+t_{2} r_{2}^{T}+\ldots+t_{A} r_{A}^{T}+F_{A} \end{aligned} E0=t1p1T+t2p2T++tApATF0=t1r1T+t2r2T++tArAT+FA

PLS 和PCA的比较:
在这里插入图片描述


最近开通了个公众号,主要分享机器学习相关内容,推荐系统,风控等算法相关的内容,感兴趣的伙伴可以关注下。
在这里插入图片描述
公众号相关的学习资料会上传到QQ群596506387,欢迎关注。


参考:

  1. PCA回归实现myself
  2. 多元线性回归 文库
  3. 多元线性回归中多重共线性问题的解决办法探讨_张凤莲.caj;
  4. 【机器学习-回归】岭回归与Lasso回归;
  5. 机器学习 - 局部加权线性回归;
  6. 机器学习算法实践-岭回归和LASSO;
  7. 线性回归——lasso回归和岭回归(ridge regression);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值