PCA算法步骤总结:
设有m条n维数据,这里比较糊涂就是按行组织样本还是按列组织样本,下面是按行组织样本:
1)将原始数据按行组成n行m列矩阵X,代表有n个数据,每个数据m个特征
2)将X的每一列(代表一个属性字段)进行零均值化,即减去这一列的均值
3)求出协方差矩阵C=1/n* XXT(不同维度之间的协方差,而不是不同样本之间)
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按列排列成矩阵,取前k列组成矩阵P
6)Y=XP即为降维到k维后的数据
A 协方差矩阵的定义:
对n个维度,任意两个维度都计算一个协方差,组成矩阵,定义如下
直观的对于一个含有x,y,z三个维度的样本,协方差矩阵如下