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的最小奇异值对应的列向量。