机器学习之线性回归(算法详细推导)

标准线性回归

本质是已知m个 ( x i , y i ) (x_i,y_i) (xi,yi)需要拟合一条型如 y = ω x + b y=\omega x+b y=ωx+b的直线 l l l。则可根据满足 l l l尽可能接近 ( x i , y i ) (x_i,y_i) (xi,yi),根据点到直线距离公式 ∣ ω x i − y i + b ∣ ω 2 + 1 \frac{|\omega x_i-y_i+b|}{\sqrt{\omega^2+1}} ω2+1 ωxiyi+b建立目标函数

min ⁡ ω , b ∑ i = 1 m ∣ ω x i − y i + b ∣ ω 2 + 1 ⇒ 最 小 一 乘 min ⁡ ω , b ∑ i = 1 m ∣ ω x i − y i + b ∣ ⇒ 最 小 二 乘 min ⁡ ω , b ∑ i = 1 m ( ω x i − y i + b ) 2 \min\limits_{\omega,b}\sum_{i=1}^m\frac{|\omega x_i-y_i+b|}{\sqrt{\omega^2+1}} \Rightarrow最小一乘 \min\limits_{\omega,b}\sum_{i=1}^m|\omega x_i-y_i+b| \Rightarrow最小二乘 \min\limits_{\omega,b}\sum_{i=1}^m(\omega x_i-y_i+b)^2 ω,bmini=1mω2+1 ωxiyi+bω,bmini=1mωxiyi+bω,bmini=1m(ωxiyi+b)2

最小一乘法

min ⁡ ω , b ∑ i = 1 m ∣ ω x i − y i + b ∣ \min\limits_{\omega,b}\sum_{i=1}^m|\omega x_i-y_i+b| ω,bmini=1mωxiyi+b
W ^ \widehat{W} W 的最优解为 W ^ ∈ { w ∣ w x i − y i + b = 0 } \widehat{W}\in\{w|wx_i-y_i+b=0\} W {wwxiyi+b=0}

普通最小二乘法(OLS)

  • 目标函数为

min ⁡ ω , b ∑ i = 1 m ( ω x i − y i + b ) 2 = min ⁡ W ^ ( X W ^ − y ) T ( X W ^ − y ) \min\limits_{\omega,b}\sum_{i=1}^m(\omega x_i-y_i+b)^2 =\min\limits_{\widehat{W}}(X\widehat{W}-y)^T(X\widehat{W}-y) ω,bmini=1m(ωxiyi+b)2=W min(XW y)T(XW y)
定义 F ( W ^ ) = ( X W ^ − y ) T ( X W ^ − y ) F(\widehat{W})=(X\widehat{W}-y)^T(X\widehat{W}-y) F(W )=(XW y)T(XW y)

  • 损失函数为
    ∣ ∣ X W ^ − y ∣ ∣ 2 ||X\widehat{W}-y||^2 XW y2
    其中 W ^ = ( ω , b ) T , X = ( x 1 , x 2 , … , x m , 1 ) , y = ( y 1 , y 2 , … , y m ) \widehat{W}=(\omega,b)^T,X=(x_1,x_2,\dots,x_m,1),y=(y_1,y_2,\dots,y_m) W =(ω,b)T,X=(x1,x2,,xm,1),y=(y1,y2,,ym)
求解
  • 通过对 F ( W ^ ) F(\widehat{W}) F(W )求关于 W ^ \widehat{W} W 的一阶偏导为0,此时求得的 W ^ \widehat{W} W 驻点,可以得到 W ^ \widehat{W} W 可能最优解为 W ^ ∗ = ( X T X ) − 1 X T y \widehat{W}^*=(X^TX)^{-1}X^Ty W =(XTX)1XTy
  • 为了验证上面求得的 W ^ ∗ \widehat{W}^* W 是否是真正的最优解,也就是要验证该驻点是否是极小值点,因此需要对 F ( W ^ ) F(\widehat{W}) F(W )求关于 W ^ \widehat{W} W 的二阶偏导,如果结果为正定的,则说明该点为极小值点。
