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

您所在的位置:网站首页 一元线性回归模型公式推导 深入理解线性回归与岭回归(数学推导)

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

2024-02-11 23:04| 来源: 网络整理| 查看: 265

线性回归推导

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

一. 回顾

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

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

  最常用的是普通最小二乘法( 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=(x1​,x2​……xN​)T=⎣⎢⎢⎢⎡​x11​x21​⋮xP1​​x12​x22​⋮xP2​​⋯⋯⋱⋯​x1N​x2N​⋮xPN​​⎦⎥⎥⎥⎤​

Y = [ y 1 y 2 ⋮ y N ] Y = \left[ \begin{matrix} y_{1} \\ y_{2} \\ \vdots \\ y_{N} \end{matrix} \right] Y=⎣⎢⎢⎢⎡​y1​y2​⋮yN​​⎦⎥⎥⎥⎤​

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=1∑n​∣∣wTxi​−yi​∣∣2   因为结果是一个实数,所以可以将式子直接改写为: 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=1∑n​(wTxi​−yi​)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=1∑n​(wTxi​−yi​)2=(wTx1​−y1​​wTx2​−y2​​⋯​wTxN​−yN​​)⎝⎜⎜⎜⎛​wTx1​−y1​wTx2​−y2​⋮wTxN​−yN​​⎠⎟⎟⎟⎞​=(wTx1​−y1​​wTx2​−y2​​⋯​wTxN​−yN​​)(wTx1​−y1​​wTx2​−y2​​⋯​wTxN​−yN​​)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}) (wTx1​−y1​​wTx2​−y2​​⋯​wTxN​−yN​​)=(wTx1​​wTx2​​⋯​wTxN​​)−(y1​​y2​​⋯​yN​​)=wT(x1​​x2​​⋯​xN​​)−(y1​​y2​​⋯​yN​​)   因为 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=(x1​​x2​​⋯​xN​​)TY=(y1​​y2​​⋯​yN​​)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)=(wTXT−YT)(wTXT−YT)T=(wTXT−YT)(Xw−Y)=wTXTXw−YTXw−wTXTY+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)=wTXTXw−2wTXTY+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=2XTXw−2YTX=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||1L2回归中: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=1∑n​(wTxi​−yi​)2+λwTw=(wTXT−YT)(Xw−Y)+λwTw=wTXTXw−YTXw−wTXTY+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)w−2wTXTY+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)w−2YTX=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.注 矩阵的转置 ( A B ) T = B T A T (AB)^T = B^TA^T (AB)T=BTAT矩阵求导

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3