SVD的含义以及存在性证明

对于任意的矩阵Am×nA_{m\times n}, 我们都可以找到正交矩阵Um×mU_{m\times m}Vn×nTV^T_{n\times n}和矩阵Σm×n\Sigma _{m\times n}使得Am×n=Um×mΣm×nVn×nTA_{m\times n}=U_{m\times m}\Sigma _{m\times n}V^T_{n\times n},其中Σ\Sigma具有这样的形式:

SVD为什么能降维、压缩、去噪故SVD还可以写成:
SVD为什么能降维、压缩、去噪

存在性的证明见 奇异值分解(SVD)原理与在降维中的应用奇异值分解(1)——奇异值分解的证明

SVD之后为什么可以通过取特定的分块矩阵来代替原矩阵

首先,正交矩阵等价于旋转操作,即一组基向量左乘正交矩阵后保持模和正交性,而仅仅同时旋转一定角度,下图是一个直观的解释,其他相关解释网上有很多,可自行搜索“矩阵乘法的本质”等。

SVD为什么能降维、压缩、去噪
接下来以A3×2A_{3\times 2}为例解释SVD的本质,下面的图中Σ\SigmaSS代替。nn维向量xx左乘矩阵Am×nA_{m\times n}的本质是对这个向量进行一个线性变换,从n维空间映射到m维空间[3]^{[3]}。而SVD本质就是将这个相对复杂的变换分解为3步简单的变换:旋转->简单映射->旋转。为什么说中间的是“简单”映射呢,因为Σ\Sigma的组成方式(见前面的图,仅“主对角线”有元素)决定了它(在本例的A3×2A_{3\times 2}中)实质上是将二维平面的单位圆映射到三维空间的某个平面上的椭圆。Σ\Sigma中的很多0起到的作用是使得映射后的向量在某些维度上模为0,所以前面说是三维空间的“某个平面”上的椭圆。

在A的作用下,二维平面的单位圆->旋转后的二维平面的单位圆->三维平面中某个平面的椭圆->旋转后的三维平面中某个平面的椭圆。

SVD为什么能降维、压缩、去噪

如果我们只取前面的非零奇异值得到AkA_k(假设有两个非零奇异值),那么AkA_k相当于是AA的去除冗余操作后的变换。AkA_k表达的是:二维平面的单位圆->旋转后的二维平面的单位圆->二维平面的椭圆->旋转后的二维平面的椭圆。表达的变换依然含有等价的含义,只是没有了多余的空间变换(变换之后仍然有些维度被“浪费”,例如上面例子映射后只是三维空间中的一个平面,有一个维度没有被利用)。

还有种理解:

奇异值分解的几何含义为:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交。奇异值的几何含义为:这组变换后的新的向量序列的长度。[4]

所以说,奇异值为0表示完全不包含有价值的变换信息,而非零的奇异值,非常小的奇异值对变换的结果影响也较小。这相当于物理中力的合成,合力主要取决于分量较大的分力,而某个方向上的分力很小时,去掉也对合力影响不大。[5][6]^{[5][6]}

总结

左乘矩阵的几何意义是空间变换。SVD就是分解,将一个复杂的变换分解为三个简单的基本变换(UUVV是旋转,Σ\Sigma是放缩和投影)。而奇异值的大小代表了相应奇异向量的放缩程度。奇异值越大,则此奇异向量对最后的空间影响越大。因此可以用SVD进行压缩图像或者去噪。[5]^{[5]}

参考:

[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

相关文章: