矩阵奇异值分解主要应用在降维方面,和特征值分解为特征向量其实是一样的思想;

 

本质就是找一个低维空间,把高维空间的点映射到低维空间里面去,例如典型的PCA主成分析就用到了这一点;

 

特征值分解:

首先值得关注的是特征值分解问题,从特征值分解问题可以看出奇异值分解的一些思路;

 

通常对于数据降维来说,主要的目的是找到高维数据的主方向,采用主方向来作为坐标轴,来进行低维数据空间上的表示;

所以总体来说大致的思想就是去除一些没必要的特征维数,直接采用主要方向的特征维度,起到一个降维的作用;

 

对于实际场景,我们可以有A矩阵,大小为m*n,表示m个特征和n个样本,所以如果采用降维,则针对的是m进行维度消减,也就是从m个特征中选择部分特征,作为降维后的最终结果;

 

比较好常见的是直接采用来进行协方差矩阵构造即C=,直接采用方阵的特征值分解进行构造;

得到协方差矩阵之后,可以对其使用正交分解,分解为两个正交矩阵和特征向量相乘的形式;

 

 

 

选取前k个特征值和特征向量,即可完成降维;

 

奇异值分解:

特征值分解主要针对于方阵,而没法对于非标准矩阵进行分解,更别说有的方阵还不能使用特征值分解,所以此刻针对于非方阵矩阵分解,必须寻找一种办法来进行操作;

 

奇异值分解和质数分解有点像,即把一个数分解为三个基本质数的乘积;

 

基本的背后数学原理如下:

对于一个m*n的A,假设r(A)=r,且m>n,则r<=n<m必定恒成立;所以我们在Rn空间中可以找到n个标准正交基V,且在Rm空间找那个也可以找到m个标准正交基U,使得

恒成立;

 

其实从人话角度理解:

对于方阵来说,特征分解主要是寻找一组可以表示该变换的标准正交基,正交特征向量即为

坐标轴方向,而特征值即为坐标轴方向的拉伸程度;

 

对于存储信息的矩阵来说,矩阵的秩是对存储在矩阵中的独特信息的度量。秩越高,信息越多,矩阵的特征向量是数据的最大扩展或方差的方向;

 

如果选取前k个最大的特征值,据此选取相应的特征向量,其实就是忽略了变化最小的几个方向,从而达到舍弃部分贡献比较小的信息量,进行数据上的降维;

 

对于奇异值分解不同点在于,降维是通过高维空间到低维空间的映射进行的;

例如,给定一个矩阵A,m>n,m*n大小,不同的是,m代表特征,n代表样本数;

对于奇异值背后的定义,即存在一个为A的变换,使得低维空间标准基进行变换可以成为高维空间标准基的伸缩,以此可以建立某种联系;

 

 

 但是对于该形式,并没有对A进行完全的分解,因为我们希望可以将U构造成完成的Rm空间下的标准正交基形式,所以可以通过补全m-n个m维空间下的基向量,并且在奇异值矩阵下添加多个零行,保证等式的成立;

 

 

 

 

 

 可以表示为:

AV=UΣ,又因为V为标准正交向量矩阵,所以右乘并且进行变换,可以得到,即最终形式;

 

对于整体矩阵的表现形式,可以如下图:

 

 

其中值得注意的是Σ矩阵中之所以为r,是因为有可能存在奇异值为0的情况,要酌情隐去;

这也称为SVD分解形式;

而后续,根据奇异值越大,信息含量越大的问题,可以对右边的三个矩阵进行截断;

 

 直接通过阶段,可以直接对A进行降维;

 

版权声明:本文为songlinxuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/songlinxuan/p/14173635.html