PCA是基本的线性降维方法,同时也是一种监督学习降维方法。PCA是希望降维之后,尽量保留原始数据的方差结构,所以我们需要投影方向a使得投影之后数据的方差最大化。
1. 求解
PCA是通过求解协方差矩阵的特征向量作为投影方向,如果我们要把原始数据降维到k维,把协方差矩阵前k大的特征值所对应的特征向量作为投影方向,证明见PPT。
步骤:
1. 假设有m个d为数据,把这些数据用矩阵的形式表示X=(x1, x2, … , xm),矩阵中的每一列代表一个数据,所以矩阵X的大小为d*m。
2. 对d维数据去均值,每一维度减去这维度整个数据集的平均值。
3. 计算协方差矩阵S:S=XX’/(m-1),协方差矩阵是对称的半正定矩阵。
4. 选取协方差矩阵S中前k个(1<=k<= rank(S))最大特征值所对应的特征向量,组成变换矩阵A,其每一行代表一个特征向量,大小为k*d。
5. 通过z_i = Ax_i讲原始d维数据x_i变换到k维数据z_d。
经过PCA变换之后,原始的高位数据有d维降到了k维空间,并且保存了