0%

PCA

推导过程详见:https://zhuanlan.zhihu.com/p/77151308

PCA算法步骤:

设有m条n维数据

  • 将原始数据按列组成n行m列矩阵XX
  • 将X的每一行进行零均值化,即减去这一行的均值
  • 求出协方差矩阵C=1mXXTC = \frac {1} {m} X X^T
  • 求出协方差矩阵的特征值即对应的特征向量
  • 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵PP
  • Y=PXY=PX即为降维到KK维后的数据

性质

  • 缓解维度灾难:PCA算法通过社区一部分信息之后能使得样本的采样密度增大(因为维数降低了),这是缓解维度灾难的重要手段
  • 降噪:当数据收到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将他们舍弃能在一定程度上起到降噪的效果
  • 过拟合:PCA保留了主要信息,但这个主要信息只是针对训练集的,而且这个主要信息未必是重要信息。有可能舍弃了一些看似无用的信息,但这些看似无用的信息恰好是重要信息,只是在训练集上没有很大的表现,所以PCA也可能加剧了过拟合
  • 特征独立:PCA不仅将数据压缩到低维,它也使得降维之后的数据各特征相互独立