主成分分析(PCA)
PCA是一种降维的方法,用于将样本从较高的N维投影到较低的K维,PCA认为最好的K维空间是将样本点转换为K维后,每一维的样本方差都很大,方差较大保证了样本点在K维空间构成的超平面上的投影能尽可能的分开。
那么如何能找到符合条件的K维空间了?下面以将样本投影到某一维上为例:
首先对所有的样本进行中心化,即将样本减去他们的均值,
上图中为其中一个样本点,将投影到上
由于样本点已经进行中心化,所以其每一维特征均值都是0,因此投影到上的样本点的均值仍然是0。最佳的要使得投影后的样本点方差最大,方差可以用下面式子计算:
令 , (X的协方差矩阵为)
则:
是的特征值,是特征向量。最佳投影直线是特征值最大时对应的特征向量,其次是第二大对应的特征向量,以此类推。
所以PCA算法如下:
输入:样本集
过程:1.对所有样本进行中心化:
2.计算样本的协方差矩阵
3.对协方差矩阵做特征值分解
4.取最大的K个特征值所对应的特征向量
输出:投影矩阵
将原数据与投影矩阵相乘即得到降维后的数据
由于数据进行了中心化,且协方差矩阵是对称的,所以是标准正交基向量,
参考书籍:《机器学习》