一、核心目标与直觉

PCA 寻找低维线性子空间,使数据在该空间上的投影方差最大(信息最大),且投影误差最小(重构误差最小)。

这等价于:将坐标系旋转到数据“最散开”的方向。


二、数学本质(两种等价角度)

角度 优化目标 结论
最大方差理论 ww 为协方差矩阵最大特征值对应的特征向量
最小重构误差 同上

因此 PCA 本质上就是对协方差矩阵做特征分解(或对数据矩阵做 SVD)。


三、完整计算步骤(含矩阵维度说明)

设 X 为 n×d 矩阵(n 样本,d 特征):

  1. 中心化

  2. 可选标准化(当特征量纲/尺度差异大时)

  3. 计算协方差矩阵

  4. 特征分解

  5. 排序选择

  6. 降维映射


四、如何选择 kk(主成分个数)

方法 说明 阈值示例
累积方差贡献率 ≥0.9, 0.95, 0.99
碎石图(Scree Plot) 找特征值“肘点” 主观
平均根准则 适用于标准化后
交叉验证重构误差 用测试集评估投影误差 不固定
信息准则(AIC/BIC) 较少用

五、重要性质与理解

  • 正交性:主成分之间线性无关

  • 无参数:除了 k 没有超参数(标准化除外)

  • 能量保持

  • 与 SVD 关系


六、PCA 的六大变体(应对不同场景)

变体 解决问题 典型场景
核PCA 非线性结构 流形数据
稀疏PCA 可解释性 基因选择
增量PCA 流式/大数据 在线学习
鲁棒PCA 异常值/缺失值 监控视频
概率PCA 缺失值 + 生成模型 贝叶斯框架
多维PCA 张量数据 图像、EEG

七、PCA 的局限与注意事项(非常重要)

局限 说明 缓解方式
线性假设 无法处理弯曲/流形结构 核PCA、UMAP、t-SNE
对异常值敏感 离群点会扭曲方差方向 鲁棒PCA、先剔除异常值
尺度依赖 未标准化时受量纲影响 标准化(StandardScaler)
可解释性下降 主成分是原始特征的线性混合 稀疏PCA、因子旋转
高斯/二阶统计假设 仅利用均值与协方差 高阶统计方法(如ICA)

八、PCA vs 其他降维方法(简洁对比)

方法 线性 全局结构 可解释性 可视化 计算速度
PCA 较好 很快
t-SNE 优秀
UMAP 可调 优秀
LDA 好(有监督) 一般
Autoencoder 一般

九、典型应用案例(真实场景)

  1. 人脸识别(特征脸)
    将人脸图像投影到“特征脸”空间,降维后分类。

  2. 基因表达分析
    上万基因 → 前几个主成分捕捉主要变异来源(如疾病状态)。

  3. 金融多因子模型
    用PCA提取市场主要风险因子,去除多重共线性。

  4. 高维可视化
    MNIST、单细胞RNA-seq降到2D/3D观察聚类。

  5. 压缩与加速
    PCA + SVM / K-Means:降低维度后训练更快。


十、扩展 Mermaid 框图(完整工程视角)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