奇异值分解:Singular value decomposition (SVD)
1. 作用
SVD是将矩阵分解为奇异值(singular vector)和奇异值(singular value),对非方阵进行操作的方法。
每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。非方阵的矩阵没有特征分解,这是我们只能使用奇异值分解。
对于特征值分解,矩阵A可以写成: A=Vdiag(λ)V−1A=Vdiag(λ)V−1
对于奇异值分解,矩阵A可以写成: A=UDVTA=UDVT
2. 求解方法
假设A是一个m * n的矩阵,那么U是一个m * m的矩阵,D是一个m * n的矩阵,V是一个n * n的矩阵。
矩阵U和V都定义为正交矩阵,而矩阵D定义为对角矩阵。注意,矩阵D不一定是方阵。
对角矩阵D对角线上的元素称为矩阵A的奇异值 singular value。矩阵U的列向量称为左奇异向量 left singular vector,矩阵V的列向量称右奇异向量right singular vector。
A的左奇异向量是AATAAT的特征向量。A的右奇异向量是ATAATA的特征向量。A的非零奇异值是ATAATA特征值的平方根,同时也是AATAAT特征值的平方根。
SVD最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。
SVD 和 PCA 之间的关系
SVD 的右奇异矩阵就是 PCA 得到的主成分转化矩阵。