PCA
Principal Component Analysis, 主成分分析。
通过线性变换,将高维数据映射到低维空间,同时保留数据的主要方差信息。PCA 的主要优势在于它可以在数据降维的同时减少噪声,简化数据结构,提升模型的可解释性。
1. PCA 的基本思想
给定数据集 \(X \in \mathbb{R}^{n \times p}\),其中 \(n\) 是样本数,\(p\) 是特征数。PCA 的目标是找到新的正交基(主成分),使得数据在这些新基上的投影尽可能解释原数据的方差。
PCA 的核心步骤如下:
- 数据中心化:将数据减去均值,使得每个特征的均值为 0。
- 协方差矩阵:计算中心化数据的协方差矩阵,衡量各特征之间的线性关系。
- 特征分解:对协方差矩阵进行特征分解,得到特征值和特征向量。
- 主成分选择:选择特征值最大的前 \(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 的步骤
- 标准化数据:确保每个特征有相同的量纲。
- 计算协方差矩阵:通过公式 \(\Sigma = \frac{1}{n-1} \tilde{X}^\top \tilde{X}\) 计算协方差矩阵。
- 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
- 选择主成分:根据特征值的大小选择前 \(k\) 个主成分。
- 数据投影:将数据投影到所选主成分上,得到降维后的数据。