线性回归基本表达式

W ^ ∗ = ( X T X ) − 1 X T y \widehat{W}^*=(X^TX)^{-1}X^Ty W =(XTX)1XTy

  • 陷阱一: X T X X^TX XTX不可逆,也就是 X X X不是列满秩或存在列与列直线相关共线的情况。为解决 X T X X^TX XTX不可逆,我们可以通过改进最小二乘法中大损失函数来解决,也就是正则化处理。常用的改进方法有以下两种分别为岭回归和LASSO回归(Least absolution and selection operator)
  • 陷阱二:当特征维数过高 ( X ∈ R m × d ) (X\in R^{m\times d}) (XRm×d) ,其中𝑚 为样本个数,𝑑为特征维,求 ( X T X ) − 1 (X^TX)^{-1} (XTX)1的时间复杂度为 O ( d 3 ) O(d^3) O(d3)太复杂了,因此采用梯度下降法进行求解

局部加权线性回归(LWLR)

由于线性回归会出现欠拟合现象,因此引入局部加权线性回归

加权最小二乘法

  • 目标函数为
    min ⁡ ω , b ∑ i = 1 m w i ( ω x i − y i + b ) 2 \min\limits_{\omega,b}\sum_{i=1}^mw_i(\omega x_i-y_i+b)^2 ω,bmini=1mwi(ωxiyi+b)2
    定义 J ( W ^ ) = ∑ i = 1 m w i ( ω x i − y i + b ) 2 J(\widehat{W})=\sum_{i=1}^mw_i(\omega x_i-y_i+b)^2 J(W )=i=1mwi(ωxiyi+b)2

  • 损失函数为
    w ∣ ∣ X W ^ − y ∣ ∣ 2 w||X\widehat{W}-y||^2 wXW y2

其中 w w w是以 w i w_i wi为对角线上的值的对角矩阵,即权重矩阵

求解

J ( W ^ ) J(\widehat{W}) J(W )求关于 W ^ \widehat{W} W 的一阶偏导为0,得到 W ^ = ( X w X ) − 1 X T w y \widehat{W}=(XwX)^{-1}X^Twy W =(XwX)1XTwy,其中 w i = e x p ( − ( x i − x ) 2 2 σ 2 ) w_i=exp(-\frac{(x_i-x)^2}{2\sigma^2}) wi=exp(2σ2(xix)2)我们成其为 G a u s s i a n Gaussian Gaussian核,,可以看出 x x x越接近 x i x_i xi,则 w i w_i wi就会越大

σ \sigma σ的选取
  • σ \sigma σ越小,逼近效果越好,越容易产生过拟合
  • σ \sigma σ越大,逼近效果越差,越容易产生欠拟合
  • 则根据模型复杂度-误差图得到如下 σ \sigma σ取值方法
    image

岭回归

  • 主要思想:修改损失函数,添加惩罚项(L2正则化项 ),在最优解中 X T X X^TX XTX处添加单位向量,把不可逆变成可逆。这里通过引入 λ \lambda λ来限制了所有 ω \omega ω之和,通过引入该惩罚项,能够减少不重要的参数,这 个技术在统计学中也叫做缩减(shrinkage)
    X T X − > X T X + λ I X^TX->X^TX+\lambda I XTX>XTX+λI
  • 目标函数为
    min ⁡ W ^ = ∣ ∣ X W ^ − y ∣ ∣ 2 + λ ∣ ∣ W ^ ∣ ∣ 2 \min\limits_{\widehat{W}}=||X\widehat{W}-y||^2+\lambda||\widehat{W}||^2 W min=XW y2+λW 2
    其中 λ ∣ ∣ W ^ ∣ ∣ 2 \lambda||\widehat{W}||^2 λW 2为正则化项
  • 损失函数为
    ∣ ∣ X W ^ − y ∣ ∣ 2 + λ ∣ ∣ W ^ ∣ ∣ 2 ||X\widehat{W}-y||^2+\lambda||\widehat{W}||^2 XW y2+λW 2
  • 最优解
    w ^ λ ∗ = ( X T X + λ I ) − 1 X T y \widehat{w}_{\lambda}^*=(X^TX+\lambda I)^{-1}X^Ty w λ=(XTX+λI)1XTy
