← 返回题目列表

常见降维方法怎么选?PCA、t-SNE、UMAP 有什么区别?

高频 中等 第 2 / 25 题 更新于 2026/09/25
无监督学习聚类降维PCA
学习 AI 实战项目

简化版

降维方法要按目标选择:PCA 保留线性方差,随机投影近似保持距离,t-SNE/UMAP 强调可视化邻域,自编码器学习非线性表示。评估不能只看二维图漂亮,还要看重构、邻域保持、下游性能、稳定性和变换新样本的能力。

详细版

  • 降维目标可能是压缩、去噪、可视化或建模。
  • PCA 方向可解释但只捕捉线性结构。
  • t-SNE 的全局距离和簇面积不可靠。
  • UMAP 可变换新样本但仍依赖超参数与随机性。
  • 监督任务选维度必须在交叉验证内部完成。

完整版教学

一、问题定义与核心直觉

不同方法保留的几何对象不同。若需要压缩后重建,应优先检查重构误差;若需要近邻检索,应测 trustworthiness/recall;若只做展示,必须标注随机种子和参数并避免对簇间距做强解释。

降维也会泄漏。先在全数据拟合 PCA 再做验证,相当于让验证分布参与表示学习;正确做法是每个训练折独立拟合变换,再应用到验证折。

二、机制与公式

PCA: maximize Var(Xw), subject to ||w||=1
neighbor_recall=|N_k_original intersect N_k_embed|/k

PCA 的目标是最大化投影方差,近邻召回则衡量局部集合保持;二者优化对象不同。PCA 轴是原特征的线性组合,可查看载荷,但轴符号任意、相关特征会共同加载,不能把“可查看载荷”夸成天然业务解释。

三、带数字的推演

原始 200 维特征,PCA 取 30 维保留 92% 方差,验证 AUC 从 0.84 降到 0.835、推理耗时下降 60%。若目标是部署压缩,这可能优于保留 99% 方差但几乎不加速的 100 维方案。

92% 解释方差不是独立验收目标;此处应由 0.005 的 AUC 损失是否可接受与 60% 延迟收益共同决定。若采用 UMAP 等邻域方法,还应固定随机种子并验证新样本 transform 的漂移与近邻保持。

四、方案对比

方案优势代价或边界
PCA线性、可逆近似、可变换新样本受缩放和离群值影响
随机投影快且适合高维稀疏单轴难解释
t-SNE/UMAP局部可视化强全局几何与稳定性有限

五、工程执行流程

明确保留对象 -> 训练折拟合缩放/降维 -> 扫描目标维数 -> 比较结构指标
-> 验证下游性能与成本 -> 多种子检查 -> 保存完整变换链路

在监督任务中,维数本身也是超参数:每个交叉验证训练折都要重新拟合缩放与降维,再在对应验证折选择维数。先用全量数据选维数会让验证分布参与表示学习。

六、边界条件与上线代价

降维后的轴可能混合敏感属性代理,压缩并不自动匿名化;可逆性、成员推断和公平性仍需审查。

高维稀疏文本中心化会造成内存爆炸,可使用 TruncatedSVD;把稠密 PCA 直接套在词袋上既昂贵又可能改变语义。

关键判断:先问“降维为了什么”,再选“要保留什么”。

七、常见误区与追问

  • 误区:解释方差越高模型一定越好。 高方差方向未必与下游目标相关。

  • 追问:如何选择方法? 先说明要保留方差、距离、邻域还是重构。

  • 误区:二维图分开就证明存在真实簇。 可视化算法会重排距离并产生视觉团块。

  • 追问:降维放在 CV 哪一步? 每个训练折内拟合,再变换对应验证折。

  • 追问:如何验收? 同时报告结构、下游性能、稳定性和计算成本。

八、加强记忆

先问“降维为了什么”,再选“要保留什么”。PCA 看方差与重构,检索看邻域,展示看多种子稳定;任何用于建模的变换都必须放进交叉验证和线上 Pipeline。