標籤:

(六)奇異值的物理意義

知乎用戶:奇異值的物理意義?

作者:鄭寧

鏈接:zhihu.com/question/2223

來源:知乎

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

矩陣的奇異值是一個數學意義上的概念,一般是由奇異值分解(Singular Value Decomposition,簡稱SVD分解)得到。如果要問奇異值表示什麼物理意義,那麼就必須考慮在不同的實際工程應用中奇異值所對應的含義。下面先盡量避開嚴格的數學符號推導,直觀的從一張圖片出發,讓我們來看看奇異值代表什麼意義。

這是女神上野樹里(Ueno Juri)的一張照片,像素為高度450*寬度333。暫停舔屏先(痴漢臉

我們都知道,圖片實際上對應著一個矩陣,矩陣的大小就是像素大小,比如這張圖對應的矩陣階數就是450*333,矩陣上每個元素的數值對應著像素值。我們記這個像素矩陣為A

現在我們對矩陣A進行奇異值分解。直觀上,奇異值分解將矩陣分解成若干個秩一矩陣之和,用公式表示就是:

(1) quadquad qquad A = sigma_1 u_1v_1^{rm T}+sigma_2 u_2v_2^{rm T}+...+sigma_r u_rv_r^{rm T}

其中等式右邊每一項前的係數sigma就是奇異值,uv分別表示列向量,秩一矩陣的意思是矩陣秩為1。注意到每一項uv^{rm T}都是秩為1的矩陣。我們假定奇異值滿足sigma_1geqsigma_2geq...geqsigma_r>0(奇異值大於0是個重要的性質,但這裡先別在意),如果不滿足的話重新排列順序即可,這無非是編號順序的問題。

既然奇異值有從大到小排列的順序,我們自然要問,如果只保留大的奇異值,捨去較小的奇異值,這樣(1)式里的等式自然不再成立,那會得到怎樣的矩陣——也就是圖像?

A_1=sigma_1 u_1v_1^{rm T},這隻保留(1)中等式右邊第一項,然後作圖:

結果就是完全看不清是啥……我們試著多增加幾項進來:A_5=sigma_1 u_1v_1^{rm T}+sigma_2 u_2v_2^{rm T}+sigma_3 u_3v_3^{rm T}+sigma_4 u_4v_4^{rm T}+sigma_5 u_5v_5^{rm T},再作圖

隱約可以辨別這是短髮伽椰子的臉……但還是很模糊,畢竟我們只取了5個奇異值而已。下面我們取20個奇異值試試,也就是(1)式等式右邊取前20項構成A_{20}

雖然還有些馬賽克般的模糊,但我們總算能辨別出這是Juri醬的臉。當我們取到(1)式等式右邊前50項時:

我們得到和原圖差別不大的圖像。也就是說當k從1不斷增大時,A_k不斷的逼近A。讓我們回到公式

(1) quadquad qquad A = sigma_1 u_1v_1^{rm T}+sigma_2 u_2v_2^{rm T}+...+sigma_r u_rv_r^{rm T}

矩陣A表示一個450*333的矩陣,需要保存450times 333=149850個元素的值。等式右邊uv分別是450*1和333*1的向量,每一項有1+450+333=784個元素。如果我們要存儲很多高清的圖片,而又受限於存儲空間的限制,在儘可能保證圖像可被識別的精度的前提下,我們可以保留奇異值較大的若干項,捨去奇異值較小的項即可。例如在上面的例子中,如果我們只保留奇異值分解的前50項,則需要存儲的元素為784times50=39200,和存儲原始矩陣A相比,存儲量僅為後者的26%。

下面可以回答題主的問題:奇異值往往對應著矩陣中隱含的重要信息,且重要性和奇異值大小正相關。每個矩陣A都可以表示為一系列秩為1的「小矩陣」之和,而奇異值則衡量了這些「小矩陣」對於A的權重。

在圖像處理領域,奇異值不僅可以應用在數據壓縮上,還可以對圖像去噪。如果一副圖像包含雜訊,我們有理由相信那些較小的奇異值就是由於雜訊引起的。當我們強行令這些較小的奇異值為0時,就可以去除圖片中的雜訊。如下是一張25*15的圖像(本例來源於[1])

但往往我們只能得到如下帶有雜訊的圖像(和無雜訊圖像相比,下圖的部分白格子中帶有灰色):

通過奇異值分解,我們發現矩陣的奇異值從大到小分別為:14.15,4.67,3.00,0.21,……,0.05。除了前3個奇異值較大以外,其餘奇異值相比之下都很小。強行令這些小奇異值為0,然後只用前3個奇異值構造新的矩陣,得到

可以明顯看出雜訊減少了(白格子上灰白相間的圖案減少了)。

奇異值分解還廣泛的用於主成分分析(Principle Component Analysis,簡稱PCA)和推薦系統(如Netflex的電影推薦系統)等。在這些應用領域,奇異值也有相應的意義。

考慮題主在問題描述中的敘述:「把m*n矩陣看作從m維空間到n維空間的一個線性映射,是否:各奇異向量就是坐標軸,奇異值就是對應坐標的係數?」我猜測,題主更想知道的是奇異值在數學上的幾何含義,而非應用中的物理意義。下面簡單介紹一下奇異值的幾何含義,主要參考文獻是美國數學協會網站上的文章[1]。

下面的討論需要一點點線性代數的知識。線性代數中最讓人印象深刻的一點是,要將矩陣和空間中的線性變換視為同樣的事物。比如對角矩陣M作用在任何一個向量上

begin{bmatrix} 3 & 0  0 & 1 end{bmatrix} begin{bmatrix} x  y end{bmatrix} = begin{bmatrix} 3x  y end{bmatrix}

其幾何意義為在水平x方向上拉伸3倍,y方向保持不變的線性變換。換言之對角矩陣起到作用是將水平垂直網格作水平拉伸(或者反射後水平拉伸)的線性變換。

如果M不是對角矩陣,而是一個對稱矩陣

M= begin{bmatrix} 2 & 1  1 & 2 end{bmatrix}

那麼,我們也總可以找到一組網格線,使得矩陣作用在該網格上僅僅表現為(反射)拉伸變換,而沒有旋轉變換

考慮更一般的非對稱矩陣

M= begin{bmatrix} 1 & 1  0 & 1 end{bmatrix}

很遺憾,此時我們再也找不到一組網格,使得矩陣作用在該網格上之後只有拉伸變換(找不到背後的數學原因是對一般非對稱矩陣無法保證在實數域上可對角化,不明白也不要在意)。我們退求其次,找一組網格,使得矩陣作用在該網格上之後允許有拉伸變換旋轉變換,但要保證變換後的網格依舊互相垂直。這是可以做到的

下面我們就可以自然過渡到奇異值分解的引入。奇異值分解的幾何含義為:對於任何的一個矩陣,我們要找到一組兩兩正交單位向量序列,使得矩陣作用在此向量序列上後得到新的向量序列保持兩兩正交。下面我們要說明的是,奇異值的幾何含義為:這組變換後的新的向量序列的長度。

當矩陣M作用在正交單位向量v_1v_2上之後,得到Mv_1Mv_2也是正交的。令u_1u_2分別是Mv_1Mv_2方向上的單位向量,即Mv_1=sigma_1 u_1Mv_2=sigma_2 u_2,寫在一起就是Mleft[ v_1quad v_2 right]=left[ sigma_1u_1quad sigma_2u_2 right],整理得:

M=Mleft[ v_1quad v_2 right] begin{bmatrix} v_1^{rm T}  v_2^{rm T} end{bmatrix} =left[ sigma_1u_1quad sigma_2u_2 right] begin{bmatrix} v_1^{rm T}  v_2^{rm T} end{bmatrix} =left[ u_1quad u_2 right] begin{bmatrix} sigma_1 & 0  0 & sigma_2 end{bmatrix} begin{bmatrix} v_1^{rm T}  v_2^{rm T} end{bmatrix}

這樣就得到矩陣M的奇異值分解。奇異值sigma_1sigma_2分別是Mv_1Mv_2的長度。很容易可以把結論推廣到一般n維情形。

下面給出一個更簡潔更直觀的奇異值的幾何意義(參見[2])。先來一段線性代數的推導,不想看也可以略過,直接看黑體字幾何意義部分:

假設矩陣A的奇異值分解為

A=left[ u_1quad u_2 right] begin{bmatrix} 3 & 0  0 & 1 end{bmatrix} begin{bmatrix} v_1^{rm T}  v_2^{rm T} end{bmatrix}

其中u_1,~u_2,~v_1,~v_2是二維平面的向量。根據奇異值分解的性質,u_1,~u_2線性無關,v_1,~v_2線性無關。那麼對二維平面上任意的向量x,都可以表示為:x=xi_1 v_1+xi_2 v_2

A作用在x上時,

y=Ax=A[v_1quad v_2] begin{bmatrix} xi_1  xi_2 end{bmatrix}= left[ u_1quad u_2 right] begin{bmatrix} 3 & 0  0 & 1 end{bmatrix} begin{bmatrix} v_1^{rm T}  v_2^{rm T} end{bmatrix} [v_1quad v_2] begin{bmatrix} xi_1  xi_2 end{bmatrix}=3xi_1u_1+xi_2u_2

eta_1=3xi_1,~eta_2=xi_2,我們可以得出結論:如果x是在單位圓xi_1^2+xi_2^2=1上,那麼y正好在橢圓eta_1^2/3^2+eta_2^2/1^2=1上。這表明:矩陣A將二維平面中單位圓變換成橢圓,而兩個奇異值正好是橢圓的兩個半軸長,長軸所在的直線是{rm span}{u_1},短軸所在的直線是{rm span}{u_2}.

推廣到一般情形:一般矩陣A將單位球|x|_2=1變換為超橢球面E_m={yin {bf C}^m:~y=Ax,~xin{bf C}^n,~|x|_2=1},那麼矩陣A的每個奇異值恰好就是超橢球的每條半軸長度

參考文獻:

[1] We Recommend a Singular Value Decomposition(Feature Column from the AMS)

[2] 徐樹方,《矩陣計算的理論與方法》,北京大學出版社。

推薦閱讀:

協方差矩陣與相關性
第四課:特徵值與特徵向量
第二十六課:M-P廣義逆矩陣的計算方法
第三課:正交投影

TAG:矩阵 |