线性回归与岭回归的公式推导

线性回归

何为线性?

给定由 d d d个属性描述的一个示例, x = ( x 1 ; x 2 ; ⋯   ; x d ) x=(x_1;x_2;\cdots;x_d) x=(x1;x2;;xd),其中 x i x_i xi x x x在第 i i i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
f ( x ) = w 1 x 1 + w 2 x 2 + ⋯ + w d x d + b f(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+b f(x)=w1x1+w2x2++wdxd+b

向量形式为
f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b

其中, w = ( w 1 ; w 2 ; ⋯   ; w d ) w=(w_1;w_2;\cdots;w_d) w=(w1;w2;;wd) w w w b b b学得之后,模型就得以确定。

何为线性回归?

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) } D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\} D={ (x1,y1),(x2,y2),,(xn,yn)},其中 x i = ( x i 1 ; x i 2 ; ⋯   ; x i d ) , y i ∈ R x_i=(x_{i1};x_{i2};\cdots;x_{id}),y_i\in{R} xi=(xi1;xi2;;xid),yiR。线性回归指试图学习一个线性模型 f ( x i ) = w T x i + b f(x_i)=w^Tx_i+b f(xi)=wTxi+b来准确预测实值输出标记,使得 f ( x i ) ≃ y i f(x_i)\simeq{y_i} f(xi)yi

先考虑一元线性回归,何为一元呢,指输入属性数目只有一个。此时,可忽略关于属性的下标,即 D = { ( x i , y i ) } i = 1 n D=\{(x_i,y_i)\}_{i=1}^n D={ (xi,yi)}i=1n

如何求解 w w w b b b呢?自然是最小二乘法
( w ∗ , b ∗ ) = arg min ⁡ ( w , b ) ∑ i n ( f ( x i ) − y i ) 2 = arg min ⁡ ( w , b ) ∑ i n ( y i − w x i − b ) 2 (w^*,b^*)=\argmin_{(w,b)}\sum_i^n(f(x_i)-y_i)^2=\argmin_{(w,b)}\sum_i^n(y_i-wx_i-b)^2 (w,b)=(w,b)argminin(f(xi)yi)2=(w,b)argminin(yiwxib)2

求解 w w w b b b使得 E ( w , b ) = ∑ i = i m ( y i − w x i − b ) 2 E_{(w,b)}=\sum_{i=i}^m(y_i-wx_i-b)^2 E(w,b)=i=im(yiwxib)2最小化的过程,称为线性回归模型的最小二乘“参数估计”。
∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial{E_{(w,b)}}}{\partial{w}}=2\bigg(w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i\bigg) wE(w,b)=2(wi=1mxi2i=1m(yib)xi)

∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial{E_{(w,b)}}}{\partial{b}}=2\bigg(mb-\sum_{i=1}^{m}(y_i-wx_i)\bigg) bE(w,b)=2(mbi=1m(yiwxi))

得到 w w w b b b的最优解的闭式解
w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w=\frac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\frac{1}{m}\Big(\sum_{i=1}^{m}x_i\Big)^2} w=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)

b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) b=m1i=1m(yiwxi)

其中, x ˉ = 1 m ∑ i = 1 m x i \bar{x}=\frac{1}{m}\sum_{i=1}^mx_i xˉ=m1i=1mxi x x x的均值。

接下来考虑多元线性回归。类似的使用最小二乘法来估计 w w w b b b

由于机器学习中向量一般为列向量,把数据集 D D D表示为一个 n × ( d + 1 ) n\times{(d+1)} n×(d+1)大小的矩阵 X X X,其中每行对应一个示例,每行前 d d d个元素对应示例的 d d d个属性值,每行最后一个元素恒为1。另外,将 w w w b b b吸收进向量形式 w ^ = ( w ; b ) \hat{w}=(w;b) w^=(w;b)
X = [ x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x n 1 x n 2 ⋯ x n d 1 ] n × ( d + 1 ) y = [ y 1 y 2 ⋮ y n ] n × 1 w ^ = [ w 1 w 2 ⋮ w d b ] ( d + 1 ) × 1 X= \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} &1\\ x_{21} & x_{22} & \cdots & x_{2d} &1\\ \vdots & \vdots & \ddots & \vdots& \vdots\\ x_{n1} & x_{n2} & \cdots & x_{nd} &1 \end{bmatrix}_{n\times{(d+1)}} y=\begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{n} \end{bmatrix}_{n\times1} \hat{w}= \begin{bmatrix} w_{1} \\ w_{2} \\ \vdots \\ w_{d} \\ b \end{bmatrix}_{(d+1)\times1} X=x11x21xn1x12x22xn2x1dx2dxnd111n×(d+1)y=y1y2ynn×1w^=w1w2wdb(d+1)×1

于是,根据最小二乘法求解 w ^ \hat{w} w^
w ^ ∗ = arg min ⁡ w ^ ( y − X w ^ ) T ( y − X w ^ ) \hat{w}^*=\argmin_{\hat{w}}(y-X\hat{w})^T(y-X\hat{w}) w^=w^argmin(yXw^)T(yXw^)

