SVD分解
-
只有非方阵才能进行奇异值分解
-
SVD分解:把矩阵分解为 特征向量矩阵+缩放矩阵+旋转矩阵
-
定义
设(A∈R^{m×n}),且$ rank(A) = r (r > 0) (,则矩阵A的奇异值分解(SVD)可表示为 )A = UΣV^T =
Uegin{bmatrix}
sum &0
0&0
end{bmatrix}V = σ_1u_1vT_1+σ_2u_2vT_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)
egin{equation}
min||Ax|| qquad s.t.:||x||=1
end{equation}
egin{equation}
min||Ax||=min||UDVTx||=min||DVTx||
end{equation}
设
egin{equation}
y=V^Tx
end{equation}
则问题变为:
egin{equation}
min||Dy||
end{equation}
又因为(||y||=1),且D是一个对角矩阵,对角元素按降序排列,因此最优解在y=(0,0,...,1)T时取得,又因为x=Vy, 所以最优解就是V的最小奇异值对应的列向量。