From http://www.qiujiawei.com/linear-algebra-9/
在线性代数中,SVD(Singular Value Decomposition)是对实数矩阵(甚至复数矩阵)的一种因式分解。在信号、统计、图像图形学中都有应用。
SVD非常强大且实用,因为数学界前辈已经证明任意的一个矩阵都可以做SVD分解。这一点特别重要,因为相比SVD分解,和SVD相近的特征值分解只能应用于方阵。
第二个重要的点是:SVD分解可用来解决非方阵不能计算逆矩阵的问题。
先给出公式的全貌:
设有一个m X n的矩阵M,它的SVD分解是:
其中:
一些补充:
由单式矩阵的定义,知:
由矩形对角矩阵的定义,知:
(D = Diagonal Square Matrix)
即,Σ和Σ的转置相乘,等于一个新的方阵D,D的阶数等于左边的Σ矩阵的行数;D还是一个对角方阵,且对角线上的元素分别是Σ的对角线上的元素的平方。
再根据SVD公式:
有:
右边的东西符合特征分解的定义,所以上述两式子都是特征分解。
推荐阅读这篇文章:http://blog.chinaunix.net/uid-20761674-id-4040274.html。
英文原文:http://www.ams.org/samplings/feature-column/fcarc-svd
不过这文章只讲了和图像有关的应用,实际上,SVD的应用非常广泛,比如机器学习领域也在用。
SVD的解法有很多种而且看起来很复杂,比如这篇文章就列举了很多种:http://www.cs.utexas.edu/users/inderjit/public_papers/HLA_SVD.pdf。
因为矩阵有稠密和稀疏之分,所以针对不同的矩阵就有不同的解法。学习SVD的解法想必是一件艰苦的事情。因为目前还没有深入学习SVD的需求,所以博主就此罢笔。
https://en.wikipedia.org/wiki/Singular_value_decomposition