E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{w}}=(y-X\hat{w})^T(y-X\hat{w}) Ew^=(yXw^)T(yXw^),则
E w ^ = ( y − X w ^ ) T ( y − X w ^ ) = ( y T − w ^ T X T ) ( y − X w ^ ) = y T y − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ E_{\hat{w}}=(y-X\hat{w})^T(y-X\hat{w})=(y^T-\hat{w}^TX^T)(y-X\hat{w})=y^Ty-y^TX\hat{w}-\hat{w}^TX^Ty+\hat{w}^TX^TX\hat{w} Ew^=(yXw^)T(yXw^)=(yTw^TXT)(yXw^)=yTyyTXw^w^TXTy+w^TXTXw^

由于误差为实数,因此式中每个均为实数,而又因为
y T X w ^ = ( w ^ T X T y ) T y^TX\hat{w}=(\hat{w}^TX^Ty)^T yTXw^=(w^TXTy)T

最终,化简得
E w ^ = y T y − 2 w ^ T X T y + w ^ T X T X w ^ E_{\hat{w}}=y^Ty-2\hat{w}^TX^Ty+\hat{w}^TX^TX\hat{w} Ew^=yTy2w^TXTy+w^TXTXw^

w ^ \hat{w} w^求导,

d A T B A = B , d X T A X A = 2 A X \frac{dA^TB}{A}=B,\frac{dX^TAX}{A}=2AX AdATB=BAdXTAX=2AX

∂ E w ^ ∂ w ^ = 2 X T X w ^ − 2 X T y = 2 X T ( X w ^ − y ) = 0 \frac{\partial{E_{\hat{w}}}}{\partial{\hat{w}}}=2X^TX\hat{w}-2X^Ty=2X^T(X\hat{w}-y)=0 w^Ew^=2XTXw^2XTy=2XT(Xw^y)=0

求解时会设计逆矩阵的计算,因此当 X T X X^TX XTX为满秩矩阵或正定矩阵时,可得
w ^ ∗ = ( X T X ) − 1 X T y \hat{w}^*=(X^TX)^{-1}X^Ty w^=(XTX)1XTy

x ^ i ∗ = ( x i , 1 ) \hat{x}_i^*=(x_i,1) x^i=(xi,1),学习到的线性回归模型为
f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y f(\hat{x}_i)=\hat{x}_i^T(X^TX)^{-1}X^Ty f(x^i)=x^iT(XTX)1XTy

岭回归

在现实任务中, X T X X^TX XTX往往不是满秩矩阵,例如当样本的属性数目大于样本数,导致 X X X的列数大于行数, X T X X^TX XTX显然不满秩。不满秩则意味着有多个解 w ^ \hat{w} w^,选择哪一个解呢?常见做法是引入正则化项。
w ^ ∗ = arg min ⁡ w ^ [ ( y − X w ^ ) T ( y − X w ^ ) + λ P ( w ) ] \hat{w}^*=\argmin_{\hat{w}}[(y-X\hat{w})^T(y-X\hat{w})+\lambda{P(w)}] w^=w^argmin[(yXw^)T(yXw^)+λP(w)]

其中, P ( w ) P(w) P(w)为惩罚项, λ \lambda λ为惩罚系数。当 P ( w ) = ∥ w ^ ∥ 2 P(w)=\|\hat{w}\|^2 P(w)=w^2,则称为岭回归。

E w ^ = ( y − X w ^ ) T ( y − X w ^ ) + λ w ^ T w ^ E_{\hat{w}}=(y-X\hat{w})^T(y-X\hat{w})+\lambda{\hat{w}^T\hat{w}} Ew^=(yXw^)T(yXw^)+λw^Tw^,则
E w ^ = ( y T − w ^ T X T ) ( y − X w ^ ) + λ w ^ T w ^ = y T y − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ + λ w ^ T w ^ E_{\hat{w}}=(y^T-\hat{w}^TX^T)(y-X\hat{w})+\lambda{\hat{w}^T\hat{w}}=y^Ty-y^TX\hat{w}-\hat{w}^TX^Ty+\hat{w}^TX^TX\hat{w}+\lambda{\hat{w}^T\hat{w}} Ew^=(yTw^TXT)(yXw^)+λw^Tw^=yTyyTXw^w^TXTy+w^TXTXw^+λw^Tw^

进一步化简,得
E w ^ = w ^ T ( X T X + λ I ) w ^ − 2 w ^ T X T y + y T y E_{\hat{w}}=\hat{w}^T(X^TX+\lambda{I})\hat{w}-2\hat{w}^TX^Ty+y^Ty Ew^=w^T(XTX+λI)w^2w^TXTy+yTy

w ^ \hat{w} w^求导,
∂ E w ^ ∂ w ^ = 2 ( X T X + λ I ) w ^ − 2 X T y = 0 \frac{\partial{E_{\hat{w}}}}{\partial{\hat{w}}}=2(X^TX+\lambda{I})\hat{w}-2X^Ty=0 w^Ew^=2(XTX+λI)w^2XTy=0

最终解得,
w ^ ∗ = ( X T X + λ I ) − 1 X T y \hat{w}^*=(X^TX+\lambda{I})^{-1}X^Ty w^=(XTX+λI)1XTy

参考文献

深入理解线性回归与岭回归(数学推导)
《机器学习》—— 周志华

猜你喜欢

转载自blog.csdn.net/Star_ID/article/details/125010950