题目重点:选择题问何时考虑 PCA 与 LDA;分别解释无监督最大方差和监督式类间分离及维度上限。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 输入为数值特征矩阵,PCA 指 principal component analysis;LDA 指 linear discriminant analysis,有 C≥2 个已知类别标签。
- 特征缩放与变换只在训练 split 拟合,再作用于 validation/test;不能先在全数据集拟合 LDA/PCA。
- PCA 高方差方向不一定最能分类,LDA 类间分离不一定保留最大总体方差。
解题路线
- PCA 不看标签,中心化后求协方差特征方向或 SVD,按方差解释率取前 d 维;适合压缩、去噪或可视化,但可能丢低方差高预测力方向。
- LDA 使用类别标签,寻找类间散度相对类内散度大的方向;C 类最多 C−1 个非零判别方向,适合有标签分类预处理但对协方差估计敏感。
- 先定义目标:若无标签或主要压缩/重建用 PCA;若有可靠标签且要类分离,可试 LDA,并用下游验证指标比较。类别严重不平衡或高维小样本时正则化/降维可改善估计稳定性。
- 训练例二维数据沿 x 轴总方差大但类别主要沿 y 分开,PCA 第一主成分偏 x,LDA 更可能选 y;不是说 LDA 总比 PCA 好。
- 交叉验证中的每折独立 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 方向为何可能与分类目标正交?
- 标准化应该放在交叉验证的哪一步?
