SVD奇異值分解 中特徵值與奇異值的數學理解與意義
阿新 • • 發佈:2019-01-01
前言
之前的部落格中SVD推薦演算法寫得不是很嚴謹, 更像是矩陣分解多一點,沒有涉及到SVD的數學意義,這篇部落格大概會寫一些數學SVD的數學理解,以及SVD在PCA和推薦演算法上面的應用。
特徵值與特徵向量
如果一個向量是 方陣 的特徵向量,將可以表示成下面的形式:
此時就被稱為特徵向量對應的特徵值,並且一個矩陣的一組特徵向量是一組正交向量。特徵值分解是將一個矩陣分解成下面的形式:
其中是這個矩陣的特徵向量組成的矩陣,
缺點也非常明顯,就是隻適用於方陣,但對於實際情景中我們資料大部分都不是方陣,此時就要引入奇異值分解SVD了。
奇異值分解
奇異值分解(Singular Value Decomposition, SVD)是線性代數中一種重要的矩陣分解,在訊號處理、統計學等領域有重要應用。奇異值分解是一個能適用於任意的矩陣的一種分解的方法:
假設是一個N * M的矩陣,那麼得到的是一個N * N的方陣(裡面的向量是正交的,U裡面的向量稱為左奇異向量),
那麼,我們有
這也就是說, 的列向量(左奇異向量),是 的特徵向量;同時,的列向量(右奇異向量),是 的特徵向量;另一方面,的奇異值( 的非零對角元素)則是 或者 的非零特徵值的平方根。
將奇異值和特徵值是對應起來:我們將一個矩陣,將會得到一個方陣,我們用這個方陣求特徵值可以得到:
這裡的向量,就是我們上面的右奇異向量。此外我們還可以得到:
這裡的就是上面說的奇異值,