天天看點

投影矩陣解釋最小二乘及線性回歸算法

其實是B站上MIT 15,16 的總結,MIT連結

以下從投影矩陣引出最小二乘

首先是一維投影

一維投影

投影矩陣解釋最小二乘及線性回歸算法

将向量b投影到向量a上

∵ p在a上

∴ p = x a

e = b - p= b - x a

又∵ e ⊥ a

∴ a •( b - x a)=0

即 aT( b - x a)=0

解得:x = aT b/aT a

p = a x = (a aT /aT a )• b

研究一下投影矩陣的性質:

對稱,且(a aT /aT a )^ 2 = (a aT /aT a )

為啥呢?幾何上的解釋是:我們把向量b通過變換,到a的列空間中,而如果一次列變換已經在列空間中了,則第二次列變換無效。代數上也可以很容易地算出來。取兩種特殊情況:1. b垂直于a,則上面會變成a乘以a的垂直向量,容易證得為0。 2. b與a共線,則可化為a,即沒有變化

二維投影

投影矩陣解釋最小二乘及線性回歸算法

将b投影到平面上得向量p,平面中有一組基向量a 1,a 2,e即為誤差向量

設a為與p共線的,與b在平面上投影共線的向量(未畫出)

**∵ p = **x a = x(a1 + a2 )

**∴ e = b - p = b - **x ( a1 + a2 )

向量表示:A = ( a1 , a2)

又 e ⊥ a

∴ AT(b - A x)= 0

解得:x = (AT A)-1AT b

p = A x = A (AT A)-1AT b

投影矩陣達到的投影作用:

即對于垂直于這個平面(列空間)的向量,在AT的零空間(AT b=0)裡,那麼對于 p = A (AT A)-1AT b,容易知道AT b=0,是以p=0;

即對于在這個平面(列空間)上的向量,在AT的列空間裡(b=Ax)那麼對于 p = A (AT A)-1AT b,容易知道AT b=AT Ax,是以p=AX;

實際上要使x有解則AT A必須可逆,下證對于線性無關的矩陣A,AT A可逆

要 證 A T A 可 逆 , 相 當 于 證 A T A x = 0 隻 有 0 解 點 乘 x T 則 x T A T A x = 0 ( A x ) T A x = 0 ∴ A x = 0 若 A 線 性 無 關 , 則 x 隻 有 0 解 , 即 A T A 可 逆 , 得 證 。 要證A^TA可逆,相當于證A^TAx=0隻有0解\\ 點乘x^T則x^TA^TAx=0\\ (Ax)^TAx=0\\ \therefore Ax=0\\ 若 A 線性無關,則x隻有0解,即A^TA可逆,得證。 要證ATA可逆,相當于證ATAx=0隻有0解點乘xT則xTATAx=0(Ax)TAx=0∴Ax=0若A線性無關,則x隻有0解,即ATA可逆,得證。

最小二乘應用投影矩陣

最小二乘用在什麼場景呢?

線性拟合問題。

投影矩陣解釋最小二乘及線性回歸算法

例:

平面上有三個點,我們要找一條直線通過這三個點

法一:從幾何上,點到直線的距離來看

設這條直線為:y = k x + b, 代入三個點得到:

{ k + b = 1 2 k + b = 2 3 k + b = 2 \begin{cases} k+b=1\\ 2k+b=2\\ 3k+b=2 \end{cases} ⎩⎪⎨⎪⎧​k+b=12k+b=23k+b=2​

顯然不存在這樣的直線,我們隻能夠找到一條直線使得這條線到這三個點的距離平方的和最小,

那麼這三個點到這個直線的距離是:

投影矩陣解釋最小二乘及線性回歸算法

将三個點代入

∣ k x − y + b 1 + k 2 ∣ 要 求 最 小 值 即 求 : ( k − 1 + b ) 2 + ( 2 k − 2 + b ) 2 + ( 3 k − 2 + b ) 2 的 最 小 值 9 − 22 k − 10 b + 12 k b + k 2 + 3 b 2 使 得 對 k 的 求 導 為 0 : − 22 + 12 b + 28 k = 0 使 得 對 b 的 求 導 為 0 : − 10 + 12 k + 6 b = 0 聯 立 得 : k = 1 2 , b = 2 3 \left|\frac {kx-y+b}{\sqrt{1+k^2}}\right|\\ 要求最小值即求:\\ (k-1+b)^2+(2k-2+b)^2+(3k-2+b)^2 的最小值\\ 9-22k-10b+12kb+k^2+3b^2\\ 使得對k的求導為0:-22+12b+28k=0\\ 使得對b的求導為0:-10+12k+6b=0\\ 聯立得:k=\frac12,b=\frac23\\ ∣∣∣∣​1+k2

​kx−y+b​∣∣∣∣​要求最小值即求:(k−1+b)2+(2k−2+b)2+(3k−2+b)2的最小值9−22k−10b+12kb+k2+3b2使得對k的求導為0:−22+12b+28k=0使得對b的求導為0:−10+12k+6b=0聯立得:k=21​,b=32​

意義是:将三個點都作一個誤差,使得它們能夠在一條直線上,這個誤差就是三點到其投影的距離的平方和

法二:從矩陣/空間上來看,将k,b的公式化為矩陣來看

[ 1 1 2 1 3 1 ] [ k b ] = [ 1 2 2 ] 顯 然 , 可 以 看 到 左 邊 的 矩 陣 秩 3 , 而 解 向 量 秩 為 2 , 即 [ 1 1 ∣ 1 2 1 ∣ 2 3 1 ∣ 2 ] = > [ 1 0 0 0 1 0 0 0 1 ] 行 變 換 後 為 三 階 , 表 明 解 向 量 不 在 列 空 間 中 , 所 以 無 解 那 麼 怎 麼 使 它 有 解 呢 ? 可 以 把 系 數 向 量 投 影 到 解 空 間 上 。 運 用 投 影 矩 陣 : A T ( b − A X ) = 0 A T b = A T A X x = ( A T A ) − 1 A T b 這 裡 [ k b ] = ( [ 1 2 3 1 1 1 ] [ 1 1 2 1 3 1 ] ) − 1 [ 1 2 3 1 1 1 ] [ 1 2 2 ] x = A T A ∣ A T b = A T ( A ∣ b ) = [ 1 2 3 1 1 1 ] [ 1 1 ∣ 1 2 1 ∣ 2 3 1 ∣ 2 ] = [ 14 6 ∣ 11 6 3 ∣ 5 ] ( 可 以 看 到 就 是 前 面 的 兩 個 導 函 數 的 矩 陣 表 達 形 式 ! ) 解 得 k = 1 2 , b = 2 3 \begin{bmatrix} 1 & 1 \\ 2 & 1 \\ 3 & 1 \end{bmatrix} \begin{bmatrix} k\\b \end{bmatrix}= \begin{bmatrix} 1\\2\\2 \end{bmatrix}\\ 顯然,可以看到左邊的矩陣秩3,而解向量秩為2,即\\ \begin{bmatrix} 1&1&|1\\ 2&1&|2\\ 3&1&|2\\ \end{bmatrix}=>\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1\\ \end{bmatrix}\\ 行變換後為三階,表明解向量不在列空間中,是以無解\\ 那麼怎麼使它有解呢?可以把系數向量投影到解空間上。\\ 運用投影矩陣:A^T(b-AX)=0\\ A^Tb=A^TAX\\ x = (A^TA)^{-1} A^T b\\ 這裡 \begin{bmatrix} k\\b \end{bmatrix}=( \begin{bmatrix} 1&2&3\\ 1&1&1\\ \end{bmatrix} \begin{bmatrix} 1&1\\ 2&1\\ 3&1\\ \end{bmatrix})^{-1} \begin{bmatrix} 1&2&3\\ 1&1&1\\ \end{bmatrix} \begin{bmatrix} 1\\2\\2 \end{bmatrix}\\ x=A^TA|A^Tb=A^T(A|b)\\ =\begin{bmatrix} 1&2&3\\ 1&1&1\\ \end{bmatrix} \begin{bmatrix} 1&1&|1\\ 2&1&|2\\ 3&1&|2\\ \end{bmatrix}= \begin{bmatrix} 14&6&|11\\ 6&3&|5\\ \end{bmatrix}\\(可以看到就是前面的兩個導函數的矩陣表達形式!) 解得k= \frac12, b=\frac23 \\ ⎣⎡​123​111​⎦⎤​[kb​]=⎣⎡​122​⎦⎤​顯然,可以看到左邊的矩陣秩3,而解向量秩為2,即⎣⎡​123​111​∣1∣2∣2​⎦⎤​=>⎣⎡​100​010​001​⎦⎤​行變換後為三階,表明解向量不在列空間中,是以無解那麼怎麼使它有解呢?可以把系數向量投影到解空間上。運用投影矩陣:AT(b−AX)=0ATb=ATAXx=(ATA)−1ATb這裡[kb​]=([11​21​31​]⎣⎡​123​111​⎦⎤​)−1[11​21​31​]⎣⎡​122​⎦⎤​x=ATA∣ATb=AT(A∣b)=[11​21​31​]⎣⎡​123​111​∣1∣2∣2​⎦⎤​=[146​63​∣11∣5​](可以看到就是前面的兩個導函數的矩陣表達形式!)解得k=21​,b=32​

這裡實質上也是投影,隻不過用投影矩陣解決

而我們看到的(Ax-b)= 0無解,但是AT(Ax’-b)=0有解 就是最小二乘的表達,這裡的x’是近似解,因為沒有精确解。

投影矩陣解釋最小二乘及線性回歸算法

b向量雖然不在列向量中,但是b的投影向量p在列空間中,是以投影矩陣可以把非空間中的向量分解到該空間,和與之垂直的零空間中

将 k , b 代 入 , 取 x = 1 , 2 , 3 得 到 投 影 向 量 p { k + b = 7 6 2 k + b = 5 3 3 k + b = 13 6 p ( 現 / 投 影 解 集 ) = [ 7 6 5 3 13 6 ] , b ( 原 解 集 ) = [ 1 2 2 ] , e ( 誤 差 解 集 ) = [ − 1 6 1 3 − 1 6 ] b = p + e 且 可 以 看 到 p , e 點 積 為 0 , 再 次 印 證 p 在 列 空 間 裡 , e 在 零 空 間 裡 , 将k,b代入,取x=1,2,3得到投影向量p\\ \begin{cases} k+b=\frac76\\ 2k+b=\frac53\\ 3k+b=\frac{13}6 \end{cases}\\ p(現/投影解集)=\begin{bmatrix} \frac76\\ \frac53\\ \frac{13}6 \end{bmatrix}, b(原解集)=\begin{bmatrix} 1\\2\\2 \end{bmatrix}, e(誤差解集)=\begin{bmatrix} -\frac16\\ \frac13\\ -\frac16 \end{bmatrix}\\ b=p+e\\ 且可以看到p,e 點積為0,再次印證p在列空間裡,e在零空間裡, 将k,b代入,取x=1,2,3得到投影向量p⎩⎪⎨⎪⎧​k+b=67​2k+b=35​3k+b=613​​p(現/投影解集)=⎣⎡​67​35​613​​⎦⎤​,b(原解集)=⎣⎡​122​⎦⎤​,e(誤差解集)=⎣⎡​−61​31​−61​​⎦⎤​b=p+e且可以看到p,e點積為0,再次印證p在列空間裡,e在零空間裡,

繼續閱讀