SVD的含义以及存在性证明
对于任意的矩阵, 我们都可以找到正交矩阵、和矩阵使得,其中具有这样的形式:
故SVD还可以写成:
存在性的证明见 奇异值分解(SVD)原理与在降维中的应用 或 奇异值分解(1)——奇异值分解的证明 。
SVD之后为什么可以通过取特定的分块矩阵来代替原矩阵
首先,正交矩阵等价于旋转操作,即一组基向量左乘正交矩阵后保持模和正交性,而仅仅同时旋转一定角度,下图是一个直观的解释,其他相关解释网上有很多,可自行搜索“矩阵乘法的本质”等。
接下来以为例解释SVD的本质,下面的图中用代替。维向量左乘矩阵的本质是对这个向量进行一个线性变换,从n维空间映射到m维空间。而SVD本质就是将这个相对复杂的变换分解为3步简单的变换:旋转->简单映射->旋转。为什么说中间的是“简单”映射呢,因为的组成方式(见前面的图,仅“主对角线”有元素)决定了它(在本例的中)实质上是将二维平面的单位圆映射到三维空间的某个平面上的椭圆。中的很多0起到的作用是使得映射后的向量在某些维度上模为0,所以前面说是三维空间的“某个平面”上的椭圆。
在A的作用下,二维平面的单位圆->旋转后的二维平面的单位圆->三维平面中某个平面的椭圆->旋转后的三维平面中某个平面的椭圆。
如果我们只取前面的非零奇异值得到(假设有两个非零奇异值),那么相当于是的去除冗余操作后的变换。表达的是:二维平面的单位圆->旋转后的二维平面的单位圆->二维平面的椭圆->旋转后的二维平面的椭圆。表达的变换依然含有等价的含义,只是没有了多余的空间变换(变换之后仍然有些维度被“浪费”,例如上面例子映射后只是三维空间中的一个平面,有一个维度没有被利用)。
还有种理解:
奇异值分解的几何含义为:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交。奇异值的几何含义为:这组变换后的新的向量序列的长度。[4]
所以说,奇异值为0表示完全不包含有价值的变换信息,而非零的奇异值,非常小的奇异值对变换的结果影响也较小。这相当于物理中力的合成,合力主要取决于分量较大的分力,而某个方向上的分力很小时,去掉也对合力影响不大。
总结
左乘矩阵的几何意义是空间变换。SVD就是分解,将一个复杂的变换分解为三个简单的基本变换(和是旋转,是放缩和投影)。而奇异值的大小代表了相应奇异向量的放缩程度。奇异值越大,则此奇异向量对最后的空间影响越大。因此可以用SVD进行压缩图像或者去噪。
参考:
[1]. https://www.zhihu.com/question/22237507/answer/740565206
[2]. https://www.cnblogs.com/pinard/p/6251584.html
[3]. 矩阵与矩阵乘法的几何意义
[4]. https://www.zhihu.com/question/22237507/answer/53804902
[5]. https://www.zhihu.com/question/22237507/answer/801023732
[6]. https://www.zhihu.com/question/22237507/answer/225371236