线性回归之最小二乘法

线性回归之最小二乘法

最小二乘法的矩阵表达

【符号约定】:训练数据集 T = { ( x 1 ⃗ , y 1 ) , ( x 2 ⃗ , y 2 ) . . . ( x N ⃗ , y N ) } , x i ⃗ ∈ R p , y i ∈ { − 1 , 1 } , i = 1 , 2 , 3 , . . . , N T=\{ (\vec{x_1},y_1),(\vec{x_2},y_2)...(\vec{x_N},y_N)\},\vec{x_i}\in{R^p},y_i\in{\{-1,1\}},i=1,2,3,...,N T={(x1 ,y1),(x2 ,y2)...(xN ,yN)},xi Rp,yi{1,1},i=1,2,3...N

X = ( x 1 , x 2 , x 3 , . . . , x N ) T = ( x 1 T x 2 T . . x N T ) = ( x 1 , 1 x 1 , 2 . . x 1 , p x 2 , 1 x 2 , 2 . . x 2 , p . . . . x N , 1 x N , 2 . . x N , p ) N × p X=(x_1,x_2,x_3,...,x_N)^T=\begin{pmatrix} x_1^T\\x_2^T\\.\\.\\x_N^T\end{pmatrix}=\begin{pmatrix}x_{1,1}&x_{1,2}&.&.&x_{1,p}\\x_{2,1}&x_{2,2}&.&.&x_{2,p}\\.&&&&.\\.&&&&.\\x_{N,1}&x_{N,2}&.&.&x_{N,p}\end{pmatrix}_{N\times{p}} X=(x1,x2,x3,...,xN)T=x1Tx2T..xNT=x1,1x2,1..xN,1x1,2x2,2xN,2......x1,px2,p..xN,pN×p

Y = ( y 1 y 2 . . y N ) N × 1 , w = ( w 1 w 2 . . w p ) , b ∈ R Y=\begin{pmatrix}y_1\\y_2\\.\\.\\y_N\end{pmatrix}_{N\times1},w=\begin{pmatrix}w_1\\w_2\\.\\.\\w_p\end{pmatrix},b\in{R} Y=y1y2..yNN×1,w=w1w2..wp,bR

【模型定义】:线性回归模型定义为 f ( w ) = w T x ⃗ + b f(w)=w^T\vec{x}+b f(w)=wTx +b

但在后边的叙述中,为了推导方便,我们设定 f ( w ) = w T x ⃗ f(w)=w^T\vec{x} f(w)=wTx

其中, w w w x i ⃗ \vec{x_i} xi 均采用扩展形式,即: w = ( w 1 w 2 . . w p b ) , x i ⃗ = ( x i ( 1 ) x i ( 2 ) . . x i ( p ) 1 ) w=\begin{pmatrix}w_1\\w_2\\.\\.\\w_p\\b\end{pmatrix},\vec{x_i}=\begin{pmatrix}x_i^{(1)}\\x_i^{(2)}\\.\\.\\x_i^{(p)}\\1\\\end{pmatrix} w=w1w2..wpb,xi =xi(1)xi(2)..xi(p)1,
X X X也应该做相应的改变,此处不再赘述。
【参数估计】:最小二乘法的损失函数定义为 L ( w ) = ∑ i = 0 N ∥ w T x i ⃗ − y i ∥ 2 L(w)=\sum\limits_{i=0}^{N}\parallel{w^T\vec{x_i}-y_i\parallel}^2 L(w)=i=0NwTxi yi2
众所周知,Python的for循环执行效率低下,故将损失函数变换为矩阵表达式。

L ( w ) = ( w T x 1 − y 1 w T x 2 − y 2 . . . w T x i − y i ) ( w T x 1 − y 1 w T x 2 − y 2 . . w T x N − y N ) L(w)=\begin{pmatrix}w^Tx_1-y_1&w^Tx_2-y_2&...&w^Tx_i-y_i\end{pmatrix}\begin{pmatrix}w^Tx_1-y_1\\w^Tx_2-y_2\\.\\.\\w^Tx_N-y_N\end{pmatrix} L(w)=(wTx1y1wTx2y2...wTxiyi)wTx1y1wTx2y2..wTxNyN

其中,矩阵乘积的左矩阵可以进一步表示为:

w T ( x 1 x 2 . . . x N ) − ( y 1 y 2 . . . y N ) = w T X T − Y T w^T\begin{pmatrix}x_1&x_2&...&x_N\end{pmatrix}-\begin{pmatrix}y_1&y_2&...&y_N\end{pmatrix}=w^TX^T-Y^T wT(x1x2...xN)(y1y2...yN)=wTXTYT

从而: L ( w ) = ( w T X T − Y T ) ( w T X T − Y T ) T = w T X T X w − w T X T Y − Y T X w + Y T Y L(w)=(w^TX^T-Y^T)(w^TX^T-Y^T)^T=w^TX^TXw-w^TX^TY-Y^TXw+Y^TY L(w)=(wTXTYT)(wTXTYT)T=wTXTXwwTXTYYTXw+YTY

则w的估计量 w ^ = a r g \widehat{w}=arg w =arg m i n min min L ( w ) L(w) L(w)

∂ L ∂ w = 2 X T X w − 2 X T Y = 0 \frac{\partial{L}}{\partial{w}}=2X^TXw-2X^TY=0 wL=2XTXw2XTY=0

求得 w ^ = ( X T X ) − 1 X T Y \widehat{w}=(X^TX)^{-1}X^TY w =(XTX)1XTY 即为所求。

最小二乘法的几何意义

直接上图:

很明显, L ( w ) L(w) L(w) 表示所有点到拟合直线的距离平方之和,也就是图中黄色线条的长度平方之和,最小乘方就是使得该距离平方之和最小。这就是最小乘方的几何意义。

【注】: 矩阵求导可参考我另一篇blog

【参考】:B站UP主shuhuai008的机器学习白板推导系列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值