主成分分析(PCA)

PCA是一种降维的方法,用于将样本从较高的N维投影到较低的K维,PCA认为最好的K维空间是将样本点转换为K维后,每一维的样本方差都很大,方差较大保证了样本点在K维空间构成的超平面上的投影能尽可能的分开。

那么如何能找到符合条件的K维空间了?下面以将样本投影到某一维上为例:
首先对所有的样本进行中心化,即将样本减去他们的均值,

主成分分析(PCA)

上图中Xi为其中一个样本点,将Xi投影到u||u||=1

由于样本点已经进行中心化,所以其每一维特征均值都是0,因此投影到u上的样本点的均值仍然是0。最佳的u要使得投影后的样本点方差最大,方差可以用下面式子计算:

1mi=1m(XiTu)2=1mi=1muTXiXiTu=uT(1mi=1mXiXiT)u

λ=1mi=1m(XiTu)2 ,  =1mi=1mXiXiT   (X的协方差矩阵为1m1i=1mXiXiT
则:
λ=uTu 
 λu=uλ=uuTu=u
 λu=u

λ的特征值,u是特征向量。最佳投影直线是特征值λ最大时对应的特征向量,其次是λ第二大对应的特征向量,以此类推。

所以PCA算法如下:
输入:样本集D={X1,X2,...,Xi,...,Xm},K
过程:1.对所有样本进行中心化:XiXi1mi=1mXi
           2.计算样本的协方差矩阵XXT
           3.对协方差矩阵XXT做特征值分解
           4.取最大的K个特征值所对应的特征向量W1,W2,...,Wk
输出:投影矩阵W=(W1,W2,...,Wk)
将原数据与投影矩阵相乘即得到降维后的数据

由于数据进行了中心化,且协方差矩阵是对称的,所以Wi是标准正交基向量,|Wi|=1,WiTWj=0


参考书籍:《机器学习》