Schur分解、特徵值分解、奇異值分解是三種聯繫十分緊密的矩陣分解,它們的關係是
Schur→EVD→SVD,也就是說由Schur分解可以推導出EVD,再推導出SVD。
本篇博客討論特徵值分解和奇異值分解的相關內容。上篇博客(鏈接)討論的是Schur分解以及利用Schur分解能夠解決的若干問題,其中包括大名鼎鼎的Hamilton-Cayley定理。
本文內容以線性代數知識爲基礎(主要是特徵值和相似的知識):
矩陣論(零):線性代數基礎知識整理(1)——逆矩陣、初等變換、滿秩分解
矩陣論(零):線性代數基礎知識整理(2)——矩陣的秩與向量組的秩
矩陣論(零):線性代數基礎知識整理(3)——矩陣的秩與向量組的秩
矩陣論(零):線性代數基礎知識整理(4)——線性空間與線性變換
矩陣論(零):線性代數基礎知識整理(5)——特徵值與相似
- 特徵值分解EVD
- 正規矩陣與EVD
- EVD得到矩陣的特徵值和特徵向量
- EVD的構造方法
- EVD用於求矩陣的逼近
- 實正規矩陣的正交相似擬對角化(拓展內容)
- 奇異值分解SVD
- SVD的存在性定理
- SVD的構造方法(簡介)
- SVD的性質
- SVD用於求矩陣的逼近
- SVD在推薦系統中的應用
特徵值分解EVD(正規矩陣)
與Schur分解不同的是,特徵值分解(又叫譜分解)要求將方陣酋對角化,這比schur分解的要求更高(Schur分解只是酋相似上三角化)。實際上,只有一類特殊的方陣才能進行特徵值分解,這類特殊的方陣是正規矩陣。下面介紹特徵值分解EVD。
-
定義(譜分解):設有n階方陣A。若存在n階酋矩陣U和對角矩陣
Σ使得
A=UΣUH,則稱
A=UΣUH是A的一個譜分解
-
定義(正規矩陣):若n階方陣A滿足
AHA=AAH,則稱A是正規矩陣
(容易驗證Hermite矩陣(共軛對稱矩陣)、實對稱矩陣、酋矩陣等都是正規矩陣)
-
引理4:任意一個上三角矩陣S,若S是正規矩陣,則S必然是對角矩陣
證明:(對S的階數n進行歸納)
當n=1時,S本身就是對角矩陣。假定結論對n-1成立,現證明結論對n也成立。設
S=[S10Hba],其中a是一個標量,
S1是一個n-1階上三角陣。計算可得
SHS=[S1HS1bHS1S1HbbHb+aˉa],
SSH=[S1S1H+bbHabHaˉbaaˉ],由
SHS=SSH得
bHb+aˉa=aaˉ,故
bHb=∣∣b∣∣2=0,故
b=0,故
S1S1H+bbH=S1S1H=S1HS1,即
S1是正規矩陣,由歸納假設知
S1是對角矩陣。則
S=[S10H0a]是對角矩陣,得證。
-
定理12:n階方陣A酋相似於一個對角矩陣的充要條件爲A是正規矩陣
證明:
必要性:若A酋相似於一個對角矩陣,即存在酋矩陣U和對角矩陣
Σ使得
A=UΣUH,則
AHA=UΣUHUΣUH=UΣΣUH,
AAH=UΣUHUΣUH=UΣΣUH,注意到
ΣΣ=ΣΣ,故
AHA=AAH。
充分性:設A的Schur分解爲
A=PTPH,其中P是酋矩陣,T是上三角矩陣。由A是正規矩陣,將A代入
AHA=AAH得
PTHTPH=PTTHPH,故
THT=TTH,即上三角矩陣T是正規矩陣。於是由引理4知T是對角矩陣,故A酋相似於對角矩陣T。證畢。
EVD得到矩陣的特徵值和特徵向量
定理12說明僅正規矩陣可進行譜分解。在探討譜分解有何用處之前,我們先認識一下譜分解究竟是怎樣的,看看分解出來的對角矩陣是什麼,以及那個酋矩陣到底是什麼:
- 定理13:設正規矩陣A的譜分解爲
A=UΣUH,則
λ是A的特徵值的充要條件爲
λ在
Σ的主對角線上,且A的每個特徵值的代數重數等於其在
Σ的主對角線上出現的次數
- 定理14:設n階正規矩陣A的譜分解爲
A=UΣUH,且
Σ=diag(λ1,...,λn),
U=[u1⋯un],則
ui是A對應於特徵值
λi的特徵向量,且
u1,...,un是
Cn的標準正交基
證明:由
A=UΣUH得
AU=UΣ,故
Aui=λiui,i=1,...,n,即
ui是A對應於特徵值
λi的特徵向量。因爲U是酋矩陣,所以
u1,...,un是
Cn的標準正交基。
【推論】n階正規矩陣A有n個相互正交的特徵向量
【推論】n階正規矩陣A的任意特徵值的幾何重數與代數重數相等
上面兩個定理的結論解釋了「特徵值分解」這個名稱的來源,之所以稱之爲特徵值分解,是因爲其既分解出了特徵值,還分解出了對應的特徵向量。特徵值分解還表明,正規矩陣的特徵值和特徵向量包含了原矩陣的「全部信息」,因此我們可以通過一定的方法利用特徵值和特徵向量重構出原矩陣。
EVD的構造方法
實際上,我們已經知道U的列向量組是A的單位正交特徵向量組,那麼怎麼求出A的n個單位正交的特徵向量呢?我們容易保證屬於同一特徵值的特徵向量間的正交性(只要求出該特徵值對應的特徵子空間的標準正交基即可),但是,如何保證不同特徵值的特徵向量間的正交性呢?實際上,正規矩陣本身的性質就保證了這一點。下面我們就來看看正規矩陣的性質:
- 定理15:設A是正規矩陣,則
A和
AH的特徵值互爲共軛,且
A對應於
λ的特徵子空間
Vλ與
AH對應於
λˉ的特徵子空間
Vλˉ相同,即
Vλ=Vλˉ
證明:
將A譜分解得
A=UΣUH,則
AH=UΣUH。因爲
Σ和
Σ主對角線上對應的元素互爲共軛,所以A和
AH的特徵值互爲共軛。又
AU=UΣ,
AHU=UΣ,且U的列向量組是正交向量組,所以
A的特徵子空間
Vλ和
AH的特徵子空間
Vλˉ有同一組正交基,故
Vλ=Vλˉ。
- 定理16:設A是正規矩陣,則A對應於不同特徵值的特徵向量是正交的
證明:
設
λ和
μ是A的兩個不同特徵值,
x和
y分別是A的對應於
λ和
μ的特徵向量,即
λ=μ,Ax=λx,Ay=μy,x=0,y=0。由定理15知
μˉ是
AH的特徵值,且由
y∈Vμ,Vμ=Vμˉ知
y∈Vμˉ,故
AHy=μˉy。
μˉxHy=xH(μˉy)=xHAHy=(Ax)Hy=λˉxHy故
(μˉ−λˉ)xHy=0,由
λ=μ知
xHy=0,即
x和
y是正交的,得證。
上面的定理說明只要求出A的每個特徵值的特徵子空間的標準正交基,那麼所有的這些基向量一定兩兩正交。於是,我們有如下方法來求正規矩陣的特徵值分解:
![求正規矩陣的譜分解](http://static.javashuo.com/static/loading.gif)
![求正規矩陣的譜分解](http://static.javashuo.com/static/loading.gif)
注意,之所以我們構造出的矩陣U是酋矩陣,是因爲U的列向量組是單位正交的(其中對應於同一特徵值的特徵向量兩兩正交,對應於不同特徵值的特徵向量也兩兩正交)。而這樣的
U一定可以保證構造出了
A的一個譜分解:
因爲
UHAU=⎣⎡u11H...usrsH⎦⎤[Au11...Ausrs]=⎣⎡u11H...usrsH⎦⎤[λ1u11...λsusrs]=⎣⎡λ1Ir1⋱λsIrs⎦⎤所以
A=UΛUH是A的譜分解。
EVD的其他結論
譜分解還能得到其他一些有用的結論,如:
- 定理17:設n階正規矩陣A的譜分解爲
A=UΣUH,則
r(A)=r(Σ),即A的秩等於A的非零特徵值的個數(如果重特徵值按重數算的話),零特徵值的代數重數爲
n−r(A)
- 定理18:共軛對稱矩陣A的特徵值都是實數
證:
因A是共軛對稱矩陣,故A是正規矩陣。考慮A的譜分解
A=UΣUH,因爲
AH=A,即
UΣUH=UΣUH,所以
Σ=Σ,則對角矩陣
Σ的對角元都是實數,即A的特徵值都是實數。
此外,類似於schur分解,譜分解也可以加快矩陣的冪運算,且效果要更好。譜分解(酋相似對角化)是相似對角化的一個特殊情形,在相似對角化中有一個計算冪的經典例子:求斐波那契數列的通項,譜分解也能用在與之類似的情形。感興趣的讀者請參考矩陣論(零):線性代數基礎知識整理(5)——特徵值與相似。
機器學習應用中,常常遇到實矩陣而非復矩陣的問題。爲避免複數運算,提高效率,需儘可能熟悉實矩陣中的相關結論:
- 定理19:設
A∈Rn×n,則
A存在譜分解
A=UΣUT(其中
U是實正交矩陣,
Σ是實對角矩陣)的充要條件爲
A是實對稱矩陣
證明:
充分性:實對稱矩陣都是共軛對稱矩陣,故A的特徵值都是實數。考慮特徵方程
(λI−A)x=0,由於
λ是實數,
A是實矩陣,故
λI−A是實矩陣。取
N(λI−A)的一組實向量基,根據前述譜分解的構造方法,可以構造出
A的一個譜分解
A=UΣUT,其中
U是實正交矩陣,
Σ是實對角矩陣。
必要性:設
A存在譜分解
A=UΣUT,其中
U是實正交矩陣,
Σ是實對角矩陣,則有
AT=(UΣUT)T=UΣUT=A。
【注】該定理的一個等價表述爲:任意實對稱矩陣必可正交相似對角化。
EVD用於求矩陣的逼近
譜分解在機器學習中有重要的應用,一個典型的例子就是主成分分析(PCA)。主成分分析能夠將高維數據「壓縮」成低維數據,在去噪的同時還能保留原數據的大部分主要特徵。PCA算法會在後面的博客中詳細說,這裏我們大致瞭解一下如何求得正規矩陣的近似矩陣,以達到去噪的效果:
設n階正規矩陣A的特徵值分解爲
A=UΣUH,且
Σ=diag(λ1,...,λn),
U=[u1⋯un]。則
A=[u1⋯un]diag(λ1,...,λn)⎣⎡u1H⋯unH⎦⎤=[λ1u1⋯λnun]⎣⎡u1H⋯unH⎦⎤=Σi=1nλiuiuiH於是我們可以將原矩陣A看成是它的不同特徵的加權和。這樣我們就可以對A的特徵值按照模的大小排序,去掉模較小(注意特徵值是複數,在PCA中我們會對一個實對稱矩陣進行譜分解,此時特徵值都是實數,直接比較大小就行)的特徵值
λ對應的項
λuuH,也就是去掉權重較小的項,就得到了A的一個近似矩陣。(顯然,去掉模越接近0的特徵值的對應項,得到的矩陣與原矩陣的近似程度越高)
不過,由於特徵值分解的適用性有限,我們無法對任何矩陣都使用特徵值分解的方法來求近似矩陣。但是,後面要說的奇異值分解是適用於任意矩陣的,而奇異值分解出的奇異值和奇異向量就類似於特徵值和特徵向量的作用,故奇異值分解可以用來「分解任意矩陣的特徵」。在求任意矩陣的近似矩陣時,可以使用SVD的方法。
實正規矩陣的正交相似擬對角化(拓展內容)
我們在複數域下證明了正規矩陣必可酋對角化的結論,並且討論了實矩陣可正交相似對角化的充要條件(即必須是實對稱矩陣)。根據正規矩陣的定義可得,實正規矩陣就是滿足
ATA=AAT的矩陣
A。顯然,實對稱矩陣一定是實正規矩陣,但實正規矩陣不一定是實對稱陣(例如
A=[1−111]),所以並非所有實正規矩陣都可以正交相似對角化。但是,我們可以將它們「近似」對角化,即正交相似擬對角化。
擬對角陣具有如下形式:
⎣⎡R11⋱Rnn⎦⎤其中對角子塊
Rii是
1×1矩陣或具有一對共軛特徵值的
2×2正規矩陣。(注意,爲表述方便,這裏的擬對角陣是狹義的)
- 引理5:任意實的擬上三角陣
T,若
T是正規矩陣,則
T一定是擬對角陣
證:(對
T對角線上的子塊個數n進行歸納)
當
n=1時,
T本身就是擬對角陣。假設命題對
n−1成立,現證明命題對
n也成立。設
T=[T1OSR],其中
R是
1×1矩陣或
2×2矩陣。
TTT=[T1TSTORT][T1OSR]=[T1TT1STT1T1TSSTS+RTR]
TTT=[T1OSR][T1TSTORT]=[T1T1T+SSTRSTSRTRRT]由
TTT=TTT得
STS+RTR=RRT,進而
tr(RRT)=tr(STS)+tr(RTR)=tr(STS)+tr(RRT),故
tr(STS)=0,
S=O,
T1TT1=T1T1T。於是
T=[T1OOR],注意到
T1是有
n−1個對角子塊的擬上三角陣,故由歸納假設知
T1是擬對角陣,進而
T也是擬對角陣。證畢。
- 定理20:
A∈Rn×n正交相似於一個擬對角矩陣的充要條件爲A是正規矩陣
證明:
必要性:若A正交相似於一個擬對角矩陣,即存在正交矩陣U和擬對角矩陣
T使得
A=UTUT,則
ATA=UTTUTUTUT=UTTTUT,
AAT=UTUTUTTUT=UTTTUT,注意到
T的對角子塊都是正規矩陣,故
TTT=TTT,故
ATA=AAT。
充分性:設A的Schur分解爲
A=PTPT,其中P是正交矩陣,T是擬上三角矩陣。由A是正規矩陣,將A代入
ATA=AAT得
PTTTPT=PTTTPT,故
TTT=TTT,即擬上三角矩陣T是正規矩陣。於是由引理5知T是擬對角矩陣,故A正交相似於擬對角矩陣T。證畢。
奇異值分解SVD(任意矩陣)
奇異值分解在機器學習領域的應用實在是太廣泛了:數據壓縮、推薦系統、自然語言處理等等到處都有它的身影。這裏介紹奇異值分解的數學推導,建議數學推導之外多瞭解一些應用和直觀的幾何解釋。推薦學習奇異值的幾何意義以及奇異值分解與特徵值分解的區別與聯繫,以上知乎鏈接中的回答多是從線性變換的角度來講解奇異值分解(實際上矩陣的幾何意義就是線性變換),這樣能夠較爲直觀得理解EVD和SVD。照片壓縮直觀地給出了奇異值分解在照片壓縮上呈現的效果。
- 定義:設
A∈Crm×n,
AHA的特徵值爲
λ1⩾λ2⩾...⩾λr>λr+1=...=λn=0稱
σi=λ
i(i=1,2,...,n)爲A的奇異值
【注1】關於
AHA的特徵值爲什麼都是非負實數的問題請參考矩陣論(零):線性代數基礎知識整理(5)——特徵值與相似),注意奇異值都是非負的
【注2】因爲
r(AHA)=r(A)=r,且
AHA是一個n階正規矩陣,故
AHA的零特徵值的代數重數是
n−r,這就是爲什麼
λr+1=...=λn=0
【注3】網上看到有的人把
AHA和
AAH的特徵值完全等同起來,這是不對的(它們差就差在零特徵值上)。對奇異值的定義就是採用
AHA的特徵值來定義,用
AAH來定義是不準確的。(不過這不會影響奇異值分解的結果)
奇異值的相關性質:
- 奇異值的酋不變性(旋轉不變性):
- 定理21:設U是酋矩陣,則
UA的奇異值與
A的奇異值相同
證明:
(UA)H(UA)=AHUHUA=AHA,故由奇異值的定義得
UA的奇異值與
A的奇異值相同。
- 定理22:設U是酋矩陣,則
AU的奇異值與
A的奇異值相同
證明:
(AU)H(AU)=UH(AHA)U,即
(AU)H(AU)酋相似於
AHA,故它們的特徵值相同,由奇異值的定義得
AU的奇異值與
A的奇異值相同。
- 逆矩陣的奇異值:
- 定理23:設
A∈Cnn×n,則
A的奇異值均非零。設
A的奇異值爲
σ1⩾σ2⩾⋯⩾σn>0,則
A−1的奇異值爲
1/σn⩾1/σn−1⩾⋯⩾1/σ1
證明:
由奇異值定義的註釋2知
A的奇異值均爲正。設
AAH的一個譜分解爲
AAH=UΣUH,其中
Σ=diag(λ1,λ2,⋯,λn),λ1⩾λ2⩾⋯⩾λn>0。由於
AHA和
AAH的非零特徵值相同,且同一非零特徵值的代數重數相等,於是由奇異值的定義得
σi=λi
,i=1,2,...,n。因爲
(A−1)HA−1=(AAH)−1=UΣ−1UH,於是由奇異值的定義得
A−1的奇異值爲
1/λn
⩾1/λn−1
⩾⋯⩾1/λ1
,即
1/σn⩾1/σn−1⩾⋯⩾1/σ1。
- 正規矩陣的奇異值與特徵值的關係:
- 定理24:設正規矩陣
A∈Cn×n的奇異值爲
σ1⩾σ2⩾...⩾σn,特徵值爲
λ1,λ2,...,λn滿足
∣λ1∣⩾ ∣λ2∣⩾...⩾∣λn∣,則
σi=∣λi∣,i=1,2,...,n
證明:
設A的一個譜分解爲
A=UΣUH,其中
Σ=diag(λ1,λ2,...,λn),則
AHA=UΣUHUΣUH=UΣΣUH。注意到該式是
AHA的一個譜分解,且
ΣΣ的對角元爲
∣λ1∣2⩾ ∣λ2∣2⩾...⩾∣λn∣2,故根據奇異值的定義得
σi=∣λi∣,i=1,2,...,n。
下面我們進入奇異值分解。
SVD的存在性定理
- 定義1:設
A∈Crm×n,若存在m階酋矩陣U和n階酋矩陣V,以及
m×n廣義對角矩陣
Λ=[ΣOOO],其中
Σ=diag(σ1,...,σr),
σ1⩾..⩾σr>0爲A的非零奇異值,使得
A=UΛVH,則稱
A=UΛVH是A的一個奇異值分解
【注1】由於在
Σ的對角線上
A的非零奇異值是從大到小排列的,故若
A的奇異值分解存在,則
Λ唯一。在有些資料的定義中,廣義對角矩陣
Λ的對角線元素的大小順序可以是任意的,但一般來說爲便於分析更常約束
Λ的對角線元素從大到小排列。
【注2】由於
AHA和
AAH的非零特徵值相同,且同一非零特徵值的代數重數相等,故A的非零奇異值既是
AHA的非零特徵值的算數平方根,又是
AAH的非零特徵值的算數平方根。
【注3】由奇異值分解的定義及注2知,若
A=UΛVH是A的一個奇異值分解,則
AH=VΛUH是
AH的一個奇異值分解(但需注意的是,
A的奇異值與
AH的奇異值不完全等同,且只差在零奇異值上)
上述定義的條件可以減弱:
- 定義2:設
A∈Cm×n,若存在m階酋矩陣
U和n階酋矩陣
V,以及
m×n廣義對角矩陣
Λ=[ΣOe">Λ=[ΣOOO],其中
Σ=diag(σ1,σ2,...,σr),
σ1⩾σ2⩾...σr>0,使得
A=UΛVH,則稱
A=UΛVH是
A的一個奇異值分解
【注】注意定義1和定義2的區別:定義1中設
A∈Cr,
σ
2
,
.
.
.
,
σ
r
)
\Sigma=diag(\sigma_1,\sigma_2,...,\sigma_r)
Σ=diag(σ1,σ2,...,σr),
σ1⩾σ2⩾...σr>0,使得
A=UΛVH,則稱
A=UΛVH是
A的一個奇異值分解
【注】注意定義1和定義2的區別:定義1中設
A∈Crm×n,而定義2中設
1⩾σ2