举个极端的例子,我们制作出这样一组数据:身高和体重存在简单的线性关系(正比关系),而相貌不受身高、体重的任何影响。如下图所示
那么现在,我们计算取得上述信息矩阵A的其协方差矩阵C,如下图所示
不出意料,体重和相貌、身高和相貌之间的协方差值为0。再根据这个这个协方差矩阵C分解特征值,得出以下两个矩阵,一个为包含特征值的对角矩阵D,一个为特征值对应的特征向量所形成的矩阵X
协方差矩阵的特征值所构成的对角矩阵D:
所对应的特征向量所组成的特征矩阵X:
从上面两张图可以看出,特征值从大到小的顺序为:
77.8542895 >> 0.12487716 >> 0
显然协方差矩阵C为对称矩阵,所以根据线性代数的相关知识,矩阵C及其特征矩阵X以及特征值对角矩阵D之间,有如下关系:
我们看出特征值类似于一种“能量”,能量越大的特征值,对矩阵的“贡献”相对越大。特征值为0或几乎为0的那部分乘积项,可以被忽略掉。
在此我们只保留最大的特征值所对应的特征向量Y,这个向量Y作为压缩数据的方向
通过向量Y,用以下方式将原来的3维数据压缩为1维数据
P就是我们压缩后的信息,它映射一个唯一的主成分P1。
下图显示了压缩前后样本数据和主成分的变化关系
l h代表身高数据
l w代表体重数据
l a代表长相数据
l p1就是压缩后的主成分上的投影数据
从图中可以看出:
1. 压缩的后主成分p1和几乎保留了身高h的变化规律,
2. 体重w与h为正比关系。故此,w,h贡献给了主成分p1,
3. 长相a作为冗余数据被过滤掉。
那么为什么我们选择协方差矩阵最大特征值所对应的特征向量,就刚好能够使我们抽取原信息矩阵中的主成分呢?下一篇我们将阐述PCA降维的原理和依据。