矩阵的本质:线性变换
要想弄清楚特征值分解与奇异值分解的原理,首先要明白:矩阵的本质就是线性变换
首先看一个对角矩阵:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/12fc8ddbab27a9c6925ed7b812961c7d.gif)
将此变换矩阵作用于向量(x,y)上后,向量(x,y)的x方向扩大了三倍,y方向不变
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/e142748b047f1731accd56fd04b698dd.gif)
如图所示:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/d71a6c21d66ff2326e39d376cb826cba.jpeg)
当M为如下所示的对角阵时:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/6e4583e5167e222736f67d8fce60e693.gif)
变换矩阵的作用可以看作——把原向量沿着右边平行四边形的两条对角线方向上各自伸缩一定的倍数:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/6b39fb41a4655a78378f118bfd1468e4.jpeg)
也可以看作——把向量从一个正交基向量空间,变换到另一个正交基向量空间,并在各个方向上伸缩一定的倍数:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/dc263cb50936782d41f63b6fa435f6d7.jpeg)
当M为非对称矩阵时:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/aca35bb130aae663af6b46bf60a92180.gif)
变换矩阵的作用可以看作——将原向量沿着右边平行四边形的两条对角线方向上各自伸缩一定的倍数:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/811938c72d43b680f88ca65c5c8ee4f4.jpeg)
也可以看作——将向量从一个正交基向量空间,经过一定的旋转变换到另一个正交基向量空间,并在各个方向上进行了一定的缩放:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/b92d8f66150ab2660c0c5c0494addaad.jpeg)
特征值分解
公式表达
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/917a7d19df312f87199147627a743cc4.png)
其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。
求矩阵特征向量和特征值的过程,就相当于一组基,在这组基下,矩阵的作用效果仅仅是存粹的缩放。
特征向量就是找到的这组基,特征值就代表原向量要在基空间的各个方向上所做的缩放,特征值越大,原向量在对应的特征向量方向上所做的缩放程度越大。
几何意义
当M是实对称矩阵时,变换矩阵的作用可以看作——把原向量沿着右边平行四边形的两个互相垂直的对角线方向上各自伸缩一定的倍数,此时,我们找到的这组基空间就是由两个正交的特征向量组成的:
当M是非实对称方阵时,变换矩阵的作用可以看作——将原向量沿着右边平行四边形的两条对角线方向上各自伸缩一定的倍数,这两条对角线并不互相垂直,因此,找到的这组基空间就是由两个并不正交的特征向量组成的:
奇异值分解
几何意义
当M是实对称方阵时,变换矩阵的作用是——把向量从一个正交基向量空间,变换到另一个正交基向量空间,并在各个方向上伸缩一定的倍数:
当M是非实对称方阵时,变换矩阵的作用是——把向量从一个正交基向量空间,经过一定的旋转变换到另一个正交基向量空间,并在各个方向上伸缩一定的倍数:
公式表达
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/1049aa372364f1585f2fd120f19cbbb4.png)
假设A是一个N * M的矩阵,那么得到的U是一个N * N的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个N * M的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),V’(V的转置)是一个N * N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量),从图片来反映几个相乘的矩阵的大小可得下面的图片:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/d87bdf734307f5327b3c96acd88ec511.png)
假设我们用前r大的奇异值来近似描述变换矩阵A,则有:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/cd3335ce5919139e0a0068eb0e7300cf.png)
这样,矩阵A就可以由下面的乘法近似得到:
![CSDN图标](https://i-blog.csdnimg.cn/blog_migrate/c63a0abdb5b850f25c2d5bd3e404550b.png)
注意:
虽然右边三个矩阵相乘得到的矩阵A仍然是(m,n)大小,看起来矩阵A并没有变小,但是,由于此时计算矩阵A所需的矩阵U、Σ、V在维度上都远远小于原来的U、Σ、V,因此大大减小了计算所需的存储,实现了降维。
两种分解的异同点
特征值分解仅适用于方阵,奇异值分解也适用于非方阵
特征值分解和奇异值分解都是给一个矩阵(线性变换)找特殊的基:
- 特征值分解找到了特征向量这一组基,在这组基下该线性变换只有缩放效果。
- 而奇异值分解则是找到两组正交基,使得原向量从一个正交基空间旋转到另一个正交基空间,并在每个方向进行一定的缩放,缩放因子就是各个奇异值。如果右奇异向量V的维度比左奇异向量U的维度大,则表示还进行了投影。
参考网址:
1.http://www.ams.org/samplings/feature-column/fcarc-svd
2.http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html
3.https://www.zhihu.com/question/19666954