深入理解线性回归与岭回归(数学推导)

线性回归推导

视频参考:白板推导
项目实战:线性回归、Lasso回归、岭回归预测北京PM2.5浓度

一. 回顾

  对于一元线性回归模型, 假设从总体中获取了n组观察值(X1,Y1),(X2,Y2), …,(Xn,Yn)。对于平面中的这n个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。 选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择:

  1. 用“残差和最小”确定直线位置是一个途径。但很快发现计算“残差和”存在相互抵消的问题。
  2. 用“残差绝对值和最小”确定直线位置也是一个途径。但绝对值的计算比较麻烦。
  3. 最小二乘法的原则是以“残差平方和最小”确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。

  最常用的是普通最小二乘法( Ordinary Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。(Q为残差平方和)- 即采用平方损失函数.

二.最小二乘法推导

2.1.前置条件:

对于N个数据集
D = ( x 1 , y 1 ) , ( ( x 2 , y 2 ) ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ( x N , y N ) D = {(x_{1},y_{1}),((x_{2},y_{2}) ······(x_{N},y_{N})} D=(x1,y1),((x2,y2)(xN,yN)
其中xi ∈ℝp,yi∈ℝ,i =1,2,3,……N

  在机器学习中常把向量定义为列向量,所以我们令feature值为X,label值为Y,即:
X = ( x 1 , x 2 … … x N ) T = [ x 11 x 12 ⋯ x 1 N x 21 x 22 ⋯ x 2 N ⋮ ⋮ ⋱ ⋮ x P 1 x P 2 ⋯ x P N ] X = ( x_ {1},x_ {2}……x_ {N})^T= \left[ \begin{matrix} x_ {11} & x_ {12} & \cdots & x_ {1N} \\ x_ {21} & x_ {22} & \cdots & x_ {2N} \\ \vdots & \vdots & \ddots & \vdots \\ x_ {P1} & x_ {P2} & \cdots & x_ {PN} \\ \end{matrix} \right] X=(x1x2xN)T=x11x21xP1x12x22xP2x1Nx2NxPN

Y = [ y 1 y 2 ⋮ y N ] Y = \left[ \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{N} \end{matrix} \right] Y=y1y2yN

2.1.最小二乘法就损失函数极小值:

  构建线性模型:
y ⃗ = w T x \vec{ y } = w^Tx y =wTx

  则对于损失函数
L ( w ) = ∑ i = 1 n ∣ ∣ w T x i − y i ∣ ∣ 2 L(w) = \sum_{i=1}^n ||w^Tx_{i} - y_{i}||^2 L(w)=i=1nwTxiyi2
  因为结果是一个实数,所以可以将式子直接改写为:
L ( w ) = ∑ i = 1 n ( w T x i − y i ) 2 L(w) = \sum_{i=1}^n (w^Tx_{i} - y_{i})^2 L(w)=i=1n(wTxiyi)2
  则:
L ( w ) = ∑ i = 1 n ( w T x i − y i ) 2 = ( w T x 1 − y 1 w T x 2 − y 2 ⋯ w T x N − y N ) ( w T x 1 − y 1 w T x 2 − y 2 ⋮ w T x N − y N ) = ( w T x 1 − y 1 w T x 2 − y 2 ⋯ w T x N − y N ) ( w T x 1 − y 1 w T x 2 − y 2 ⋯ w T x N − y N ) T L(w) = \sum_{i=1}^n (w^Tx_{i} - y_{i})^2 \\= (\begin{matrix} w^Tx_{1} - y_{1} & w^Tx_{2} - y_{2} & \cdots & w^Tx_{N} - y_{N}\end{matrix})\left( \begin{matrix} w^Tx_{1} - y_{1} \\ w^Tx_{2} - y_{2} \\ \vdots \\ w^Tx_{N} - y_{N} \end{matrix} \right) \\=(\begin{matrix} w^Tx_{1} - y_{1} & w^Tx_{2} - y_{2} & \cdots & w^Tx_{N} - y_{N}\end{matrix})(\begin{matrix} w^Tx_{1} - y_{1} & w^Tx_{2} - y_{2} & \cdots & w^Tx_{N} - y_{N}\end{matrix})^T L(w)=i=1n(wTxiyi)2=(wTx1y1wTx2y2wTxNyN)wTx1y1wTx2y2wTxNyN=(wTx1y1wTx2y2wTxNyN)(wTx1y1wTx2y2wTxNyN)T
  括号中的式子可以看做是两个向量相减:
( w T x 1 − y 1 w T x 2 − y 2 ⋯ w T x N − y N ) = ( w T x 1 w T x 2 ⋯ w T x N ) − ( y 1 y 2 ⋯ y N ) = w T ( x 1 x 2 ⋯ x N ) − ( y 1 y 2 ⋯ y N ) (\begin{matrix} w^Tx_{1} - y_{1} & w^Tx_{2} - y_{2} & \cdots & w^Tx_{N} - y_{N}\end{matrix}) \\=(\begin{matrix} w^Tx_{1} & w^Tx_{2} & \cdots & w^Tx_{N} \end{matrix}) - (\begin{matrix} y_{1} &y_{2} & \cdots &y_{N}\end{matrix}) \\=w^T(\begin{matrix} x_{1} & x_{2}& \cdots & x_{N}\end{matrix}) - (\begin{matrix} y_{1} &y_{2} & \cdots &y_{N}\end{matrix}) (wTx1y1wTx2y2wTxNyN)=(wTx1wTx2wTxN)(y1y2yN)=wT(x1x2xN)(y1y2yN)
  因为
X = ( x 1 x 2 ⋯ x N ) T Y = ( y 1 y 2 ⋯ y N ) T X = (\begin{matrix} x_{1} & x_{2}& \cdots & x_{N}\end{matrix}) ^T\\ Y = (\begin{matrix} y_{1} &y_{2} & \cdots &y_{N}\end{matrix}) ^T X=(x1x2xN)TY=(y1y2yN)T
  所以损失函数可以写成:
L ( w ) = ( w T X T − Y T ) ( w T X T − Y T ) T = ( w T X T − Y T ) ( X w − Y ) = w T X T X w − Y T X w − w T X T Y + Y T Y L(w) = (w^TX^T-Y^T)(w^TX^T-Y^T)^T \\ = (w^TX^T-Y^T)(Xw-Y) \\ = w^TX^TXw - Y^TXw-w^TX^TY+Y^TY L(w)=(wTXTYT)(wTXTYT)T=(wTXTYT)(XwY)=wTXTXwYTXwwTXTY+YTY
  因为损失函数是一个实数,所以式中的每一个函数皆为实数,所以

∣ Y T X w ∣ = ∣ ( Y T X w ) T ∣ = ∣ w T X T Y ∣ |Y^TXw| = |(Y^TXw)^T| = |w^TX^TY| YTXw=(YTXw)T=wTXTY
  所以最终损失函数:
L ( w ) = w T X T X w − 2 w T X T Y + Y T Y L(w) = w^TX^TXw - 2w^TX^TY+Y^TY L(w)=wTXTXw2wTXTY+YTY
  令损失函数最小求得的w就是我们的目标,即损失函数对w求导为0:
d L ( w ) / d w = 2 X T X w − 2 Y T X = 0 \text{d}L(w)/dw = 2X^TXw-2Y^TX = 0 dL(w)/dw=2XTXw2YTX=0
  求得
w = ( X T X ) − 1 X T Y w = (X^TX)^{-1}X^TY w=(XTX)1XTY
  这就是最小二乘法的解法,就是求得损失函数的极值点。

3.岭回归推导

  引入岭回归是因为最小二乘法中是假定XTX是一定可逆的。但是当数据量过少或者特征存在多重共线性时,XTX可能不可逆。所以引入岭回归处理。岭回归的本质是正则化,是为了防止模型过拟合而加上一个惩罚系数。

正则化框架:
a r g m i n [ L ( w ) + λ P ( w ) ] argmin[L(w) + λP(w)] argmin[L(w)+λP(w)]
其中P(w)就是惩罚项。

正则化分为L1回归和L2回归。

  • Li回归中:P(w) = ||w||1
  • L2回归中:P(w) = ||w||22= wTw

则:
J ( w ) = ∑ i = 1 n ( w T x i − y i ) 2 + λ w T w = ( w T X T − Y T ) ( X w − Y ) + λ w T w = w T X T X w − Y T X w − w T X T Y + Y T Y + λ w T w J(w) = \sum_{i=1}^n (w^Tx_{i} - y_{i})^2 + λw^Tw \\ = (w^TX^T-Y^T)(Xw-Y)+ λw^Tw\\= w^TX^TXw - Y^TXw-w^TX^TY+Y^TY + λw^Tw J(w)=i=1n(wTxiyi)2+λwTw=(wTXTYT)(XwY)+λwTw=wTXTXwYTXwwTXTY+YTY+λwTw
即:(矩阵求导与最小二乘法相同)
J ( w ) = w T ( X T X + λ I ) w − 2 w T X T Y + Y T Y J(w) = w^T(X^TX+λI)w - 2w^TX^TY+Y^TY J(w)=wT(XTX+λI)w2wTXTY+YTY

w ⃗ = a r g m i n ( J ( w ) ) \vec{ w } =argmin(J(w)) w =argmin(J(w))
J(w)对w求导:
d J ( w ) / d w = 2 ( X T X + λ I ) w − 2 Y T X = 0 \text{d}J(w)/dw = 2(X^TX+λI)w-2Y^TX = 0 dJ(w)/dw=2(XTX+λI)w2YTX=0
解得:
w ⃗ = w = ( X T X + λ I ) − 1 X T Y \vec{ w } =w = (X^TX+λI)^{-1}X^TY w =w=(XTX+λI)1XTY

4.注

  1. 矩阵的转置
    ( A B ) T = B T A T (AB)^T = B^TA^T (AB)T=BTAT
  2. 矩阵求导

在这里插入图片描述

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值