首先给出SVD定义:

任意矩阵$A \in R^{m \times n}$总可以分解为两个正交矩阵和一个对角矩阵的乘积。即:

$A = U \Sigma_r V^T$

其中,$U \in R^{m \times m}, V \in R^{n \times n}, \Sigma_r = diag(\sigma_1,\sigma_2,...,\sigma_r,0,0) \in R^{m \times n}$.

其证明要用到实对称矩阵与分块矩阵的一些性质,这里就不给出了。下面谈一谈SVD的意义。

SVD,也就是 Singular Value decomposition.奇异矩阵我们都知道,也就是不可逆方阵,行列式为0。那奇异值是什么呢?

奇异值就是$AA^{T}$或 $A^{T}A$的非零特征值的开方。一般从大到小排列。$AA^{T}$也常被成为协方差矩阵。奇异值和奇异矩阵没有必然

的联系,反倒和矩阵的秩有一定关系。$A$的非零奇异值个数就是A的秩,所以奇异值分解常被用来计算矩阵的秩。

奇异值有什么用呢?

如果把矩阵看成一个样本空间。那么其秩,也就是线性无关的样本个数是空间中的重要信息,也是我们要保留的。

而奇异值分解可以给出原矩阵很好的低秩逼近。也就是说通过选取比较重要的(也就是比较大的)奇异值,进行奇异值分解,我们可以得到一个

保留了原矩阵(样本空间)的重要信息的近似矩阵。该矩阵秩比原矩阵低,但保留了重要信息,也就实现了数据压缩(降维)的目的。这也是奇异值分解

在图片压缩领域应用广泛的原因。

为什么会这样呢?这就涉及到奇异值分解的几何意义了。

如果把矩阵当做线性变换,那么奇异值分解所得的三个矩阵的含义分别为:U 为变换后的新基底,V为变换前的旧基底,而奇异值$\sigma$为向量变换后在

新基底的长度。$\sigma$越大,说明向量在变换之后的该维度方向分量越大,该维度也就越重要。这也间接解释了,为什么奇异值越大,其对应的特征向量维度保留的

信息越重要。

 

出于叙述简单考虑,我没有加相应图片说明,具体可参考下面文章:

http://blog.sciencenet.cn/blog-696950-699432.html

https://www.zhihu.com/question/22237507