标题
背景
主成分分析
?PCA原理
PCA步骤
总结
?背景对于大多数数据,在一维空间或者说是低维空间都是很难完全分割的,但是在高纬空间间往往可以找到一个超平面,将其完美分割,但是过高的维度也会带来一些问题,例如数据数据稀疏、距离计算困难,从而导致学习速度慢甚至无法学习的情况,这种情形被称为维数灾难,并且我们可以通过降维来缓解维数灾难。
我们知道特征选择和数据降维都可以减少数据的维度,但两者是不同的。特征选择是在已有的特征集合中按照某一种标准对特征进行排名,然后直接去掉一些低分特征以达到减少数据维度的目的,而数据降维不一样,它更像是把高维数据压缩为低维数据,它一定程度上保留了丢弃维度上的一些信息,因此降维后原有特征会发生改变。接下来为大家介绍最常用的降维算法主成分分析
主成分分析对于数据来说,某个特征可以被其他特征推导出来,即数据不同维度之间存在很大的相关性,这导致了信息的冗余,这种冗余的信息是无意义的,这时我们就可以使用PCA将这些冗余的信息去掉,加快模型的训练速度。主成分分析(PCA)是最常用的一种降维方法之一,常用于数据压缩和数据可视化。PCA通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。PCA除了用于数据压缩,还用于数据的可视化,例如把数据降至三维或三维以下,那么我们就可以以肉眼来观察数据的分布特点,有利于我们进行数据分析。
PCA原理我们可以基于最大方差理论来解释PCA的原理。在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。如前面的图,样本在横轴上的投影方差较大,在纵轴上的投影方差较小,那么认为纵轴上的投影是由噪声引起的。因此我们认为方差大的特征会比方差小的特征更有区分度。
PCA将数据集将高维数据集映射到低维空间的同时尽可能的保留更多的信息量。例如下面是二维数据的分布,这些数据已经去中心化并且有相同的方差。现在我们把一下数据降至二维
PCA算法将寻找一个低维空间来投影我们的数据。为了找出主成分的方向,我们可以通过计算样本的协方差矩阵并对其进行特征分解得到它的特征向量和及其对应的特征值,从下图中可以看出,u1是数据变化的主方向,而u2是次方向。如下
并且我们可以通过使用特征向量与原始数据的内积将数据进行旋转。旋转后的数据如下
现在数据在Xrot1方向的方差明显比Xrot2方向的方差要大,因此实现降维只需把数据投影到方向即可。
因此PCA算法的步骤可以总结为对于样本矩阵X.对所有样本进行中心化处理(各维度减去各自的均值,方便求协方差矩阵)
计算样本的协方差矩阵
对协方差矩阵进行特征分解
按特征值由大到小排序并选取前d个特征向量组成投影矩阵M
最后新数据为
在降维之后一方面可以使得样本采样密度增大,另一方面舍弃最小特征值对应的特征在一定程度上可以起到去噪的效果。
但PCA也存在某些问题,由于只通过方差来衡量某个维度的重要性,投影以后对数据的区分作用可能并不大,并且有可能使得数据点揉杂在一起无法区分。如下图所示,若使用PCA将数据点投影至一维空间上时,由于选取最大方差,PCA会将数据投影到轴上,于是两类数据就糅杂在一起。实际上投影到轴会有更好的效果。
总结PCA算法的主要优点在于各主成分之间正交,可消除原始数据成分间的相互影响的因素,并且计算方法简单,主要运算是特征值分解,易于实现。但是主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。
资料来源:网上各位大佬的博文
赞赏
长按向我转账
受苹果公司新规定影响,iOS版的赞赏功能被关闭,可通过转账支持。
白癫风哪个医院好治白癜风成都哪家医院好