矩陣的終極分解-奇異值分解 SVD

說到一個矩陣,怎麼才算是真正掌握它?

一個完美分解的方法就是SVD分解。什麼是SVD?全稱是 singular Value Decomposition。奇異值分解。

把矩陣Am*n分解為一個三個矩陣相乘的形式,即A=U*∑*V',這三個矩陣是最簡單的矩陣, Um*m是一個單位正交矩陣,Zm*n是一個對角陣,而 Vn*n是另一個正交單位矩陣;並且∑m*n作為對角矩陣,還是元素由大到小排列的。V'即V^T,表示V的轉置。

矩陣的終極分解-奇異值分解 SVD


矩陣的終極分解-奇異值分解 SVD

(單位正交矩陣是非常簡單的矩陣,U^T=U^-1,首先它的逆就等於其轉置。其次,它的每一個列向量的長度等於1並且每兩個行向量相互正交,每一個行向量的長度等於1並且每兩個行向量相互正交。)

那麼有什麼簡單的方法可以求出U和V還有∑?證明如下:

矩陣的終極分解-奇異值分解 SVD

因為sigma 是對角陣,設對角上的元素是K1,K2……Kn,則∑^2矩陣對角元素就是

∑元素的平方。

所以 A*A'=U*∑^2*U',因為∑^2也是對角陣,這個形式就是對A*A'的特徵向量分解,U就是A*A'特徵向量矩陣,而∑^2就是該矩陣的特徵值。

如果向量v與變換B滿足Bv=λv,則稱向量v是變換B的一個特徵向量,λ是相應的特徵值。這一等式被稱作“特徵值方程”。描述正方形矩陣的特徵值的重要工具是特徵多項式,λ是A的特徵值等價於線性方程組(B – λI) v = 0 (其中I是單位矩陣)有非零解v (一個特徵向量),因此等價於行列式|B – λI|=0

從幾何上來看,A乘以一個向量x,可以分為以下幾步:

首先,x表示為任意一組正交基的線性組合,v1和v2是正交的,互相垂直。

先乘以V'表示將v1 v2變成標準正交基,再乘以∑表示對兩個基不同程度的拉伸。

再乘以U表示拉伸後的旋轉。

在此過程中,一組正交基乘以個正交矩陣的作用,僅僅是旋轉了,向量幅度沒變化,而乘以對角矩陣,則相當於每一個維度的基單獨被伸長或者縮短了,但是向量的幅角沒變。

簡而言之:就是被旋轉,拉伸不同倍數,在旋轉。

這樣可以更形象的理解一個向量,被矩陣A線性變換後的每一步到底做了什麼,有什麼意義。

矩陣的終極分解-奇異值分解 SVD

矩陣的終極分解-奇異值分解 SVD

矩陣的終極分解-奇異值分解 SVD


分享到:


相關文章: