本篇介绍矩阵分解中最重要的分解方式
奇异值分解 - Singular Value Decomposition (SVD)
一 定义 : 给定一个m×nm\times nm×n的矩阵M,可以将其作如下形式的分解
W=UΣVTW = U \Sigma V^{T}W=UΣVT
二 计算过程与说明
构造一个辅助矩阵:
C=WTW=VD1VT=VΣTΣVT=(VΣTUT)(UΣVT)‾C = W^TW = VD_1V^T = V \Sigma^T\Sigma V^T = (V \Sigma^T U^T)\underline{(U \Sigma V^T)} C=WTW=VD1VT=VΣTΣVT=(VΣTUT)(UΣVT)
B=WWT=UD2UT=VΣΣTUT=(UΣTVT)(VΣUT)B = WW^T = UD_2U^T = V \Sigma\Sigma^T U^T = (U \Sigma^T V^T)(V \Sigma U^T)B=WWT=UD2UT=VΣΣTUT=(UΣTVT)(VΣUT)
此时,划线部分就是我们想要的分解方式.
两个式子基本一样,对第一个式子作一些说明,第二个类似
说明1: 第一个等式是我们构造的矩阵定义
说明2: 第二个等式是矩阵的特征值分解,因为C一定是一个实对称方阵(证明很简单),所以可以进行正交相似变换
说明3: 将特征值对角阵D开方,得到奇异值矩阵 Σ\SigmaΣ
说明4: 因为UTU=EU^{T}U = EUTU=E(正交相似变换的性质),所以这样添加对等式没影响.
说明5: CCC和BBB特征值是相同的(记得本科学的矩阵特征值的性质),具体的特征矩阵要跟C和B规模最大的匹配
说明6: CCC和BBB的规模分别为n×nn\times nn×n 和 m×mm\times mm×m,但是他们特征值其实是相同的。
ΣTΣ=[σ120000σ220000⋱0000⋱]n×nΣΣT=[σ120000σ220000⋱0000⋱]m×m\Sigma^T\Sigma = \left[ \begin{matrix} \sigma_1^2 & 0 & 0 & 0\\ 0 & \sigma_2^2 & 0 & 0\\ 0 & 0 & \ddots & 0\\ 0 & 0 & 0 & \ddots\\ \end{matrix} \right]_{n\times n} \Sigma\Sigma^T = \left[ \begin{matrix} \sigma_1^2 & 0 & 0 & 0\\ 0 & \sigma_2^2 & 0 & 0\\ 0 & 0 & \ddots & 0 \\ 0 & 0 & 0 & \ddots \\ \end{matrix} \right]_{m\times m}\quadΣTΣ=⎣⎢⎢⎡