矩阵分解与应用

主成分分析(PCA)

主成分分析(PCA)不是一种新的分解,而是对你已经熟悉的那些分解的一种应用。给定一团数据点,它会找出数据变化最大的那些方向:第一主成分是离散程度最大的单一方向,第二主成分是与第一方向垂直、离散程度次大的方向,以此类推。从数学上看,这些方向就是数据协方差矩阵的前几个特征向量,等价地也就是 SVD 给出的前几个奇异向量。

实际收益在于压缩与可视化。如果一个 50 维数据集中的大部分变化只落在两三个方向上,你就可以保留这几个主成分、把其余的丢掉,从而把高维数据画在平面纸上,或在送入另一个算法之前先把它缩小。

要诚实地看待 PCA 能做什么、不能做什么。它只是把你的坐标轴旋转到与方差最大的方向对齐;它并不理解数据的含义。方差大并不等于重要,得到的成分可能难以解释,而且 PCA 只能捕捉线性结构,因此弯曲的或成簇的模式可能被完全错过。

C = covariance(data); principal components = top eigenvectors of C (= top singular vectors of data)

把数据投影到方差最大的少数几个方向上,以便压缩或绘图。

PCA 找的是高方差方向,而非有意义的方向;方差大并不自动意味着重要。

又称
PCA主成分分析Karhunen-Loeve transform主元分析主元分析