【SVD】奇异值分解 -- 学习笔记

参考资料:数值分析


  • 若A为Hermite阵,
    可用-酉相似变换-将其化为对角形式: Q ∗ A Q = Λ Q^{*}AQ=\Lambda QAQ=Λ,即得到谱分解,也就是特征值分解;
    谱分解保持矩阵的秩和特征值不变。
  • 若A非Hermite阵,
  1. 可用-初等变换-化为比较简单的对角形式,
    A = P [ I 0 0 0 ] Q A=P\begin{bmatrix}I&0\\0&0\end{bmatrix}Q A=P[I000]Q
    即满秩分解,保持矩阵的秩不变;
  2. 可用-相似变换-将其化为Jordan形,即Jordan分解, A = P J P − 1 A=PJP^{-1} A=PJP1,保持矩阵的秩和特征值不变。
  3. 可用-酉相似变换-将其化为上三角形式,即Schur分解 A = Q R Q ∗ A = QRQ^{*} A=QRQ,保持秩和特征值不变。
  4. 可用-酉变换-(不要求相似)j将其化为对角形式,即奇异值分解 A = U Σ V ∗ A=U\Sigma V^{*} A=UΣV,特点是不要求A是方阵。

奇异值分解定理:
对任意矩阵 A A A(可以不是方阵),存在酉矩阵U,酉矩阵V,对角元按非增次序排列的非负对角矩阵 Σ \Sigma Σ,使得: A = U Σ V ∗ A=U\Sigma V^{*} A=UΣV
其中,矩阵A的规模大小 = 对角矩阵 Σ \Sigma Σ规模大小。
上述是,完全奇异值分解(FULL SVD)。
还有经济型奇异值分解(economic svd),又称约化奇异值分解,此时 A = U Σ V ∗ A=U\Sigma V^{*} A=UΣV中,非负对角矩阵是方阵(被约化了,其实是矩阵分块的运算的结果),代价是:在完全奇异值分解中较大的那个方阵不再是方阵(会更小,可能是扁的,也可能是高的)。

【SVD】奇异值分解 -- 学习笔记_第1张图片


奇异值分解的性质:

  1. 矩阵A的秩 = 非零奇异值的个数 r r r
    原因:酉矩阵是可逆的,不改变矩阵的秩,即 r a n k ( A ) = r a n k ( Σ ) rank(A)=rank(\Sigma) rank(A)=rank(Σ).
  2. 矩阵A的值域 = 前 r r r个左奇异向量所张成的空间。
    【SVD】奇异值分解 -- 学习笔记_第2张图片
    【SVD】奇异值分解 -- 学习笔记_第3张图片
    【SVD】奇异值分解 -- 学习笔记_第4张图片
    A ∗ A A^{*}A AA的非零特征值是矩阵A的非零奇异值的平方。
    【SVD】奇异值分解 -- 学习笔记_第5张图片
    注: ∣ Λ ∣ |\Lambda| Λ表示对对角矩阵 Λ \Lambda Λ的每个元素取绝对值所组成的对角矩阵;
    s i g n ( Λ ) sign(\Lambda) sign(Λ)表示对角矩阵 Λ \Lambda Λ的对角元的符号,在这里,如果非负,取1,否则取-1.
    【SVD】奇异值分解 -- 学习笔记_第6张图片

低秩逼近:
【SVD】奇异值分解 -- 学习笔记_第7张图片
秩1矩阵,是指 u j v j ∗ u_{j}v_{j}^{*} ujvj,因为矩阵 u j u_{j} uj是列向量,所以它的秩为1,而矩阵的乘积的秩不大于每个因子矩阵的秩,所以秩为1.

【SVD】奇异值分解 -- 学习笔记_第8张图片
说明:在所有-秩不超过k的-矩阵中,奇异值分解出的矩阵 A k A_{k} Ak与矩阵A的二范数意义下最近,距离为第k+1个奇异值。
【SVD】奇异值分解 -- 学习笔记_第9张图片
在F范数的意义下, A k A_{k} Ak距离A也是最近的。


例题:
利用 A ∗ A A^{*}A AA的非零特征值是矩阵 A A A奇异值的平方,先求出奇异值,得到 Σ \Sigma Σ矩阵。
与此同时,求出 A ∗ A A^{*}A AA的特征向量,得到V矩阵。
利用 U = A V Σ − 1 U=AV\Sigma^{-1} U=AVΣ1,求出矩阵U。
【SVD】奇异值分解 -- 学习笔记_第10张图片
【SVD】奇异值分解 -- 学习笔记_第11张图片
【SVD】奇异值分解 -- 学习笔记_第12张图片
注:构造 u 3 u_{3} u3的方法有很多,比如: u 3 u_{3} u3 u 2 u_{2} u2 u 1 u_{1} u1向量正交, u 3 u_{3} u3的长度(二范数)为1,联立这三个方程即可求解。


阅读博客的笔记:
https://www.cnblogs.com/pinard/p/6251584.html
这篇博客从原理、应用等方面对SVD进行了详细介绍。
有些地方,值得做下笔记。
【SVD】奇异值分解 -- 学习笔记_第13张图片
在PCA中,我们需要计算 X T X X^{T}X XTX矩阵的特征向量,可以考虑对矩阵 X X X进行SVD分解 X = U Σ V T X=U\Sigma V^{T} X=UΣVT,那么 X T X = V Σ 2 V T X^{T}X=V\Sigma^{2}V^{T} XTX=VΣ2VT,也就是说右奇异矩阵正是我们所需要的: X T X X^{T}X XTX矩阵的特征向量。

你可能感兴趣的:(数据挖掘与矩阵)