M2-068M2: Classical Machine LearningFeature SelectionMedium
Mastery:
Feature Selection: 为什么'去掉无用特征'有时反而降低性能?
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 特征间存在交互与冗余;单看边际重要性会低估协同特征,且删特征可能破坏模型稳定性。
📌 Key Takeaways
- •相关特征会互相稀释重要度
- •建议用分组重要性或 SHAP
📐 Mathematical Derivations
四种原因:① <strong>交互效应</strong>——两个单独看很弱的特征可能组合后很强(如 XOR 问题:单看任一特征与目标无关,但两者组合完全决定目标);过滤式与边际重要度都无法发现这类特征,删除任一个都会破坏信息。② <strong>冗余但有用</strong>——两个高度相关的特征各自都能预测目标,模型会'随机'用其中一个,导致两者的重要度都被低估(各分走一半);若按重要度删除'较低'的那个,会损失鲁棒性(剩下的那个可能在分布偏移下失效)。③ <strong>重要度的稀释与偏差</strong>——树模型的 MDI 偏向高基数特征且受相关特征稀释;置换重要度在相关特征上也会低估(打乱一个后另一个仍提供信息)。④ <strong>模型稳定性</strong>——删除特征会改变模型的方差与偏差权衡;若原模型依赖多个特征的平均效应(Bagging 效果),删特征可能增加方差。<strong>根本原因</strong>:单特征的重要度是<strong>边际的</strong>,而模型性能是<strong>联合的</strong>。
🏭 Production Trade-offs
实践建议:① <strong>用分组重要性</strong>——先把相关特征聚类成组,对整组做置换重要度(打乱整组),得到无稀释的组重要性;再决定是否删除整组。② <strong>用 SHAP 等博弈论方法</strong>——Shapley 值满足一致性公理(特征贡献的分配更合理),TreeSHAP 对树模型高效;但相关特征下需明确 <code>feature_perturbation</code> 设置。③ <strong>交叉验证确认</strong>——删除特征后<strong>必须在独立验证集上确认性能未降</strong>,而非仅看重要度排序。④ <strong>谨慎删特征</strong>——保留少量冗余特征通常无害(正则化可处理),而误删有用特征有害;故实践中'宁留勿删'(除非为了可解释性或计算成本)。⑤ <strong>领域知识优先</strong>——有明确业务含义的特征即使统计重要度低也应保留(可能是长期有效但当前数据未体现)。⑥ <strong>注意分布偏移</strong>——训练数据上无用的特征在线上可能有用(如季节性特征在训练期不显著但上线后关键),故删特征前应考虑上线场景。
⚠️ Common Interview Pitfalls
- ✕仅按重要度排序删除特征而不做验证
- ✕忽略相关特征导致的相互稀释
🎯 Interviewer Follow-ups
- ?如何检测特征交互?
- ?为什么随机森林重要度会低估相关特征?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.