天天看點

線性代數筆記4:最小二乘法引入直線拟合微積分

最小二乘法大家都很熟悉了,今天以向量投影的角度重新認識它。

引入

回到解方程組 Ax=b A x = b 。

若 Ax=b A x = b 有解,則 b∈C(A) b ∈ C ( A ) 。

若 Ax=b A x = b 有解,則 b∉C(A) b ∉ C ( A ) ,轉化為問題求: x^ x ^ 使得|| Ax^−b A x ^ − b ||最小,即 minx∈Rn||Ax^−b|| m i n x ∈ R n | | A x ^ − b | | 的最小值點。

由上一講可知,最小值其實就是 e=b−Ax^ e = b − A x ^ ,即誤差向量。在空間中表示為 b在C(A) b 在 C ( A ) 上的投影。

是以,我們可以求得投影向量 p=Ax^ p = A x ^ ,然後根據 e⊥C(A) e ⊥ C ( A ) 得到法方程組: ATAx^=ATb A T A x ^ = A T b 。

法方程組有幾個重要的性質:

  1. 法方程組總有解(無論A是否列滿秩)。
  2. ATAx^=ATb A T A x ^ = A T b 的解可能有無數多個,但 p=Ax^ p = A x ^ 唯一。

直線拟合

首先我們來看最常見的直線拟合。

線性代數筆記4:最小二乘法引入直線拟合微積分

我們想得到目标直線 y^=a+bx,ei=yi−y^i y ^ = a + b x , e i = y i − y ^ i 。

給定資料 {(x1,y1,...(xn,yn)} { ( x 1 , y 1 , . . . ( x n , y n ) } 。尋找直線 y=C+Dx y = C + D x ,使得誤差

E(C,D)=[y1−(C+Dx1)]2+....+[yn−(C+Dn)]2最小 E ( C , D ) = [ y 1 − ( C + D x 1 ) ] 2 + . . . . + [ y n − ( C + D n ) ] 2 最 小

即向量 ⎛⎝⎜y1−(C+Dx1)...yn−(C+Dxn)⎞⎠⎟ ( y 1 − ( C + D x 1 ) . . . y n − ( C + D x n ) ) 的長度最小。

令 A=⎡⎣⎢1...1 x1...xn⎤⎦⎥ A = [ 1   x 1 . . . . . . 1 x n ] , b=⎡⎣⎢y1...yn⎤⎦⎥ b = [ y 1 . . . y n ] , x^=b=[C^D^] x ^ = b = [ C ^ D ^ ] 。即求解 x^使得||b−Ax^|| x ^ 使 得 | | b − A x ^ | | 最小。

利用之前的結論, ATAx^=ATb A T A x ^ = A T b ,帶入即可得:

C^=y¯¯¯−D^x¯¯¯, D^=∑i=1n(xi−x¯¯¯)(yi−y¯¯¯)∑i=1n(xi−x¯¯¯)​ C ^ = y ¯ − D ^ x ¯ ,   D ^ = ∑ i = 1 n ( x i − x ¯ ) ( y i − y ¯ ) ∑ i = 1 n ( x i − x ¯ ) ​

直線 y=C^+D^x y = C ^ + D ^ x 稱為最小二成直線。

是以,我們隻需要求法方程組,即可求得直線的所有參數。

微積分

曲線拟合與直線類似,隻是多了幾個參數而已,在此不做介紹。

我們現在可以說明法方程組也來自微積分。

令f(x1,...,xn)=||Ax=b||2=(Ax−b)T(Ax−b) 令 f ( x 1 , . . . , x n ) = | | A x = b | | 2 = ( A x − b ) T ( A x − b )

則 ∂f∂X=⎛⎝⎜⎜⎜∂f∂x1...∂f∂xn⎞⎠⎟⎟⎟=2ATAX−2ATb ∂ f ∂ X = ( ∂ f ∂ x 1 . . . ∂ f ∂ x n ) = 2 A T A X − 2 A T b 。

若 x^滿足minx∈Rn||Ax^−b|| x ^ 滿 足 m i n x ∈ R n | | A x ^ − b | | ,則 ∂f∂X ∂ f ∂ X 一定是極值點。是以可得: ATAx^=ATb A T A x ^ = A T b 。

歡迎關注我的個人部落格。

繼續閱讀