特徵值分解
首先,從特徵值分解說起。對於N階矩陣A,有:
Av=λv
其中 v 是矩陣A 的特徵向量,λ 是矩陣A 的特徵值。
這個式子的一個重要含義:⭐特徵向量被施以線性變換A只會使向量伸長或縮短,而其方向不會改變。
N階矩陣A 可分解成如下形式:——稱爲 對角化
A=QΛQ−1
這裏的:Q是由特徵向量構成的矩陣;Λ是由特徵值構成對角矩陣,與Q的特徵向量一一對應。
好了,現在只有方陣才能做特徵值分解,那不是方陣怎麼辦?也能分解成這種形式嗎?是的。
奇異值分解
接下來就是奇異值分解(Singular Value Decomposition)。
假設有矩陣 Am×n
Step1: 轉置相乘湊方陣
定理1:矩陣轉置相乘一定得到對稱矩陣
(很容易證明:假設B=ATA,則BT=(ATA)T=ATA=B,得證)
所以有:
B=AAT⇒是m×m階方陣C=ATA⇒是n×n階方陣(1)
Step2: 對稱矩陣對角化
定理2:設A爲n階實對稱矩陣,則必有正交矩陣P,使P−1AP=PTAP=Λ,其中Λ是以A的n個特徵值爲對角元的對角矩陣。(同濟第六版線性代數,第5章第4節,P128頁定理5)
即,實對稱矩陣一定可以對角化,一定可以寫成A=PΛP−1的形式,而且P還可以單位化成正交矩陣的形式。假設P單位化後的正交矩陣爲Q,正交矩陣滿足QT=Q−1,所以有:A=QΛQ−1=QΛQT 。
所以有:
Bm×m=AAT=UΛU−1=Um×mΛm×mUm×mTCn×n=ATA=VΛV−1=Vn×nΛn×nVn×nT(2)
其中U是m×m階的正交矩陣,V是n×n階的正交矩陣,Λ是特徵值組成的對角矩陣。
Step3:特徵值開平方根得奇異值
實數 和 矩陣 的類比:
實數 |
|
矩陣 |
a |
⟺ |
A |
b=a2 |
⟺ |
B=AAT或ATA |
a=±b |
⟺ |
A=對B進行平方根分解 |
b=u2λ |
⟺ |
B=UΛUT |
a=±u2λ=±uλ |
⟺ |
A=U⋅對Λ進行平方根分解 |
Λ 裏的特徵值是B,C的特徵值,而B,C類似於是A的“平方”,那我想要得到A的特徵值,就相當於要對Λ“開平方”,即要找到Σ,使得:
Λ=ΣTΣ
這其實就是矩陣的Cholesky分解法,又叫平方根分解法:
定理:若A∈Rn×n對稱正定,則存在一個對角元爲正數的下三角矩陣L∈Rn×n,使得A=LLT成立。
(如果A是半正定的(semi-definite),也可以分解,不過這時候L就不唯一了。)
對角矩陣Λ顯然是可以分解的,並且分解還不唯一,但是奇異值我們只取正的:
⎣⎢⎢⎡λ1λ2λ3⋱⎦⎥⎥⎤=⎣⎢⎢⎡λ1λ2λ3⋱⎦⎥⎥⎤⎣⎢⎢⎡λ1λ2λ3⋱⎦⎥⎥⎤
所以我們得到了:
Bm×m=AAT=UΛU−1=UΛUT=Um×mΣm×nTΣn×mUm×mTCn×n=ATA=VΛV−1=VΛVT=Vn×nΣn×mΣm×nTVn×nT(3)
Step4:插入正交矩陣湊形式
U和V是正交矩陣,滿足UTU=I,VTV=I,所以有:
Bm×m=AAT=UΛU−1=UΛUT=UΣTΣUT=(Um×mΣm×nTVn×nT)(Vn×nΣn×mUm×mT)Cn×n=ATA=VΛV−1=VΛVT=VΣΣTVT=(Vn×nΣn×mUm×mT)(Um×mΣm×nTVn×nT)(4)
最後得到上面兩個式子,由此可以看出:第一個式子左邊括號即爲A,右邊括號即爲AT;第二個式子左邊括號AT,右邊括號爲A。所以我們得到的SVD分解爲:
Am×n=Um×mΣm×nTVn×nT
我們稱 U 爲左奇異矩陣,V 爲右奇異矩陣。
(1)~(4)就是四個步驟的變化過程。
——完——