线性代数系列讲解第八篇投影及AX=b(无解情况)求近似解及最小二乘法
一.投影
1.直線投影到直線
我們會將b?\vec bb投影到p?=xa?\vec p=x\vec ap?=xa。
我們可以利用發(fā)現(xiàn)e?\vec ee和p?\vec pp?垂直,因此我們可以利用向量正交性寫出一下式子,我把向量上標去掉了,你們知道xxx是數(shù)即可。
aT(b?xa)=0→xaTa=aTb→x=aTbaTaa^T(b-xa)=0\rightarrow xa^Ta=a^Tb\rightarrow x=\frac{a^Tb}{a^Ta}aT(b?xa)=0→xaTa=aTb→x=aTaaTb?
我們就可以知道
p=ax=aaTbaTa=Pbp=ax=a\frac{a^Tb}{a^Ta}=Pbp=ax=aaTaaTb?=Pb
其中PPP為投影矩陣
P=aaTaTaP=\frac{aa^T}{a^Ta}P=aTaaaT?
我們可以發(fā)現(xiàn):若bbb翻倍,ppp翻倍;若aaa翻倍,ppp不變。
首先我們考察一下投影矩陣PPP,我們可以看出PPP是個對稱陣,即
PT=PP^T=PPT=P
而且,我們想想我們將b?\vec bb進行投影到a?\vec aa上變?yōu)?span id="ze8trgl8bvbq" class="katex--inline">p?\vec pp?,然后p?\vec pp?在投影到a?\vec aa的話,我們可以發(fā)現(xiàn)還是p?\vec pp?,則
P2=PP^2=PP2=P
其實證明很簡單,你直接這樣就行了
P2=P?P=aaTaTaaaTaTa=a(aTa)aTaTaaTa=aaTaTaP^2=P*P=\frac{aa^T}{a^Ta}\frac{aa^T}{a^Ta}=\frac{a(a^Ta)a^T}{a^Taa^Ta}=\frac{aa^T}{a^Ta}P2=P?P=aTaaaT?aTaaaT?=aTaaTaa(aTa)aT?=aTaaaT?
記得aTaa^TaaTa是aaa的內(nèi)積,是個數(shù),我們可以將它提到前面與分母相約。而且C(P)C(P)C(P)(PPP的列空間)是一條過aaa的直線,因為PPP中列的線性組合都在aaa上,這樣我們也能得出
rank(P)=1rank(P)=1rank(P)=1
2.直線投影到平面
假設(shè)平面內(nèi)由a1a_1a1?,a2a_2a2?組成,我們可以看成A=[a1a2]A=\begin{bmatrix}a_1&a_2\end{bmatrix}A=[a1??a2??]的列空間。
p?=x^1a1+x^2a2=AX^\vec p = \hat x_1a_1+\hat x_2a_2=A\hat Xp?=x^1?a1?+x^2?a2?=AX^
其中X^=[x^1x^2]\hat X=\begin{bmatrix}\hat x_1\\\hat x_2\end{bmatrix}X^=[x^1?x^2??]
我們?nèi)绾吻蠼?span id="ze8trgl8bvbq" class="katex--inline">X^\hat XX^呢?
這個問題關(guān)鍵就是b?AX^b-A\hat Xb?AX^垂直于這個平面。
我們很容易寫出以下式子
a1T(b?AX^)=0a2T(b?AX^)=0a_1^T(b-A\hat X)=0\\\;\\a_2^T(b-A\hat X)=0a1T?(b?AX^)=0a2T?(b?AX^)=0
我們把它整成一個式子
[a1Ta2T](b?AX^)=[00]AT(b?AX^)=0\begin{bmatrix}a_1^T\\a_2^T\end{bmatrix}(b-A\hat X)=\begin{bmatrix}0\\0\end{bmatrix}\\\;\\A^T(b-A\hat X)=0[a1T?a2T??](b?AX^)=[00?]AT(b?AX^)=0
我們將式子整理一下
ATAX^=ATbX^=(ATA)?1ATbA^TA\hat X=A^Tb\\\;\\\hat X=(A^TA)^{-1}A^TbATAX^=ATbX^=(ATA)?1ATb
條件是ATAA^TAATA是可逆的。
則投影到平面的向量p?\vec pp?
p?=AX^=A(ATA)?1ATb\vec p = A\hat X=A(A^TA)^{-1}A^Tbp?=AX^=A(ATA)?1ATb
我們就知道投影矩陣PPP
P=A(ATA)?1ATP=A(A^TA)^{-1}A^TP=A(ATA)?1AT
肯定有些人肯定會這么想
P=AA?1(AT)?1AT=IP=AA^{-1}(A^T)^{-1}A^T=IP=AA?1(AT)?1AT=I
但是我想跟你說,這是有條件的,這個AAA是可逆方陣才可以。這時候P=IP=IP=I
就是說PPP將向量投影到整個三維空間(對于這個例子來說)。
它依然具有以下性質(zhì):
我們可以通過這個式子
AT(b?AX^)=0ATe=0A^T(b-A\hat X)=0\\\;\\A^Te=0AT(b?AX^)=0ATe=0
則eee是屬于N(AT)N(A^T)N(AT),而eee垂直于C(A)C(A)C(A)。
以上也適用于多維情況。
我們從以上式子得出以下結(jié)論:
如果bbb在AAA的列空間內(nèi)(即b=AXb=AXb=AX),則Pb=bPb=bPb=b
如果bbb垂直于AAA的列空間內(nèi)(即ATb=0A^Tb=0ATb=0),則Pb=0Pb=0Pb=0
行列式在二維意義下表示面積的證明
假設(shè)AAA矩陣由a1a_1a1?,a2a_2a2?組成的,即A=[a1a2]A=\begin{bmatrix}a_1&a_2\end{bmatrix}A=[a1??a2??],如下圖所示:
我們知道這個平行四邊行的面積不就是a1a_1a1?和eee相乘嘛,即
S=∣∣a1∣?∣∣e∣∣S=||a_1|\cdot ||e||S=∣∣a1?∣?∣∣e∣∣
我們令D=∣a1,e∣D2=D?D=DTD(利用了行列式的性質(zhì)10)=∣(a1,e)T∣∣(a1,e)∣=∣(a1TeT)(a1,e)∣=∣a1Ta1a1TeeTa1eTe∣=∣a1Ta100eTe∣=∣∣a1∣∣2?∣∣e∣∣2D=|a_1,e|\\\;\\D^2=D\cdot D=D^TD(利用了行列式的性質(zhì)10)=|(a_1,e)^T||(a_1,e)|\\\;\\=|\begin{pmatrix}a_1^T\\e^T\end{pmatrix}(a_1,e)|=\begin{vmatrix}a_1^Ta_1&a_1^Te\\e^Ta_1&e^Te\end{vmatrix}=\begin{vmatrix}a_1^Ta_1&0\\0&e^Te\end{vmatrix}=||a_1||^2\cdot ||e||^2D=∣a1?,e∣D2=D?D=DTD(利用了行列式的性質(zhì)10)=∣(a1?,e)T∣∣(a1?,e)∣=∣(a1T?eT?)(a1?,e)∣=∣∣∣∣?a1T?a1?eTa1??a1T?eeTe?∣∣∣∣?=∣∣∣∣?a1T?a1?0?0eTe?∣∣∣∣?=∣∣a1?∣∣2?∣∣e∣∣2
則
D=±∣∣a1∣∣?∣∣e∣∣D=\pm ||a_1||\cdot ||e||D=±∣∣a1?∣∣?∣∣e∣∣
因此S=abs(D)=abs(det(a1,e))S=abs(D)=abs(det(a_1,e))S=abs(D)=abs(det(a1?,e))
由于e=a2?a1Ta2a1Ta1a1=a2?ka1e=a_2-\frac{a_1^Ta_2}{a_1^Ta_1}a_1=a_2-ka_1e=a2??a1T?a1?a1T?a2??a1?=a2??ka1?
我們可以將
det(a1,e)=det(a1,a2?ka1)=det(a1,a2)?det(a1,ka1)=det(a1,a2)det(a_1,e)=det(a_1,a_2-ka_1)=det(a_1,a_2)-det(a_1,ka_1)=det(a_1,a_2)det(a1?,e)=det(a1?,a2??ka1?)=det(a1?,a2?)?det(a1?,ka1?)=det(a1?,a2?)
最終我們可以將
S=abs(det(a1,a2))S=abs(det(a_1,a_2))S=abs(det(a1?,a2?))
得證。
如果想深入三維的可以看以下的鏈接行列式是面積/體積
二.ATAA^TAATA的特性
證明對稱矩陣:
(ATA)T=ATA(A^TA)^T=A^TA(ATA)T=ATA
證明:
求解AAA的零空間是
AX=0AX=0AX=0
求解ATAA^TAATA的零空間是
ATAX=0A^TAX=0ATAX=0
我們只需要證明以上兩個式子的解是一樣的就行
XTATAX=0(AX)TAX=0∣∣AX∣∣2=0X^TA^TAX=0\\\;\\(AX)^TAX=0\\\;\\||AX||^2=0XTATAX=0(AX)TAX=0∣∣AX∣∣2=0
則AX=0AX=0AX=0
所以ATAX=0A^TAX=0ATAX=0的解是AX=0AX=0AX=0的解是成立的。
所以有
N(ATA)=N(A)N(A^TA)=N(A)N(ATA)=N(A)
我們可以從另外一個角度看,ATAA^TAATA是對AAA進行行的線性變換,則ATAA^TAATA的行空間在AAA的行空間,因而ATAA^TAATA的秩等于AAA的秩。
三.求AX=bAX=bAX=b(無解情況)的近似解
我們之前講過,如果bbb不在AAA的列空間的話,我們無法進行線性組合組成bbb,因此我們必須將bbb投影到AAA的列空間上,這樣才有解。因此我們將方程
AX=bAX=bAX=b改寫為AX^=pA\hat X=pAX^=p
這也就是我們以上討論的情況。這個X^\hat XX^解是
X^=(ATA)?1ATb\hat X=(A^TA)^{-1}A^TbX^=(ATA)?1ATb
當且僅當(ATA)?1(A^TA)^{-1}(ATA)?1可逆。
我們可以看下圖bbb的空間分解:
因為我們做的是將bbb投影到列空間ppp上,之前我們證明了列空間和左零空間垂直,因此誤差向量eee就落在了左零空間上。
我們還可以知道p=Pbp=Pbp=Pb,而e=(I?P)be=(I-P)be=(I?P)b
四.最小二乘法
在這之前我們都在考慮的是bbb投影到列空間的ppp,而現(xiàn)在我們將注意力轉(zhuǎn)移到eee上。
先講講最小二乘法,用個例子表示一下就明白了
我們有如下三個值(1,1),(2,2),(3,2),我們打算去畫出一條線能夠去很好擬合這些點。
我們先假設(shè)這條直線b=C+Dtb=C+Dtb=C+Dt
我們很容易會寫出以下三個式子,我們當然希望這條直線經(jīng)過這三個點了
C+D=1C+2D=2C+3D=2C+D=1\\C+2D=2\\C+3D=2C+D=1C+2D=2C+3D=2
我們可以寫成
[111213][CD]=[122]AX=b\begin{bmatrix}1&1\\1&2\\1&3\end{bmatrix}\begin{bmatrix}C\\D\end{bmatrix}=\begin{bmatrix}1\\2\\2\end{bmatrix}\\AX=b???111?123????[CD?]=???122????AX=b
而我們不可能找出能過這三個點的直線,因為我們明顯上述式子無解,因此我們將試圖去減小誤差。
Minimize∣∣b?AX^∣∣2=∣∣e∣∣2Minimize ||b-A\hat X||^2=||e||^2Minimize∣∣b?AX^∣∣2=∣∣e∣∣2
有一種方法就是利用微積分中求極值去求解,另外一種方法如下,利用投影的方法,因為此時誤差是最小的呀,相當于我們求解的是
AX^=pA\hat X=pAX^=p
就是解決以下式子ATAX^=ATbA^TA\hat X=A^TbATAX^=ATb
[111123][111122132]=[36561411]→[365021]\begin{bmatrix}1&1&1\\1&2&3\end{bmatrix}\left[ \begin{array}{cc|c} 1&1&1\\ 1&2&2\\ 1&3&2 \end{array} \right]=\left[ \begin{array}{cc|c} 3&6&5\\ 6&14&11 \end{array} \right]\rightarrow\left[ \begin{array}{cc|c} 3&6&5\\ 0&2&1 \end{array} \right][11?12?13?]???111?123?122????=[36?614?511?]→[30?62?51?]
我們可以得出C^=2/3D^=1/2\hat C=2/3\quad \hat D=1/2C^=2/3D^=1/2
這條直線就是b=23+12tb=\frac{2}{3}+\frac{1}{2}tb=32?+21?t。你可以動手算算誤差。
總結(jié)
以上是生活随笔為你收集整理的线性代数系列讲解第八篇投影及AX=b(无解情况)求近似解及最小二乘法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018年度托福考情分析——口语篇
- 下一篇: 【PS算法理论探讨三】 Photosho