主成分分析-PCA(中英文字幕)

将五列数据总结为两列:

计算一维数轴上数据的方差→计算二维平面上数据的方差:将数据点分别投影到x轴和y轴,再分别用一维数轴上数据方差的计算方式得到x轴和y轴上的方差,最后求和,得到二维平面上数据的方差。
但是用这样的方法得到的方差,无法对以下两种情况作出区分(因为这两种情况数据点分布背后的含义完全不同):

因此需要引入第三个指标,来区分这两种情况。这第三个指标就是“协方差”。

之前我们计算数据方差用的是各数据点坐标的平方和,而协方差是各数据点坐标乘积的和。

由上述计算结果可知,左右两边的协方差绝对值相等,但左边的协方差为负,右边的协方差为正。因此,两种数据分布情况成功被区分开来。
根据以上经验,我们可以发现其实从数据大致的分布形状就能估计协方差的正负:

“协方差矩阵”左上角到右下角的对角线上是各个轴上数据的方差,其余位置是不同轴两两之间的数据的协方差:


上图中的11和1其实是特征值,它们的特征向量分别是(2,1)和(-1,2)。
特征值和特征向量的含义是:(9,4;4,3)这个矩阵让左图中的大部分向量在转换后都改变了方向,但(2,1)和(-1,2)这两个特殊向量被转换后依然分别指向原来的方向,只是长度发生了变化。则称(2,1)和(-1,2)这两个特殊向量为“特征向量”。而长度变化的倍数λ1和λ2就是这两个特征向量对应的特征值。

特征向量和特征值的计算方法有很多。比如将转换矩阵输入“Wolfram Alpha”这个网站,会直接输出该矩阵对应的两个特征向量和特征值:

还有一种方式是自己计算。特征值的计算过程如下所示:

得到特征值后,代入Ax=λx(x为特征向量,λ为特征值,目前A和λ均已知)这个方程后,就可得到x的解,即两个特征值分别对应的特征向量。

如果转换矩阵是对称的,那么对应的两个特征向量是垂直或正交的。因为协方差矩阵本身构造的时候就是对称的,所以其对应的两个特征向量就是垂直或正交的。
决定好要保留哪些向量后,把不要的都删掉,并把数据投影到保留下来的向量所在的直线上:


选择前两个向量,并把所有数据点投影到这两个向量组成的平面上:


投影到该平面后的数据点在x轴和y轴上的值,就是降维后的w1列和w2列的值。