PCA(Principal Components Analysis,主成分分析)是降维规约技术中的常用方法。目的:找出一个更好捕获数据变异性的,新的维(属性)集合。或者说,所选取的第一维要尽可能的多获取数据的变异性。第二维与第一个正交,并且尽可能地多捕获剩余的变异性,如此下去。
PCA主成分分析-从五个点说起(代码为R)
现有如下五个点:
为了便于计算方差和写方差,将原点移动至中心点,此时的绝对距离是不变的。X1,X2的均值均为6,移动后坐标如下:
计算得到的x1,x2坐标轴下的方差协方差如下:
此时x1和x2的方差相差不大。x1的方差+x2的方差=18.8,也就是总投影长度。
计算方差写方差矩阵的特征根和特征向量。
value的为特征根,即方差,第一个主成分的方差为16.027217,第二个为2.772783。加起来和变换前的方差一致。第一个主成分占了85.25%的贡献率。vectors为特征向量。
计算新坐标:原坐标*特征向量。
从最大方差法解释:
问:为什么一开始可以用方差协方差矩阵计算?
PCA算法的优化目标就是: ① 降维后同一纬度的方差最大② 不同维度之间的相关性为0。根据线性代数,我们可以知道同一元素的协方差就表示该元素的方差,不同元素之间的协方差就表示它们的相关性。因此这两个优化目标可以用协方差矩阵来表示。
投影的概念:
红色点表示样例x(i),蓝色点表示x(i)在u上的投影,u是直线的斜率也是直线的方向向量,而且是单位向量。蓝色点是x(i)在u上的投影点,离原点的距离是<x(i),u>。由于这些样本点(样例)的每一维特征均值都为0,因此投影到u上的样本点(只有一个到原点的距离值)的均值仍然是0。我们要求的是最佳的u,使得投影后的样本点方差最大。
由于投影后均值为0,因此方差为:
中间部分就是样本特征的协方差矩阵(x(i)的均值为0,一般协方差矩阵都除以m-1,这里用m)。
令:
上式可以写成:
u是单位向量,其内积为1,上式两边左乘u得:
即u是特征向量,最佳投影直接是特征值最大时对应的特征向量,其次是第二对应的特征向量,以此类推。因此只要对协方差矩阵进行特征值分解,可以通过选取前k个特征值对应的特征向量就是最佳的k维新特征,且k维新特征是正交的。
最大方差法解释的参考链接: https://blog.csdn.net/huang1024rui/article/details/46662195