核心思想
PCA通过找到数据方差最大的方向(主成分)来重新表达数据,使得第一个主成分方向方差最大,后续每个主成分与之前方向正交且方差递减,这样可以用少数主成分近似表示原始高维数据,实现降维和特征提取。

数学原理
设数据矩阵 (X \in \mathbb{R}^{n \times p})(n个样本,p个特征),通常先对X进行中心化(每列均值为0)。
- 计算协方差矩阵:(C = \frac{1}{n-1} X^T X)(假设X已中心化)。
- 特征值分解:求解 (C v = \lambda v),得到特征值 (\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_p \geq 0) 和对应的特征向量 (v_1, v_2, ..., v_p)。
- 选择主成分:按特征值大小排序,前k个特征向量构成投影矩阵 (W = [v_1, v_2, ..., v_k])。
- 降维变换:降维后的数据 (Y = X W),得到 (n \times k) 的新矩阵。
步骤详解
- 数据预处理:通常标准化(中心化并缩放方差为1)以避免量纲影响。
- 计算主成分:也可通过奇异值分解(SVD)直接进行,无需显式计算协方差矩阵。
- 确定主成分数量k:
- 根据方差解释率:累计贡献率 (\frac{\sum_{i=1}^k \lambdai}{\sum{i=1}^p \lambda_i} \geq) 阈值(如80%)。
- 碎石图:观察特征值拐点。
- 交叉验证。
应用场景
- 数据可视化(降至2-3维)
- 噪声过滤
- 特征提取与压缩
- 多重共线性处理
优缺点
优点:
- 减少计算复杂度,防止过拟合。
- 消除特征相关性,保留最大方差。
- 无需标签信息。
缺点:
- 线性假设,无法捕捉非线性关系。
- 主成分可解释性可能较差。
- 对离群值敏感。
- 方差小的方向可能包含重要信息。
扩展
- 核PCA:通过核函数处理非线性数据。
- 稀疏PCA:引入稀疏性,提高可解释性。
PCA是数据分析的基础工具,广泛应用于图像处理、基因组学、金融等领域。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。