奇異值分解(Singular Value Decomposition,簡稱SVD)是一種在線性代數中常用的矩陣分解方法。對於任意一個m×n的實數矩陣A,其奇異值分解可以表示為:
A = UΣVᵀ
U 是一個m×m的正交矩陣,其列向量是A的左奇異向量。
Σ 是一個m×n的對角矩陣,其對角線上的元素是A的奇異值,這些奇異值有嚴格遞減的順序排列。
V 是一個n×n的正交矩陣,其列向量是A的右奇異向量。
ᵀ 表示矩陣的轉置。
奇異值分解的原理基於線性代數的概念,其基本思想是將原始矩陣A通過正交變換U和V轉化為一個對角矩陣Σ,其中Σ的對角線上的元素是原始矩陣A的奇異值。具體的奇異值分解算法包括以下步驟:
計算A的轉置矩陣Aᵀ與A的乘積AᵀA。
求解AᵀA的特徵值和特徵向量,特徵向量構成正交矩陣V。
計算A的乘積AAᵀ。
求解AAᵀ的特徵值和特徵向量,特徵向量構成正交矩陣U。
根據特徵值構造對角矩陣Σ,奇異值為特徵值的平方根,並對奇異值進行遞減排序。
得到A的奇異值分解A = UΣVᵀ。
例如,對於一個5×4的矩陣A,其奇異值分解的結果可以表示為:
A = UΣVᵀ
其中U和V是正交矩陣,Σ是對角矩陣,其對角線上的元素是A的奇異值。這些奇異值可以通過計算A的轉置矩陣Aᵀ與A的乘積AᵀA的特徵值的平方根得到,並對這些奇異值進行遞減排序。