矩陣論專欄:專欄(文章按照順序排序)
本文以線性代數知識爲基礎。關於線代知識,如一些基本的秩(不)等式、零矩陣的判定條件等,可參考下面幾篇博客。
矩陣論(零):線性代數基礎知識整理(1)——逆矩陣、初等變換、滿秩分解
矩陣論(零):線性代數基礎知識整理(2)——矩陣的秩與向量組的秩
矩陣論(零):線性代數基礎知識整理(3)——矩陣的秩與向量組的秩
矩陣論(零):線性代數基礎知識整理(4)——線性空間與線性變換
矩陣論(零):線性代數基礎知識整理(5)——特徵值與相似
廣義逆矩陣的部分主要包括以下內容:
- 左逆與右逆
- {1}逆
- 從Ax=y的求解引入{1}逆
- {1}逆的通式
- 用{1}逆討論Ax=y以及AXB=D的求解
- PM逆
- 定義
- PM逆的性質(存在性、唯一性、秩、計算性質、列空間、零空間)
- 用PM逆討論Ax=y以及AXB=D的解的存在唯一性
- PM逆的計算方法
- {1,4}逆
- 從極小範數解問題引入{1,4}逆
- A{1,4}={M∣MAAH=AH}={M∣MA=A+A}
- 利用{1,4}逆解決極小範數解的存在唯一性
- {1,3}逆
- 從最小二乘問題引入{1,3}逆
- A{1,3}={M∣AHAM=AH}={M∣AM=AA+}
- 利用{1,4}逆解決最小二乘問題以及最小二乘解與正規方程組的聯繫
- 極小範數最小二乘解問題
- 總結
因爲內容比較多,目錄中的內容分爲上、下兩篇博客來寫。其中,上篇介紹左逆右逆、{1}逆以及PM逆,下篇(本篇)介紹{1,4}逆、{1,3}逆及其之後的內容。定理1-20在上篇博客中,定理21-31在本文中。
上篇博客鏈接:鏈接。
【符號說明】
文中所用向量範數均指Frobenius範數/l2範數(文中可能有一些符號不一致的地方,但一定都是指Frobenius範數/l2範數)。
F通常表示數域,Fm×n是指元素在數域F內的m×n矩陣的集合,Frm×n是指Fm×n中所有秩爲r的矩陣。Q、R和C分別表示有理數域、實數域和複數域,本文所討論的數域僅限於這三種數域。單位矩陣用I表示,n階單位矩陣用In表示。
AH是指A的共軛轉置。注意∀A∈Fm×n,有AH∈Fn×m,這是因爲域F(F=Q或R或C)中的數取共軛後肯定還在F中,例如實數的共軛是其自身。
我們用i表示虛數單位,用Re{}表示複數的實部,Im{}表示複數的虛部。
對矩陣A,R(A)和N(A)分別表示A的列空間和零空間。
接上篇博客,我們討論極小範數解和最小二乘解問題,在探討這兩個問題之前,先看下相容方程組的定義:
- 定義:關於x的線性方程組Ax=y稱爲相容方程組或一致方程,當且僅當該方程組有解
說白了就是給有解方程組起個名稱而已。顯然齊次線性方程組都是相容的,即都是一致方程。
{1,4}逆與極小範數解
什麼是極小範數解?顧名思義,就是範數最小的解。既然極小範數解是一個解,我們當然要在一致方程的範疇中討論這個問題(後面會討論非一致方程的極小範數最小二乘解,此時極小範數是另一個含義,不過與此大體相同)。
- 定義:一致方程Ax=y的極小範數解定義爲x^滿足∣∣x^∣∣2=Ax=ymin∣∣x∣∣2
前面已經說過(定理10),一致方程Am×nx=y當y=0時的通解爲x=A(1)y,A(1)∈A{1}。這說明,當我們需要尋找一類特殊解時,可以把目標定在尋找一類特殊的{1}逆上。顯然,當y=0時,Ax=y唯一的極小範數解是x=0;當y=0時,我們就可以尋求一類特殊的{1}逆M使得x=My是極小範數解。現在,我們來看M應該滿足什麼樣的條件:
(注意極小範數這樣的問題屬於討論函數極值的一類問題,需要使用分析學的方法)
- 定理21:設A∈Fm×n,M∈A{1},數域F可以是R或C,則如下兩命題等價:
命題(1):∀y∈Fm,x=My是一致方程Ax=y的極小範數解
命題(2):MA=A+A
證明:
命題(1)等價於∀b∈Fm,x=MAb是方程Ax=Ab的極小範數解。∀b∈Fm,方程Ax=Ab的通解爲x=A+Ab+(I−A+A)z,z∈Fn。因爲M∈A{1},故必存在z^∈Fn,使得MAb=A+Ab+(I−A+A)z^。爲便於分析,引入實值輔助函數f(z)=∣∣A+Ab+(I−A+A)z∣∣2,z∈Fn。
(1)⇒(2):由命題(1)知,f在z=z^處取得最小值。則對∀v∈Fn,實值函數gv(t)=f(z^+tv),t∈R和hv(t)=f(z^+itv),t∈R都在t=0處取得最小值。由極值的必要條件,dtdgv∣t=0=0且dtdhv∣t=0=0。以dtdgv爲例:dtdgv=dtd∣∣A+Ab+(I−A+A)(z^+tv)∣∣2=dtd∣∣MAb+t(I−A+A)v∣∣2=dtd(∣∣MAb∣∣2+t2∣∣(I−A+A)v∣∣2+2tRe{<MAb,(I−A+A)v>})=2t∣∣(I−A+A)v∣∣2+2Re{<MAb,(I−A+A)v>}當t=0時,dtdgv=2Re{<MAb,(I−A+A)v>}=0。同理,當t=0時,dtdhv=2iIm{<MAb,(I−A+A)v>}=0。故<MAb,(I−A+A)v>=0,即bH(MA)H(I−A+A)v=0。注意到v∈Fn是任取的,我們可以判定bH(MA)H(I−A+A)=O,又b∈Fm,我們可以判定(MA)H(I−A+A)=O。兩端取共軛轉置得(I−A+A)MA=MA−A+A=O,即MA=A+A。
(1)⇐(2):若MA=A+A,則(MA)H(I−A+A)=O。因爲f(z)=∣∣A+Ab+(I−A+A)z∣∣2=∣∣MAb+(I−A+A)(z−z^)∣∣2=∣∣MAb∣∣2+∣∣(I−A+A)(z−z^)∣∣2+2Re{<MAb,(I−A+A)(z−z^)>}=∣∣MAb∣∣2+∣∣(I−A+A)(z−z^)∣∣2+2Re{bH(MA)H(I−A+A)(z−z^)}=∣∣MAb∣∣2+∣∣(I−A+A)(z−z^)∣∣2⩾∣∣MAb∣∣2對任意z∈Fn成立,故x=MAb是原方程的極小範數解。
我們找到了M應滿足的條件:MA=A+A,這個條件看上去並不直觀,接下來對它作個等價轉化:
- 定理22:設A∈Fm×n,M∈A{1},數域F可以是R或C,則如下兩命題等價:
命題(1):∀y∈Fm,x=My是一致方程Ax=y的極小範數解
命題(2):(MA)H=MA
證明:只需證明MA=A+A⟺(MA)H=MA。
⇒:
由於A+A是共軛對稱的,故(MA)H=MA。
⇐:
先用PM逆的定義證明MAA+=A+:
A(MAA+)A=AA+A=A
(MAA+)A(MAA+)=M(AMA)A+=MAA+
A(MAA+)=AA+,因爲AA+是共軛對稱的,故A(MAA+)是共軛對稱的
(MAA+)A=MA,因爲MA是共軛對稱的,故(MAA+)A是共軛對稱的
這就證明了MAA+=A+。用A右乘該式,就得到MA=A+A。
這個定理告訴我們M就是A的{1,4}逆,而且容易發現{1,4}逆的一個充要條件:
- 定理23:矩陣M是A的一個{1,4}逆的充要條件爲MA=A+A
證明:
根據定理21和定理22,只需證明若MA=A+A,則AMA=A即可。用A左乘MA=A+A,就得到AMA=A。得證。
實際上,{1,4}逆有不依賴於PM逆的充要條件,只要對MA=A+A做一等價轉化即可:
- 定理24:矩陣M是A的一個{1,4}逆的充要條件爲MAAH=AH
證:只需證明MA=A+A⟺MAAH=AH。
⇒:MAAH=A+AAH=(A+A)HAH=(AA+A)H=AH
⇐:MA=MAA+A=MA(A+A)H=MAAH(A+)H=AH(A+)H=(A+A)H=A+A
結合以上結論,我們便有A{1,4}={M∣MAAH=AH}={M∣MA=A+A}。
至此,我們基本上已經解決了極小範數解的問題。現在還剩下一個問題:極小範數解是唯一的還是有多個?實際上,有了前面的結論的支撐,我們很容易證明極小範數解是唯一的:
- 定理25:一致方程的極小範數解是唯一的
證明:
我們已經知道一致方程Ax=y的全部極小範數解是x=My,M∈A{1,4}。現在任取M1,M2∈A{1,4},由於Ax=y是一致方程,故AM1y=AM2y=y。M1y=(M1A)M2y=(A+A)M2y=(M2A)M2y=M2y這就證明了極小範數解是唯一的。
{1,3}逆與最小二乘解
在線性迴歸問題中,在給定的數據集下一般是沒有精確解的,那麼這時我們就希望找到的解“儘量精確”。如何做到儘量精確呢?注意到線性方程組Ax=y實際上是說,Ax這個向量與y這個向量之間無偏差,故對於非一致方程(不相容方程組、無解線性方程組)Ax=y,我們可以用Ax和y之間的偏差有多大來反映“解”x有多精確。常採用的“偏差”是Ax和y之間的歐式距離,即∣∣Ax−y∣∣2。這就引出了最小二乘解的定義:
- 定義:方程Am×nx=y的最小二乘解x^定義爲x^滿足∣∣Ax^−y∣∣2=x∈Fnmin∣∣Ax−y∣∣2
在求解極小範數解的問題時,我們一開始就已經知道極小範數解具有x=A(1)y的形式。在最小二乘問題中,我們並不好知道最小二乘解會具有怎樣的形式。所以,就像最初研究{1}逆一樣,我們假定x=My是Ax=y的最小二乘解,來探究一下這樣的矩陣M具有怎樣的性質。與極小範數解的研究思路一樣,涉及到函數極值問題,我們通常都引入分析學思路。
- 定理26:設A∈Fm×n,M∈Fn×m,數域F可以是R或C,則如下兩命題等價:
命題(1):∀y∈Fm,x=My是方程組Ax=y的最小二乘解
命題(2):AHAM=AH
證明:
對∀y∈Fm,引入實值輔助函數fy(x)=∣∣Ax−y∣∣2,x∈Fn。
(1)⇒(2):記x^=My,若命題(1)成立,則fy在x=x^處取得最小值。故對∀v∈Fn,實值函數gv(t)=fy(x^+tv),t∈R和hv(t)=fy(x^+itv),t∈R都在t=0處取得最小值。由極值的必要條件,dtdgv∣t=0=0且dtdhv∣t=0=0。以dtdgv爲例:dtdgv=dtd∣∣A(x^+tv)−y∣∣2=dtd∣∣(AM−I)y+tAv∣∣2=dtd(∣∣(AM−I)y∣∣2+t2∣∣Av∣∣2+2tRe{<(AM−I)y,Av>})=2t∣∣Av∣∣2+2Re{<(AM−I)y,Av>}當t=0時,dtdgv=2Re{<(AM−I)y,Av>}=0。同理,當t=0時,dtdhv=2iIm{<(AM−I)y,Av>}=0。故<(AM−I)y,Av>=0,即yH(AM−I)HAv=0。注意到v∈Fn是任取的,我們可以判定yH(AM−I)HA=O,又y∈Fm是任取的,我們可以判定(AM−I)HA=O。兩端取共軛轉置得AH(AM−I)=O,即AHAM=AH。
(1)⇐(2):若AHAM=AH,則(AM−I)HA=O。因爲fy(x)=∣∣Ax−y∣∣2=∣∣(AM−I)y+A(x−My)∣∣=∣∣(AM−I)y∣∣2+∣∣A(x−My)∣∣2+2Re{<(AM−I)y,A(x−My)>}=∣∣(AM−I)y∣∣2+∣∣A(x−My)∣∣2+2Re{yH(AM−I)HAv}=∣∣(AM−I)y∣∣2+∣∣A(x−My)∣∣2⩾∣∣AMy−y∣∣2對∀x∈Fn成立。故x=My是原方程的最小二乘解。
同樣地,條件AHAM=AH看起來不是很直觀,所以我們對它作個等價轉化:
- 定理27:設A∈Fm×n,M∈Fn×m,數域F可以是R或C,則如下兩命題等價:
命題(1):∀y∈Fm,x=My是方程組Ax=y的最小二乘解
命題(2):AMA=A且(AM)H=AM
證明:
由定理26知,只需證明AHAM=AH⟺AMA=A且(AM)H=AM。
⇒:
用A右乘AHAM=AH得AHAMA=AHA,即AHA(MA−I)=O。因爲r(AHA)=r(A),故由零矩陣的判定條件得A(MA−I)=O,即AMA=A。用MH左乘AHAM=AH得(AM)HAM=(AM)H,兩端取共軛轉置得(AM)HAM=AM,故(AM)H=AM。
⇐:
AHAM=AH(AM)H=(AMA)H=AH。
【注】證明中用到的零矩陣的判定條件見博客鏈接。
上面的定理告訴我們,M就是A的{1,3}逆。通過將{1,3}逆的充要條件AHAM=AH作等價轉化,可以得到{1,3}逆另一個常用的充要條件,這個條件是依賴於PM逆的:
- 定理28:M是A的{1,3}逆的充要條件爲AM=AA+
證明:
必要性:用(A+)H左乘AHAM=AH,得(A+)HAHAM=AA+AM=AM=(A+)HAH=AA+。
充分性:用AH左乘AM=AA+即得AHAM=AHAA+=AH(AA+)H=(AA+A)H=AH。
結合以上結論,我們便有A{1,3}={M∣AHAM=AH}={M∣AM=AA+}。
現在,像研究一致方程的通解一樣,我們還能找到最小二乘解的“通解”:
- 定理29:給定A的一個{1,3}逆A(1,3),線性方程組Ax=y的全部最小二乘解爲x=A(1,3)y+(I−A(1,3)A)z,z∈Fn,數域F可以是R或C
證明:
因爲∣∣A(A(1,3)y+(I−A(1,3)A)z)−y∣∣=∣∣AA(1,3)y+(A−AA(1,3)A)z−y∣∣=∣∣AA(1,3)y−y∣∣,故x=A(1,3)y+(I−A(1,3)A)z,z∈Fn都是原方程的最小二乘解。
任取原方程的任一最小二乘解x,由於∣∣Ax−y∣∣2=∣∣AA(1,3)y−y+A(x−A(1,3)y)∣∣2=∣∣AA(1,3)y−y∣∣2+∣∣A(x−A(1,3)y)∣∣2+2Re{<AA(1,3)y−y,A(x−A(1,3)y)>}=∣∣AA(1,3)y−y∣∣2+∣∣A(x−A(1,3)y)∣∣2=∣∣AA(1,3)y−y∣∣2故∣∣A(x−A(1,3)y)∣∣2=0即Ax=AA(1,3)y。該方程的通解爲x=A(1,3)y+(I−A(1,3)A)z,z∈Fn,故x=A(1,3)y+(I−A(1,3)A)z,z∈Fn包含了原方程的所有最小二乘解。綜上,得證。
在上述定理的證明中,容易看出Ax=y的全部最小二乘解就是Ax=AA(1,3)y的全部精確解。此外,最小二乘解與正規方程有着緊密的聯繫:
- 定理30:設Ax=y的最小二乘解的集合爲U1,正規方程AHAx=AHy的解集爲U2,則U1=U2
證明:
只需證明方程Ax=AA(1,3)y與AHAx=AHy等價即可。
⇒:
用AH左乘Ax=AA(1,3)y得AHAx=AHAA(1,3)y=((AA(1,3))HA)Hy=(AA(1,3)A)Hy=AHy⇐:
AHAx=AHy=(AA(1,3)A)Hy=AHAA(1,3)y,因此AHA(x−A(1,3)y)=O。因爲r(AHA)=r(A),故由零矩陣的判定條件得A(x−A(1,3)y)=O,即Ax=AA(1,3)y。
【注】證明中用到的零矩陣的判定條件見博客鏈接。
最小二乘解是唯一的嗎?由於Ax=y的全部最小二乘解就是一致方程Ax=AA(1,3)y的通解,故我們只需看Ax=AA(1,3)y的解是否唯一即可。由PM逆一節的相關結論(定理17)知道,Ax=AA(1,3)y的解唯一的充要條件是A列滿秩。所以,Ax=y的最小二乘解唯一當且僅當A列滿秩。
至此,我們已基本上解決了最小二乘解的問題。現在回到線性迴歸問題上,我們爲了使非一致方程Ax=y的求解“儘量精確”,可以取它的最小二乘解x=A+y+(I−A+A)z,z∈Fn(注意,PM逆是{1,3}逆的特例)。那麼最小二乘解中範數最小的解會是怎樣的?類似於一致方程的極小範數解?
PM逆與極小範數最小二乘解
-
定義:線性方程組Ax=y的極小範數最小二乘解x^是指範數最小的最小二乘解,即x^滿足∣∣x^∣∣⩽∣∣z∣∣,∀z∈{z∣∣∣Az−y∣∣⩽∣∣Ax−y∣∣,∀x∈Fn}前面已經給出了最小二乘解的通解形式,故該定義還可以寫成∣∣x^∣∣=z∈Fnmin{∣∣A+y+(I−A+A)z∣∣}其中數域F可以是R或C
-
定理31:線性方程組Ax=y唯一的極小範數最小二乘解是x=A+y
證明:
∀z∈Fn,==⩾∣∣A+y+(I−A+A)z∣∣2∣∣A+y∣∣2+∣∣(I−A+A)z∣∣2+2Re{<A+y,(I−A+A)z>}∣∣A+y∣∣2+∣∣(I−A+A)z∣∣2∣∣A+y∣∣2當且僅當(I−A+A)z=0時取等號,故A+y是原方程唯一的極小範數最小二乘解。
【注】實際上,容易證明Am×nx=y的最小二乘解即Ax=AA+y的解,故只需求Ax=AA+y的極小範數解:x=A+(AA+y)=A+y。
總結
本文用盡可能少的額外概念對廣義逆矩陣作了一個大體的介紹,廣義逆矩陣是描述線性方程組各種解的結構最有力的工具,其中“各種解”包括了精確解、極小範數解、最小二乘解以及極小範數最小二乘解。
線性迴歸問題介紹
機器學習中的線性迴歸問題表述如下:
設有m個樣本s1,s2,...,sm(爲表示方便,假設si是行向量),每個樣本包含n個特徵(siT∈Rn),它們的標籤分別是y1,y2,...,ym∈R。現要求得一線性模型yi=θTsi+b對於任意i成立,其中θ和b是要求解的參數。該問題可寫成如下矩陣形式:設ai=[1si],A=⎣⎢⎢⎡a1a2...am⎦⎥⎥⎤(A稱爲設計矩陣),x=[bθ],y=⎣⎢⎢⎡y1y2...ym⎦⎥⎥⎤,求解參數向量x使得Ax=y。
(1)解決線性迴歸問題的一個途徑是直接使用PM逆求極小範數最小二乘解:x=A+y是Ax=y唯一的極小範數最小二乘解。大多數編程語言的數學庫求PM逆的函數是pinv(),例如Matlab中求PM逆的函數是pinv(),python中是numpy.linalg.pinv()。
(2)解決線性迴歸問題的另一個途徑是最小化線性迴歸的代價函數:均方誤差函數是J(x)=2m1∑i=1m(θTsi+b−yi)2=2m1(Ax−y)T(Ax−y)。利用矩陣微積分可以證明使得均方誤差最小的參數向量x滿足正規方程ATAx=ATy(局部極小解)。若A列滿秩,則x=(ATA)−1ATy,正規方程的解是唯一的,故一定是使得均方誤差最小的解(全局極小解)。通常,如果不存在線性相關的特徵列且樣本數量大於特徵數量的話,A就是列滿秩的,故對於大多數情況x=(ATA)−1ATy是可行的。若A不是列滿秩的,且難以通過修改原數據集使得A列滿秩,那麼此時正規方程的解不唯一,但由於均方誤差函數是凸函數,其局部極小解一定是全局極小解,故任取正規方程的一個解都能使得均方誤差最小。
【注】上述兩種方案的不同之處在於出發點不一樣((1)從廣義逆理論的角度出發,而(2)是從概率論和凸優化的角度出發的,均方誤差函數是通過什麼概率方法得到的請參考鏈接),然而不同的出發點導出的結果實際上是一樣的:對比均方誤差函數和最小二乘解的定義可知,最小化均方誤差函數等價於求最小二乘解。定理31告訴我們,任取正規方程的一個解,都是Ax=y的一個最小二乘解,反過來也成立。這恰好驗證了廣義逆方法和凸優化方法得到的是同一個結果。