SVD分解
-
只有非方陣才能進行奇異值分解
-
SVD分解:把矩陣分解為 特征向量矩陣+縮放矩陣+旋轉矩陣
-
定義
設\(A∈R^{m×n}\),且$ rank(A) = r (r > 0) \(,則矩陣A的奇異值分解(SVD)可表示為 \)A = UΣV^T =
U\begin{bmatrix}
\sum &0\
0&0
\end{bmatrix}V = σ_1u_1v^T_1+σ_2u_2v^T_2+σ_ru_rv^T_r \qquad s.t.:U 和V都為正交矩陣$ -
幾何含義
- A矩陣的作用是將一個向量從V這組正交基向量的空間旋轉到U這組正交基向量的空間,並對每個方向進行了一定的縮放(由Σ決定),縮放因子就是各個奇異值。如果V的維度比U 大,則表示還進行了投影。
- 奇異值分解:將一個矩陣原本混合在一起的三種作用效果,分解出來了。
-
\(U∈R_{m×m}\) (左奇異向量):U的列為\(AA^T\)的正交特征向量
-
\(V∈R_{n×n}\)(右奇異向量):V的列為\(A^TA\)的正交特征向量
-
\(AA^T\)與\(A^TA\):是實對稱正定矩陣,且其特征值為非負實數
-
\(rank(AA^T) = rank(A^TA) = rank(A)\)
-
\(AA^T\)與\(A^TA\)的特征值相同:為\(λ_1,λ_2,...,λ_r\),且\(λ_i≥λ_i+1,λ_i≥0\)
-
\(Σ∈R_{m×n}:σ_i = Σ_{ii} = \sqrt{λ_i}\),其它元素的值為0
-
\(Σ = diag(σ_1,σ_2,...,σ_r)\)
-
\(σ_i(i=1,2,...,r),σ_1≥...≥σ_r>0\):為矩陣A的全部奇異值
SVD解齊次線性方程組
齊次線性方程組\(Ax=0\) 即為\(||Ax||_2\)的非線性優化問題,我們已經知道了x=0是該方程組的一個特解,為了避免x=0這種情況,增加一個約束,比如\(||x||_2=1\)
\begin{equation}
min||Ax|| \qquad s.t.:||x||=1
\end{equation}
\begin{equation}
min||Ax||=min||UDV^Tx||=min||DV^Tx||
\end{equation}
設
\begin{equation}
y=V^Tx
\end{equation}
則問題變為:
\begin{equation}
min||Dy||
\end{equation}
又因為\(||y||=1\),且D是一個對角矩陣,對角元素按降序排列,因此最優解在y=(0,0,...,1)T時取得,又因為x=Vy, 所以最優解就是V的最小奇異值對應的列向量。