PCA怎么玩儿

本文的思路:先说明PCA的目的,然后达到目的思路,以及有了思路以后我们可以利用什么工具,最后把工具集成到思路中。


PCA要干嘛

PCA的名字叫做主要成分分析,顾名思义就是找出向量中的主要成分。那么什么才是主要成分?我认为这个主要的定义取决于你的目的,PCA的目的是数据降维的,我们对数据降维的基本要求就是,维度要降下来,但是数据之间依然要能相互区分。因此,降维就是要删掉大家共有的信息,留下各自独有的信息(这一点和信息论中出现越多的信息量越小的观点类似)。

举个例子:考虑以下一组二维点:(9, 1), (25, 1), (7, 1), (-6, 1)。如果让你选择删掉一个维度,应该删哪个呢?当然是第二个,因为第二个维度大家都一样,即使删掉第二个维度的数字各个点依然泾渭分明,有很大的区分度,但是如果删掉第一个维度,所有点的坐标就剩下个1,全都一样了,数据的信息也就丢失了。

如果情况变得更加复杂一点,如下图。数据点并非简单的沿着坐标轴变化很小,而是沿着变化很小,沿着变化很大,所以不能简单地丢掉坐标中的某一维度,而需要用PCA来解决。通过PCA变换,将数据从2维降维到1维。此时我们称是主要成分,是次要成分。

当然,PCA可以处理的是任意N维的数据,将其降维到n(n


PCA应该怎么干

通过上述两个例子可以发现,主要成分的方向其实也就是方差最大的方向。所以我们的目的就是要找出方差最大的方向。

那就先求呗,先把所有点各个维度的方差都求出来得到协方差矩阵,这里因为是二维点。所以协方差矩阵就是的矩阵。

然后怎么知道它沿着哪个方向方差最大呢?这里想到了特征值和特征向量,因为特征值和特征向量的几何意义就是找出矩阵沿哪个方向(特征向量的方向)缩放了多少(特征值大小)。所以求出协方差矩阵的特征向量和特征值,最大的特征值对应的特征向量的方向就是主成分的方向。


工具

特征值和特征向量(也就是矩阵的相似对角化)

对于点的矩阵X的协方差矩阵A,有:

,其中等是A的特征向量,等为特征值。这个等式也可以写成:

,其中V是所有特征向量组成的矩阵,是对角阵,对角线是所有的特征值。


集成

在上述公式中,找出中最大的特征值对应的特征向量就是投影方向(假设是),则就是投影后的点沿着方向的坐标。

你可能感兴趣的:(PCA怎么玩儿)