本文的閱讀等級:中級
1960年代初以前,奇異值分解 (singular value decomposition,簡稱 SVD) 普遍被視為一個模糊的理論概念,原因在於當時並不具備實際可行的算法。自從美國計算機科學教授格魯布 (Gene Golub) 與卡韓 (William Kahan) 於1965年率先發表了第一個有效的算法後,奇異值分解的價值才逐漸受到學者肯定,至今已成為線性代數中應用最廣的矩陣分解式[1]。為甚麼奇異值分解這麼重要?這個問題可以從兩個層面加以剖析:奇異值分解的運作原理是甚麼?奇異值分解有哪些經典的應用?本文針對第一個問題提供部分解答。我們從線性變換觀點解釋奇異值分解的運算與意義,並藉此聯繫線性代數的一些核心概念,如值域、核、基本子空間、正交基底和座標變換。 (關於奇異值分解的推導和應用請參閱“奇異值分解專題”列舉的相關文章。)
令 為一個
階實矩陣,
的奇異值分解 (SVD) 具有下列形式 (見“奇異值分解 (SVD)”):
,
其中
是
階正交矩陣 (
),行向量
稱為左奇異向量,它們組成一個單範正交集 (orthonormal set):
若
,
若
;
是
階正交矩陣 (
),行向量
稱為右奇異向量,它們組成一個單範正交集:
若
,
若
;
是
階對角矩陣,主對角元
和
,
,稱為奇異值,如下:
。
以下討論限定於實矩陣,如欲將本文內容推廣至複矩陣,僅需將 替換為
,轉置
換為共軛轉置
,
和
則為么正 (unitary) 矩陣 (見“特殊矩陣 (3):么正矩陣 (酉矩陣)”)。
除了 ,奇異值分解還有其他等價的表達方式。上式等號兩邊右乘
,可得
,即
。
乘開可得下列方程組:
稱為基底映射表達式 (稍後將詳細解釋)。使用矩陣乘法的行列展開 (見“矩陣乘法的現代觀點”),可導出奇異值分解的另一個等價表達式:
稱為秩-1 (rank-one) 矩陣組合式,因為 是
個秩-1矩陣
的線性組合,組合權重即為奇異值
。
我們知道 階實矩陣
是一個
映至
的線性變換,即
。因為
是一個單範正交集,故為
的一組基底。對於任一
,存在唯一數組
使得
,
其中 是
參考
的座標向量,記為
(見“圖解基底變換、座標變換、相似變換與相似矩陣”)。利用單範正交性質,上式左乘
,可得組合係數
,推導如下:
。
利用基底映射表達式,可求得 經線性變換
的像 (image,即映射結果):
使用秩-1矩陣組合式也可得到相同結果:
。
奇異值分解所表示的變換矩陣 的映射過程包含三個步驟:先求
至基底向量
的正交投影 (見“正交投影──威力強大的線代工具”),得到分量
;計算此分量的像
;最後加總所有正交分量的像,此即
。
接著討論奇異值分解給出的四個基本子空間基底。從上面的 計算式和基底映射表達式可知
的行空間 (即值域)
和零空間 (即核)
分別是 (見“線性代數基本定理 (一)”)
所以,,
。另一方面,
階矩陣
可看作從
映至
的逆向線性變換,即
。對
取轉置,
,右乘
,可得
。對應
奇異值分解的基底映射表達式為
因為 是一個單範正交集,故為
的一組基底。對於任一
,存在唯一數組
使得
,
其中 是
參考
的座標向量,記為
。使用基底映射表達式亦可求得
經矩陣變換
的像:
,
故 的列空間
和左零空間
,即
的行空間和零空間,分別為
以上結果說明列空間是零空間的正交補餘,,行空間是左零空間的正交補餘,
(見“線性代數基本定理 (二)”)。下圖顯示
階實矩陣
的奇異值分解所描述的單範正交基底映射關係。
最後我們想知道在座標變換觀點下,如何解釋線性映射 ?代入奇異值分解,
。
上式左乘 ,可得
,其中
是
參考
基底
的座標向量,
是
參考
基底
的座標向量。所以,
,
這表明 即是
參考基底
–
的表示矩陣,一般記為
或
。下面是奇異值分解的映射圖。
奇異值分解的亮點之一是向量 和
與其各自的座標向量
和
有相同的長度:
換句話說,正交矩陣 和
的實際作用僅在「旋轉」或「鏡射」座標系統。在新座標系統中,變換矩陣
具有最簡約的主對角形式,每一奇異值
代表右奇異向量
的指向軸映至左奇異向量
的指向軸的拉伸量。利用奇異值分解的座標變換機制很容易解決較為複雜的映射問題。例如,「若
,求
所形成的集合。」轉換至新座標系統,等價問題變得異常簡單 (見“奇異值分解的幾何意義”):「若
的長度等於
,求
的集合。」所以在線性變換觀點下,我們可以推演出這樣的結論:奇異值分解
對角化
階實矩陣
好比譜分解
對角化
階矩陣
,其中
是
的特徵值組成的對角矩陣,
由對應的線性獨立特徵向量所構成。
參考來源:
[1] Cleve Moler, Professor SVD, The MathWorks News & Notes, October 2006.
哈哈 想不到多年以後回來看這一篇 竟然還有領悟
謝謝老師 T^T
哪天來新竹我們一起吃頓飯。
Of course, 該換我請客了 :)
老师写的真的太好了,这么多年还在坚持!