赞
踩
主成分分析,顾名思义,就是通过一定的变换将原始数据变换为一组在新维度下的数据表示,并且用数据的主要特征分量代替原数据,来达到降维的目的,并且经过降维去除噪声,发现数据中的模式。
PCA的思想是将n维特征映射到k维上(k < n),把原先的n维特征用数目更少的k维特征取代,这k维是全新的正交特征,是旧特征的线性组合。这k维特征称为主元,这些线性组合最大化样本方差,尽量使新的k维特征互不相关。
简单点讲,对于数据量很大的数据集,或许我们很难直观的分析出该数据集的主要成分,原因就在于在坐标系下,这组数据的分布很散乱,难以观察。但是,如果我们能把这些数据在相应的空间中表示出来,也许我们就可以换个角度找出主成分:
如上图可知,在原始空间中,数据分布散乱并且毫无规律可言,但是,在PC1,PC2方向下,我们看到的又是整齐规律的数据分布。而如何找到PC1,PC2方向正是PCA要做的,就是在更高维的数据中,提取出我们想要的主成分,在这个提取过程中,也就达到了数据降维的目的,同时我们也可以通过PCA方法衡量这些主成分到底占了整个数据的多少信息。
补充:
PCA为什么可以通过一定的变换将原始数据变换成更低维的数据代替?原因就在于原始数据在多个维度(或影响因素)下反映的信息存在一定程度上的重叠(不同维度之间存在相关关系),那么我们就可以用比原来更少的维度(线性无关)来描绘原来的数据,当这些维度可以保留住数据中那些最重要的信息时,数据降维的目的就实现了。
协方差:通常用Cov表示
协方差是一种用来度量两个变量关系的统计量,其定义为:
整个PCA算法流程貌似非常简单,就是求协方差的特征值和特征向量,然后做数据转换。但是有没有觉得很神奇,为什么求协方差的特征向量就是最理想的k维向量?其背后隐藏的意义是什么?整个PCA的意义是什么?
回过头来看PCA的目的,原始数据是分布在以n个不同的变量为坐标轴组成的N维空间上,数据在一些轴上(假设其数目为n)的分布存在一定程度的相关关系,PCA的目的就是找到彼此线性无关的新的一些轴(k < n)来代替这n条轴,同时要求在由这些轴组成的空间上,数据最重要的那些信息可以被保留下来。
通过PCA的算法步骤,我们可以知道,我们就用协方差的特征向量的方向来代表这k条轴的方向。那么,为什么协方差矩阵的特征向量就是k维理想特征呢?
以下用最大方差理论和最小误差理论解释上述问题:
在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。所以,我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。
假设,下图有5个样本点:(已经做过预处理,均值为0,特征方差归一)
将样本投影到某一维上,这里用一条过原点的直线表示:
那么,根据我们的方差最大化理论,应当选择使得样本分布方差最大的情况,即如上图可知,问题转化为:找出最优的u,使得投影后的样本方差最大。(定义投影向量→u,可令其为单位向量,有:→uT→u=1)
投影后方差为:
也即是:
回顾我们前面探讨的是求一条直线,使得样本点投影到直线上的点的方差最大。再回想我们学过的线性回归,目的也是求一个线性函数使得直线能够最佳拟合样本点,那么我们能不能认为最佳的直线就是回归后的直线呢?
因此,我们打算选用一种评价直线好坏的方法,来代替评价找到的最佳直线是否为最佳拟合直线。
这种评价直线好坏的方法就是,用点到直线的距离d2来度量。
记xi在直线上的投影为xi′;那么我们就是要最小化
http://blog.csdn.net/zhongkelee/article/details/44064401
http://blog.csdn.net/hit1524468/article/details/60323173
https://www.zhihu.com/question/30094611/answer/120499954
http://blog.csdn.net/dongtinghong/article/details/14216139
http://blog.sciencenet.cn/blog-1583812-814868.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。