推导过程详见:https://zhuanlan.zhihu.com/p/77151308
PCA算法步骤:
设有m条n维数据
- 将原始数据按列组成n行m列矩阵
- 将X的每一行进行零均值化,即减去这一行的均值
- 求出协方差矩阵
- 求出协方差矩阵的特征值即对应的特征向量
- 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵
- 即为降维到维后的数据
性质
- 缓解维度灾难:PCA算法通过社区一部分信息之后能使得样本的采样密度增大(因为维数降低了),这是缓解维度灾难的重要手段
- 降噪:当数据收到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将他们舍弃能在一定程度上起到降噪的效果
- 过拟合:PCA保留了主要信息,但这个主要信息只是针对训练集的,而且这个主要信息未必是重要信息。有可能舍弃了一些看似无用的信息,但这些看似无用的信息恰好是重要信息,只是在训练集上没有很大的表现,所以PCA也可能加剧了过拟合
- 特征独立:PCA不仅将数据压缩到低维,它也使得降维之后的数据各特征相互独立