Principal Component Analysis, 主成分分析。

通过线性变换,将高维数据映射到低维空间,同时保留数据的主要方差信息。PCA 的主要优势在于它可以在数据降维的同时减少噪声,简化数据结构,提升模型的可解释性。

1. PCA 的基本思想

给定数据集 \(X \in \mathbb{R}^{n \times p}\),其中 \(n\) 是样本数,\(p\) 是特征数。PCA 的目标是找到新的正交基(主成分),使得数据在这些新基上的投影尽可能解释原数据的方差。

PCA 的核心步骤如下:

  1. 数据中心化:将数据减去均值,使得每个特征的均值为 0。
  2. 协方差矩阵:计算中心化数据的协方差矩阵,衡量各特征之间的线性关系。
  3. 特征分解:对协方差矩阵进行特征分解,得到特征值和特征向量。
  4. 主成分选择:选择特征值最大的前 \(k\) 个特征向量作为新的坐标轴(主成分),将数据投影到这些主成分上。

2. PCA 的数学推导

2.1 数据中心化

首先,对数据 \(X\) 进行中心化处理,将每个特征减去均值: \[ \tilde{X} = X - \bar{X} \] 其中,\(\bar{X}\)\(X\) 的均值向量。

2.2 协方差矩阵

对于中心化后的数据 \(\tilde{X}\),计算其协方差矩阵 \(\Sigma\)\[ \Sigma = \frac{1}{n-1} \tilde{X}^\top \tilde{X} \] 协方差矩阵描述了不同特征之间的相关性。PCA 的目的是通过选择适当的基,使得投影后的数据方差最大化。

2.3 特征分解

通过对协方差矩阵 \(\Sigma\) 进行特征值分解,得到特征值和特征向量: \[ \Sigma v_i = \lambda_i v_i \] 其中,\(\lambda_i\) 表示协方差矩阵的第 \(i\) 个特征值,\(v_i\) 表示对应的特征向量。

  • 特征值:表示数据在对应特征向量方向上的方差大小。特征值越大,表示该方向上方差越大,信息量越多。
  • 特征向量:表示主成分方向,也就是新的坐标轴。

2.4 主成分选择与投影

根据特征值的大小,从大到小排列,选择前 \(k\) 个特征向量作为主成分,将数据投影到这些主成分方向上: \[ Z = \tilde{X} V_k \] 其中,\(V_k\) 是前 \(k\) 个特征向量组成的矩阵,\(Z\) 是降维后的数据矩阵。

3. PCA 的几何解释

从几何角度来看,PCA 是在寻找新的正交基,使得数据在这些基上的投影具有最大方差。特征向量代表新的基方向,特征值表示投影在该基方向上的方差大小。

PCA 的第一主成分对应于数据方差最大的方向,第二主成分则是与第一主成分正交并且方差次大的方向,以此类推。

4. PCA 的步骤

  1. 标准化数据:确保每个特征有相同的量纲。
  2. 计算协方差矩阵:通过公式 \(\Sigma = \frac{1}{n-1} \tilde{X}^\top \tilde{X}\) 计算协方差矩阵。
  3. 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
  4. 选择主成分:根据特征值的大小选择前 \(k\) 个主成分。
  5. 数据投影:将数据投影到所选主成分上,得到降维后的数据。