MLE · CodeSignal OA Multiple Choice

Coinbase MLE OA:PCA vs LDA 选型与标签泄漏

选择题问何时考虑 PCA 与 LDA;分别解释无监督最大方差和监督式类间分离及维度上限。

题目重点:选择题问何时考虑 PCA 与 LDA;分别解释无监督最大方差和监督式类间分离及维度上限。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 输入为数值特征矩阵,PCA 指 principal component analysis;LDA 指 linear discriminant analysis,有 C≥2 个已知类别标签。
  • 特征缩放与变换只在训练 split 拟合,再作用于 validation/test;不能先在全数据集拟合 LDA/PCA。
  • PCA 高方差方向不一定最能分类,LDA 类间分离不一定保留最大总体方差。

解题路线

  1. PCA 不看标签,中心化后求协方差特征方向或 SVD,按方差解释率取前 d 维;适合压缩、去噪或可视化,但可能丢低方差高预测力方向。
  2. LDA 使用类别标签,寻找类间散度相对类内散度大的方向;C 类最多 C−1 个非零判别方向,适合有标签分类预处理但对协方差估计敏感。
  3. 先定义目标:若无标签或主要压缩/重建用 PCA;若有可靠标签且要类分离,可试 LDA,并用下游验证指标比较。类别严重不平衡或高维小样本时正则化/降维可改善估计稳定性。
  4. 训练例二维数据沿 x 轴总方差大但类别主要沿 y 分开,PCA 第一主成分偏 x,LDA 更可能选 y;不是说 LDA 总比 PCA 好。
  5. 交叉验证中的每折独立 fit 标准化与降维,避免测试数据统计量提前进入训练。

手动走一遍

两个类别的点各自在 x 轴散得很宽,类均值只在 y 轴分离。PCA 看总方差会偏 x;LDA 用标签比较均值差与类内散度,会偏 y。若只有一类标签,LDA 无类间分离可谈。

规模与取舍

N 样本、D 特征:直接协方差构造约 O(ND²) 时间、O(D²) 空间,后续特征分解依算法;大规模通常用截断/随机 SVD。LDA 还需类别统计,具体计算依实现。

易错点与追问

容易失分的边界

  • 说 PCA 需要标签或 LDA 不需要标签。
  • 认为 PCA 解释方差高就一定分类准确。
  • C 类请求多于 C−1 个 LDA 判别维度。
  • 在完整数据上先 fit 再切分,造成数据泄漏。
  • 缩写 LDA 未确认就把 topic model 与判别分析混谈。

继续深挖

  • 样本远少于特征数时 LDA 协方差如何处理?
  • PCA 方向为何可能与分类目标正交?
  • 标准化应该放在交叉验证的哪一步?
✓已复制微信号!