從定義出發理解奇異值分解(SVD)
最近看奇異值分解,感覺網上的文章不是特別嚴謹,參考了這篇文章,A Singularly Valuable Decomposition: The SVD of a Matrix,得到了比較嚴謹的奇異值分解的原理推導。
特徵分解
首先說一下矩陣A的特徵分解(eigenvalue decomposition, EVD)。
對於n×n矩陣A(行列必須相同),如果A有n個線性無關的特徵向量,矩陣A才可以對角化,才能進行特徵分解,有些矩陣沒有達到n個線性無關的特徵向量是無法對角化的(這邊是網上一些文章的漏洞)。若A是實對稱矩陣,則有更好的性質,屬於A的不同特徵值的特徵向量一定正交(正交一定線性無關,線性無關不一定正交)。
對於實對稱矩陣A,可以特徵分解
其中,V的列向量是A的特徵向量,D是對角矩陣,對角元素是對應特徵向量的A的特徵值。並且V是正交矩陣,即 。這是線代書上實對稱矩陣對角化的定理得來。
奇異值分解
對於一般的m×n的實矩陣A,即各個元素都是實數,如何進行矩陣的分解呢?注意到 一定是對稱矩陣,我們可以利用這個性質進一步操作。根據實對稱矩陣特徵分解性質,令
D是對角矩陣,對角元素 是 的特徵值。由V是正交矩陣,令V的列向量為 ,由實對稱矩陣的性質可知這些向量都是 的特徵向量,並且是一組正交基底。通過這組正交基,我們可以得到更有趣的性質,即 也是一組正交基。證明如下:
因為 這些特徵向量相互正交,所以 也是一組正交基。
令i=j,那麼有
我們定義
就可以得到
為矩陣V的列向量, 為矩陣U的列向量,拼接一下此可以得到下式(這邊想不通的同學,可以寫一個小的矩陣乘起來等號左右兩邊對應元素試一下,是相等的)
其中, 是對角矩陣,對角元素為 。V是正交矩陣,U是通過定義得來,也是正交矩陣
由 ,我們可以得到奇異值分解結果
SVD和EVD的關係
上面的構造通過對 求特徵分解(EVD),得到了矩陣A的奇異值分解(SVD)。同樣,我們可以從矩陣A的奇異值分解(SVD)得到 特徵分解(EVD)。
假設 已經給定,注意到U和V都是正交矩陣,可以得到下面兩式
注意等式右邊中間兩個對角矩陣的乘積還是對角矩陣,對角元素變為 ,因此,我們可以到 和 的特徵分解(EVD)。
通過以上推導,我們可以看出,對於任意的矩陣A的奇異值分解,其右奇異向量(V的列向量)一定為 的特徵向量,左奇異向量(U的列向量)一定為 的特徵向量。所以我們進行SVD時,只需要對 和 進行特徵分解(EVD),求出相應的U和V即可。
具體算例可以參考網上其他文章,本文只是整理一下SVD為什麼要這樣計算。
推薦閱讀:
※dx dy的意思 微分的定義 導數符號的意思
※古典概型
※二項式定理(非整數冪)
※2.3 四種重要的線性PDE (3)
※泰勒公式在做等價替換時如何確定階數