小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

一文讓你徹底搞懂最小二乘法(超詳細推導)

 鉞YUE 2021-12-18

要解決的問題

在工程應用中,我們經常會用一組觀測數據去估計模型的參數,模型是我們根據先驗知識定下的。比如我們有一組觀測數據 ( x i , y i ) (x_i,y_i) (xi,yi)(一維),通過一些數據分析我們猜測 y y y和 x x x之間存在線性關系,那么我們的模型就可以定為: f ( x ) = k x + b f(x)=kx+b f(x)=kx+b

這個模型只有兩個參數,所以理論上,我們只需要觀測兩組數據建立兩個方程,即可解出兩個未知數。類似的,假如模型有 n n n個參數,我們只需要觀測 n n n組數據就可求出參數,換句話說,在這種情況下,模型的參數是唯一確定解。

但是在實際應用中,由于我們的觀測會存在誤差(偶然誤差、系統(tǒng)誤差等),所以我們總會做多余觀測。比如在上述例子中,盡管只有兩個參數,但是我們可能會觀測 n n n組數據 ( x 1 , y 1 ) . . , ( x n , y n ) (x_1, y_1)..,(x_n, y_n) (x1,y1)..,(xn,yn),這會導致我們無法找到一條直線經過所有的點,也就是說,方程無確定解。
在這里插入圖片描述

于是這就是我們要解決的問題:雖然沒有確定解,但是我們能不能求出近似解,使得模型能在各個觀測點上達到“最佳“擬合。那么“最佳”的準則是什么?可以是所有觀測點到直線的距離和最小,也可以是所有觀測點到直線的誤差(真實值-理論值)絕對值和最小,也可以是其它,如果是你面臨這個問題你會怎么做?

早在19世紀,勒讓德就認為讓“誤差的平方和最小”估計出來的模型是最接近真實情形的。

為什么就是誤差平方而不是其它的,這個問題連歐拉、拉普拉斯都未能成功回答,后來是高斯建立了一套誤差分析理論,從而證明了確實是使誤差平方和最小的情況下系統(tǒng)是最優(yōu)的。理論的證明也并不難,我寫在了另外一篇博客 最小二乘法的原理理解,相信你了解后會對最小二乘法有更深刻的認識。

按照勒讓德的最佳原則,于是就是求:
L = ∑ 1 n ( y i ? f ( x ) ) 2 L=\sum_{1}^{n}\left(y_i-f(x)\right)^{2} L=1∑n(yi?f(x))2
這個目標函數取得最小值時的函數參數,這就是最小二乘法的思想,所謂“二乘”就是平方的意思。從這里我們可以看到,最小二乘法其實就是用來做函數擬合的一種思想

至于怎么求出具體的參數那就是另外一個問題了,理論上可以用導數法、幾何法,工程上可以用梯度下降法。下面以最常用的線性回歸為例進行推導和理解。

線性回歸

線性回歸因為比較簡單,可以直接推導出解析解,而且許多非線性的問題也可以轉化為線性問題來解決,所以得到了廣泛的應用。甚至許多人認為最小二乘法指的就是線性回歸,其實并不是,最小二乘法就是一種思想,它可以擬合任意函數,線性回歸只是其中一個比較簡單而且也很常用的函數,所以講最小二乘法基本都會以它為例。

下面我會先用矩陣法進行推導,然后再用幾何法來幫助你理解最小二乘法的幾何意義。

矩陣解法

線性回歸定義為: h θ ( x 1 , x 2 , … x n ? 1 ) = θ 0 + θ 1 x 1 + … + θ n ? 1 x n ? 1 h_{\theta}\left(x_{1}, x_{2}, \ldots x_{n-1}\right)=\theta_{0}+\theta_{1} x_{1}+\ldots+\theta_{n-1} x_{n-1} hθ(x1,x2,…xn?1)=θ0+θ1x1+…+θn?1xn?1( θ \theta θ為參數)假設現在有 m m m個樣本,每個樣本有 n ? 1 n-1 n?1維特征,將所有樣本點代入模型中得:
h 1 = θ 0 + θ 1 x 1 , 1 + θ 2 x 1 , 2 + … + θ n ? 1 x 1 , n ? 1 h 2 = θ 0 + θ 1 x 2 , 1 + θ 2 x 2 , 2 + … + θ n ? 1 x 2 , n ? 1 ? h m = θ 0 + θ 1 x m , 1 + θ 2 x m , 2 + … + θ n ? 1 x m , n ? 1 h1=θ0+θ1x1,1+θ2x1,2+…+θn?1x1,n?1h2=θ0+θ1x2,1+θ2x2,2+…+θn?1x2,n?1?hm=θ0+θ1xm,1+θ2xm,2+…+θn?1xm,n?1

