矩阵的SVD分解- Singular Value Decomposition【矩阵的奇异值分解】
优点:适用于任意形状的矩阵,是 特征分解 在任意矩阵上的推广
分解形式
对于的
矩阵,则
是
的方阵(左奇异矩阵);
是
的长方阵(奇异值矩阵);
是
的方阵(右奇异矩阵)
是
的标准化特征向量矩阵,是一个标准正交矩阵,
是
的列空间的一组标准正交基构成的矩阵
由前
个从大到小排列的奇异值且不为零的奇异值对应的
向量从左到右排列构成,根据矩阵的列空间定义
,
;所以当
的时候要构造一个
的方阵
需要补充到
个
向量,缺失的
向量可以通过Gram-Schmidt方法找到
个向量,使得这
个
向量两两互相垂直。所以
矩阵也是一个标准正交矩阵。
矩阵是一个
奇异值矩阵,对角线由从大到小排列的奇异值按从上到小的顺序填充而成,由于
,缺失行由零向量填充,其左上角是一个
对角矩阵
SVD与特征值分解的联系:
证明
对于
左乘则有
,标准正交矩阵中
,该数学形式与方阵特征值分解类似。
是
的标准特征向量 ,
又,其中
,当存在
,从而
算法过程
对于任意一个矩阵
,求解
step.1 求解的特征值和特征向量;
step.2 对的非零特征值
进行开根得到奇异值
,顺序填充成
的奇异值矩阵
;
step.3的特征向量标准化处理后,这些标准特征向量按从大到小的特征值对应关系按列填充成
的
,取
;
step.4在经过Gram-Schmidt扩展填充成
SVD应用
1.几何坐标变换
若A是
的矩阵
将对一个
维向量转换成
维的向量;
是
维空间的一组标准正交基,从而
维空间中的任意向量
可以被
中的列向量所组合表示
,这里
中的向量
即
坐标系下每个维度上的坐标值。
而维空间的向量
被
变换将得到:
在这里变换后表明在坐标系下,原来
坐标系下的向量
坐标值将被拉伸
倍。
2.数据压缩去噪降维
奇异值分解与特征值分解的目的一样,都是提取出一个矩阵最重要的特征。
所有的矩阵都可以进行奇异值分解,但只有方阵才可以进行特征值分解。当所给的矩阵是对称的方阵,,二者的结果是相同的。所以对称矩阵的特征值分解是奇异值分解的一个特例。对于奇异值,它跟特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。所以可以应用最大的k个的奇异值和对应的左右奇异矩阵来近似描述矩阵达到 denoise 的目的。
SVD降噪数学展开式
从而 矩阵被表示为系列由
组成的
矩阵的加和的结果,奇异值
在这里成为子矩阵
的权重(
权值),其中第一个
权值最大,次之
,以此类推。所以可知小奇异值对应的子矩阵对
矩阵的影响是很小的,舍去这些小奇异值对应的子矩阵可以做到对
矩阵的压缩、降噪。
3、SVD 与 PCA 降维的联系
PCA降维 主要针对协方差矩阵 进行特征分解,找到最大的
个特征值对应的特征向量作为基向量,对
进行投影达到降维的目的
。 SVD 则是针对
进行奇异值分解,算的是
的特征值和特征向量,从求解上来说SVD与PCA等价,但是SVD 算法求解矩阵
的特征向量时相比暴力特征值分解有更高效的计算策略(如幂迭代法求矩阵特征值),当找到了前
个奇异值对应的右奇异矩阵
,对
进行投影达到降维的目的
,正因如此SVD的这种高效性所,一般PCA算法常用 SVD 求解特征向量。
1.1 矩阵降维之矩阵分解 PCA与SVD - 知乎 (zhihu.com)
【机器学习】这次终于彻底理解了奇异值分解(SVD)原理及应用_风度78的博客-CSDN博客