-
奇異值分解
鎖定
- 中文名
- 奇異值分解
- 外文名
- Singular Value Decomposition
- 特 徵
- 對矩陣的擾動不敏感
- 應 用
- 矩陣分解
- 應用學科
- 線性代數
- 所屬領域
- 信號處理、統計學
奇異值分解基本介紹
奇異值分解在某些方面與對稱矩陣或Hermite矩陣基於特徵向量的對角化類似。然而這兩種矩陣分解儘管有其相關性,但還是有明顯的不同。譜分析的基礎是對稱陣特徵向量的分解,而奇異值分解則是譜分析理論在任意矩陣上的推廣。
[1]
奇異值分解理論描述
假設M是一個m×n階矩陣,其中的元素全部屬於域 K,也就是實數域或複數域。如此則存在一個分解使得
常見的做法是為了奇異值由大而小排列。如此Σ便能由M唯一確定了。(雖然U和V仍然不能確定)
直觀的解釋
在矩陣M的奇異值分解中
·U的列(columns)組成一套對M的正交"輸入"或"分析"的基向量。這些向量是MM*的特徵向量。
·V的列(columns)組成一套對M的正交"輸出"的基向量。這些向量是M*M的特徵向量。
·Σ對角線上的元素是奇異值,可視為是在輸入與輸出間進行的標量的"膨脹控制"。這些是M*M及MM*的奇異值,並與U和V的列向量相對應。
奇異值和奇異向量, 以及他們與奇異值分解的關係
其中向量u 和v分別為σ的左奇異向量和右奇異向量。
對於任意的奇異值分解,矩陣Σ的對角線上的元素等於M的奇異值。U和V的列分別是奇異值中的左、右奇異向量。因此,上述定理表明:
(1)一個m × n的矩陣至多有 p = min(m,n)個不同的奇異值;
(2)總是可以找到在Km 的一個正交基U,組成M的左奇異向量;
(3)總是可以找到和Kn的一個正交基V,組成M的右奇異向量。
如果一個奇異值中可以找到兩個左(或右)奇異向量是線性相關的,則稱為退化。
非退化的奇異值具有唯一的左、右奇異向量,取決於所乘的單位相位因子eiφ(根據實際信號)。因此,如果M的所有奇異值都是非退化且非零,則它的奇異值分解是唯一的,因為U中的一列要乘以一個單位相位因子且同時V中相應的列也要乘以同一個相位因子。
根據定義,退化的奇異值具有不唯一的奇異向量。因為,如果u1和u2為奇異值σ的兩個左奇異向量,則兩個向量的任意規範線性組合也是奇異值σ一個左奇異向量,類似的,右奇異向量也具有相同的性質。因此,如果M 具有退化的奇異值,則它的奇異值分解是不唯一的。
奇異值分解幾何意義
因為U 和V 向量都是單位化的向量, 我們知道U的列向量u1,...,um組成了K空間的一組標準正交基。同樣,V的列向量v1,...,vn也組成了K空間的一組標準正交基(根據向量空間的標準點積法則)。
線性變換T:即K → K,把向量Nx變換為Mx。考慮到這些標準正交基,這個變換描述起來就很簡單了:T(vi) = σi ui, for i = 1,...,min(m,n),其中σi 是對角陣Σ中的第i個元素;當i > min(m,n)時,T(vi) = 0。
這樣,SVD理論的幾何意義就可以做如下的歸納:對於每一個線性映射T: K → K,T把K的第i個基向量映射為K的第i個基向量的非負倍數,然後將餘下的基向量映射為零向量。對照這些基向量,映射T就可以表示為一個非負對角陣。
奇異值分解應用
奇異值分解求偽逆
奇異值分解可以被用來計算矩陣的偽逆。若矩陣 M 的奇異值分解為
,那麼 M 的偽逆為
。
奇異值分解平行奇異值
把頻率選擇性衰落信道進行分解。
奇異值分解矩陣近似值
奇異值分解在統計中的主要應用為主成分分析(PCA),一種數據分析方法,用來找出大量數據中所隱含的“模式”,它可以用在模式識別,數據壓縮等方面。PCA算法的作用是把數據集映射到低維空間中去。 數據集的特徵值(在SVD中用奇異值表徵)按照重要性排列,降維的過程就是捨棄不重要的特徵向量的過程,而剩下的特徵向量組成的空間即為降維後的空間。
奇異值分解編程
幾種編程語言中計算SVD的函式範例
matlab:
[b c d]=svd(x)
OpenCV:
void cvSVD( CvArr* A, CvArr* W, CvArr* U=NULL, CvArr* V=NULL, int flags=0 )