h1=θ0+θ1x1,1+θ2x1,2+…+θn?1x1,n?1h2=θ0+θ1x2,1+θ2x2,2+…+θn?1x2,n?1?hm=θ0+θ1xm,1+θ2xm,2+…+θn?1xm,n?1
h1=θ0+θ1x1,1+θ2x1,2+…+θn?1x1,n?1h2=θ0+θ1x2,1+θ2x2,2+…+θn?1x2,n?1?hm=θ0+θ1xm,1+θ2xm,2+…+θn?1xm,n?1為方便用矩陣表示,我們令 x 0 = 1 x_0=1 x0=1,于是上述方程可以用矩陣表示為:
h = X θ \mathbf{h}=\mathbf{X} \theta h=Xθ其中, h \mathbf{h} h為mx1的向量, 代表模型的理論值, θ \theta θ 為nx1的向量, X X X為mxn維的矩陣, m m m代表樣本的個數, n n n代表樣本的特征數,于是目標損失函數用矩陣表示為:
J ( θ ) = ∥ h ? Y ∥ 2 = ∥ X θ ? Y ∥ 2 = ( X θ ? Y ) T ( X θ ? Y ) J(\theta)=\|\mathbf{h}-\mathbf{Y}\|^2 =\|\mathbf{X}\theta-\mathbf{Y}\|^2= (\mathbf{X} \theta-\mathbf{Y})^{T}(\mathbf{X} \theta-\mathbf{Y}) J(θ)=∥h?Y∥2=∥Xθ?Y∥2=(Xθ?Y)T(Xθ?Y)其中 Y \mathbf{Y} Y是樣本的輸出向量, 維度為mx1。

根據高數知識我們知道函數取得極值就是導數為0的地方,所以我們只需要對損失函數求導令其等于0就可以解出 θ \theta θ。矩陣求導屬于矩陣微積分的內容,我也是現學的(…,這里先介紹兩個用到的公式:
? x T a ? x = ? a T x ? x = a \frac{\partial x^{T} a}{\partial x}=\frac{\partial a^{T} x}{\partial x}=a ?x?xTa=?x?aTx=a ? x T A x ? x = A x + A T x \frac{\partial x^{T} A x}{\partial x}=A x+A^{T} x ?x?xTAx=Ax+ATx如果矩陣A是對稱的: A x + A T x = 2 A x A x+A^{T} x=2 A x Ax+ATx=2Ax對目標函數化簡:
J ( θ ) = θ T X T X θ ? θ T X T Y ? Y T X θ + Y T Y J(\theta)=\theta^{T} X^{T} X \theta-\theta^{T} X^{T}Y-Y^{T} X\theta+Y^{T} Y J(θ)=θTXTXθ?θTXTY?YTXθ+YTY求導令其等于0: ? ? θ J ( θ ) = 2 X T X θ ? 2 X T Y = 0 \frac{\partial}{\partial \theta} J(\theta)=2X^{T} X \theta-2X^TY=0 ?θ?J(θ)=2XTXθ?2XTY=0解得 θ = ( X T X ) ? 1 X T Y \theta=\left(X^{T}X\right)^{-1} X^{T}Y θ=(XTX)?1XTY,經過推導我們得到了 θ \theta θ的解析解,現在只要給了數據,我們就可以帶入解析解中直接算出 θ \theta θ。

幾何意義

幾何意義會直觀的幫助你理解最小二乘法究竟在干什么。首先先來解釋一下矩陣乘法的幾何意義,對于一個方程組 A x Ax Ax,我們可以看做是 x x x對矩陣 A A A的列向量的線性組合,比如:

{ 1 × x 1 + x 2 = 3 ? 1 × x 1 + x 2 = 1 ? [ 1 1 ? 1 1 ] [ x 1 x 2 ] = [ 3 1 ] ? A × x = b \left\{1×x1+x2=3?1×x1+x2=1

1×x1+x2=3?1×x1+x2=1
\Leftrightarrow\left[11?11
1?111
\right]\left[x1x2
x1x2
\right]=\left[31
31
\right] \Leftrightarrow A \times x=b\right. {1×x1+x2=3?1×x1+x2=1?[1?111][x1x2]=[31]?A×x=b
可以看作:
[ 1 ? 1 ] × x 1 + [ 1 1 ] × x 2 = [ 3 1 ] ? a 1 × x 1 + a 2 × x 2 = b \left[1?1
1?1
\right] \times x_{1}+\left[11
11
\right] \times x_{2}=\left[31
31
\right] \Leftrightarrow a_{1} \times x_{1}+a_{2} \times x_{2}=b [1?1]×x1+[11]×x2=[31]?a1×x1+a2×x2=b
畫在坐標軸上可以看到,向量 b \mathbf b其實就是向量 a 1 \mathbf{a_1} a1與 a 2 \mathbf{a_2} a2的線性組合,因為他們都是在一個平面上,顯然是有解的。
在這里插入圖片描述
但是如文章開頭所說,由于存在觀測誤差,我們往往會做多余觀測,比如要擬合一次方程 y = k x + b y=k x+b y=kx+b,我們可能觀測了三個點(0,2),(1,2),(2,3),寫成矩陣形式如下(為表述方便,用x1代替k,x2代替b ):
{ 1 × x 1 + x 2 = 2 0 × x 1 + x 2 = 2 2 × x 1 + x 2 = 3 ? [ 1 1 0 1 2 1 ] [ x 1 x 2 ] = [ 2 2 3 ] ? A × x = b \left\{1×x1+x2=20×x1+x2=22×x1+x2=3
1×x1+x2=20×x1+x2=22×x1+x2=3
\Leftrightarrow\left[110121
102111
\right]\left[x1x2
x1x2
\right]=\left[223
223
\right] \Leftrightarrow A \times x=b\right. ???1×x1+x2=20×x1+x2=22×x1+x2=3???102111??[x1x2]=??223???A×x=b
表示成線性組合的方式:
[ 1 0 2 ] × x 1 + [ 1 1 1 ] × x 2 = [ 2 2 3 ] ? a 1 × x 1 + a 2 × x 2 = b \left[102
102
\right] \times x_{1}+\left[111
111
\right] \times x_{2}=\left[223\right] \Leftrightarrow a_{1} \times x_{1}+a_{2} \times x_{2}=b ??102??×x1+??111??×x2=??223???a1×x1+a2×x2=b

畫在圖中如下:
在這里插入圖片描述
從圖中我們可以看到,無論 a 1 \mathbf{a_1} a1 和 a 2 \mathbf{a_2} a2 怎么線性組合都不可能得到 b \mathbf b,因為 a 1 \mathbf{a_1} a1 和 a 2 \mathbf{a_2} a2 的線性組合成的向量只能落在它們組成的子空間 S \mathbf{S} S 中。

退而求其次,雖然我們不可能得到 b \mathbf b,但在 S \mathbf{S} S上找一個和 b \mathbf b最接近的總可以吧。那么將 b \mathbf b投影 在平面 S \mathbf{S} S上得到的向量 p \mathbf{p} p就是和 b \mathbf b最接近的向量(把向量看作點,最接近的意思就是點到平面某點取得距離最短,自然就是投影所成的交點)。
在這里插入圖片描述

換句話說,方程組 A x = b Ax=b Ax=b雖然無解,也就是b不在A的列空間中,但是我們可以在 A A A的列空間中找到一個和 b b b最接近的向量 p p p, p p p就是 b b b在 A A A的列空間中的投影,通過求 A x = p Ax=p Ax=p的解,就是原方程的最小二乘解。

由幾何意義可知垂線 e = b ? p = b ? A x e=b-p=b-Ax e=b?p=b?Ax正交于平面 S \mathbf{S} S,也就是 a 1 T e = 0 , a 2 T e = 0 a_{1}^{T} e=0, a_{2}^{T} e=0 a1Te=0,a2Te=0,寫成矩陣形式:
A T e = A T ( b ? A x ) = A T b ? A T A x = 0 ATe=AT(b?Ax)=ATb?ATAx=0

ATe=AT(b?Ax)=ATb?ATAx=0解得 x = ( A T A ) ? 1 A T b x=\left(A^{T} A\right)^{-1} A^{T} b x=(ATA)?1ATb,可以看到推導結果和矩陣法一樣。從上面可以看到,最小二乘法的幾何意義就是求解 b b b 在 A A A的列向量空間中的投影

到這里最小二乘法的推導已經完成了,但是我們忽略了一個問題,就是假如 A T A A^TA ATA不可逆怎么辦?這個問題我會另寫一篇博客進行介紹。

以上就是全部內容。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多