SVD:Single Value Decomposition
來自專欄文明之光
奇異值分解(Single Value Decomposition,簡稱SVD),是線性代數中另一種非常重要的矩陣分解演算法(還有一個是特徵值分解,但特徵值分解只適用於n階方陣,並且不是所有的n階方陣都存在特徵分解,而SVD的應用更廣,它適用於任意給定的 階實數矩陣A。)除了適用於降維,SVD還能用於很多機器學習的工程領域,如推薦系統、文本主題相關性。圖1.1展示了SVD的分解樣例。
形式化來說,設矩陣 ,則矩陣A可以分解為下面的形式:
其中, 是一個m階方陣, 的值矩陣 的第i大的特徵值對應的特徵向量。 也是稱為矩陣A的左奇異向量。
是一個n階方陣, 的值矩陣 的第i大的特徵值對應的特徵向量。 也是稱為矩陣A的右奇異向量。
是一個對角矩陣,但要注意的是不一定是方陣, ,設其對角線元素為 ,其中 是矩陣 的第i大的特徵值的平方根,記為 。
在很多情況下,不需要使分解的結果 準確性還原矩陣A,只需要接近於A即可。
事實上,奇異值 與特徵值的性質相似,在矩陣 中也是從大到小排列,而且 的值減少特別快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上了。也就是說,可以用前r大的奇異值來近似描述矩陣,因此可以將公式轉化為:
其中, ,一般情況下r的值要遠遠小於m值和n值,因此 要遠遠小於 。我們只需要保存 、 和 這3個小矩陣就能還原矩陣A。
對於SVD,它的奇異值向量與奇異值均是通過求矩陣或的特徵值和特徵向量得到,由於和均為對稱矩陣,故必有n個特徵向量都線性無關,因此,對於任意的矩陣A ,它的奇異值分解必存在。
補充:跡運算
一個n階方陣A的主對角線各個元素的總和被稱為矩陣A的「跡」,一般記作trA。則有:
跡有很多重要的性質。
- 矩陣A的跡與矩陣A的F範數有緊密的聯繫。滿足:
- 矩陣A的跡與矩陣A的特徵值有緊密的關係,設 為矩陣A的所有特徵值,那麼滿足:
即矩陣的跡就是所有特徵值之和。
- 矩陣的跡滿足下面幾個等價關係:
- 利用解析法求解線性模型最優解時,將用到這些性質:
推薦閱讀:
※蘇教版四年級下冊數學期中培優名卷及答案|期中助學
※五階立方體:初級降階法
※魔術師玩數學:簡單陷阱騙到你
※實分析Ⅱ|筆記整理(7)——勒貝格積分後續應用
※工欲善其事,必先利其器——從一道數論題談起