主成分分析

获取到的数据集通常都会有很高的维度,给运算造成很大压力,所以需要降维,但是我们并不知道哪些数据更关键,因此引入了主成分分析 (Principal Component Analysis, PCA) 的方法。PCA 算法在无监督学习中扮演着重要的角色。

PCA 的目的是通过某种变换,将数据的维度减小,变换后数据不同维度之间应该正交(不相关),这些维度就是主成分。

假设有一个 d 维的数据集 X,我们希望用 k 个主成分来表示它(k < d)。如果简单地丢弃某些维度,会损失很多信息。所以,我们想找到一个线性变换 W,使得降维后的数据 Z = X W 保留尽可能多的原始信息。

Figure 1 1-D 数据

Figure 2 2-D 数据

Figure 3 3-D 数据

如果维度 > 3,就很难画出来了。

但是我们发现,如果旋转坐标轴,可以用 2-D 数据来表示 3-D 数据。为了能保留尽可能多的信息,需要找到数据协方差矩阵的特征向量 \mathbf{w}(eigen vector),这些特征向量对应着最大的几个特征值。

这 2 条能够代表 3-D 数据的轴就被称为主成分(Principal Components),变化最大的线被称为 PC1,另一条 PC2。

Figure 4 PC1

其中 PC1 最关键,因为它捕获了数据中最大方差的方向。

Figure 5 PCA

PC1 的长度和方向由数据 D 和 E 决定,因此,这些点对该主成分有更大的影响。偏离 PC1 方向较远的点主要影响 PC2。同理,PC2 的长度由 A 和 C 决定,因此这 2 个点对 PC2 的影响更大。

Figure 6 PC scores form

Figure 7 PC scores

影响的大小又被称为系数、权重或者负荷,将标准化的原始变量乘以权重得出新的分数,称为成分分数