λ \lambda λ的选取
  • λ \lambda λ越大,容易导致 ∣ ∣ X W ^ − y ∣ ∣ 2 ||X\widehat{W}-y||^2 XW y2不太起作用,故容易产生欠拟合
  • λ \lambda λ越小,故容易产生过拟合
  • 首先抽一部分数据用于测试,剩余的作为训练集用于训练参数 ω \omega ω。训练完毕后在测试集上测试预测性能。通过选取不同的λ来重复上述测试过程,最终得到一个使预测误差最小的 λ \lambda λ

LASSO回归

  • 主要思想:进行特征选取。修改损失函数,添加L1惩罚项。【选特征,类似于AIC信息准则法】,选取X的子列矩阵 X ′ X' X使得 ( X ′ ) T ( X ′ ) (X')^T(X') (X)T(X)可逆
  • 目标函数为
    min ⁡ W ^ = 1 2 ∣ ∣ X W ^ − y ∣ ∣ 2 + λ ∣ W ^ ∣ \min\limits_{\widehat{W}}=\frac{1}{2}||X\widehat{W}-y||^2+\lambda|\widehat{W}| W min=21XW y2+λW
    其中 P λ ( ∣ W ^ ∣ ) P_{\lambda}(|\widehat{W}|) Pλ(W )为惩罚项
  • 损失函数为
    J ( W ^ ) = 1 2 ∣ ∣ X W ^ − y ∣ ∣ 2 + λ ∣ W ^ ∣ J(\widehat{W})=\frac{1}{2}||X\widehat{W}-y||^2+\lambda|\widehat{W}| J(W )=21XW y2+λW
求解

可通过降维到一维 1 2 ( W ^ − y ) 2 + λ ∣ W ^ ∣ \frac{1}{2}(\widehat{W}-y)^2+\lambda|\widehat{W}| 21(W y)2+λW 进行求解

故将目标函数化简为
min ⁡ W ^ ∈ R 1 2 ( W ^ − y ) 2 + λ ∣ W ^ ∣ \min\limits_{\widehat{W}\in R} \frac{1}{2}(\widehat{W}-y)^2+\lambda|\widehat{W}| W Rmin21(W y)2+λW
根据 W ^ \widehat{W} W 与0的关系分为以下两种情况

  • W ^ ≥ 0 \widehat{W}\geq 0 W 0
    J ( W ^ ) = 1 2 ( W ^ − y ) 2 + λ W ^ J(\widehat{W})=\frac{1}{2}(\widehat{W}-y)^2+\lambda\widehat{W} J(W )=21(W y)2+λW
    通过对 J ( W ^ ) J(\widehat{W}) J(W )求关于 W ^ \widehat{W} W 一次偏导为0得到
    W ^ = y − λ \widehat{W}=y-\lambda W =yλ
  • W ^ ≤ 0 \widehat{W}\leq 0 W 0
    J ( W ^ ) = 1 2 ( W ^ − y ) 2 − λ W ^ J(\widehat{W})=\frac{1}{2}(\widehat{W}-y)^2-\lambda\widehat{W} J(W )=21(W y)2λW
    通过对 J ( W ^ ) J(\widehat{W}) J(W )求关于 W ^ \widehat{W} W 一次偏导为0得到
    W ^ = y + λ \widehat{W}=y+\lambda W =y+λ
    故通过以上两种情况可以得到 y y y W ^ \widehat{W} W 的关系
    image
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值