M2-018M2: Classical Machine LearningBias-Variance Tradeoff & Model SelectionMedium
Mastery:

Bias-Variance Tradeoff & Model Selection: 比较 K 折交叉验证、留一法(LOO)与留出法的取舍。

📐 Mathematical Definition
CV: err^=1K∑kerrk\text{CV}:\ \hat{\mathrm{err}}=\frac1K\sum_k\mathrm{err}_k
⚡ Executive Summary
Core Concept: K 折平衡偏差与计算;LOO 偏差最小但方差大且昂贵;留出法快但方差大。

📌 Key Takeaways

  • •
    分层 K 折用于类别不平衡
  • •
    时间序列必须用前向链式 CV(不可随机划分)

📐 Mathematical Derivations

三者的偏差-方差-计算量三角权衡:① <strong>留出法(Hold-out)</strong>——单次划分,计算最省,但性能估计<strong>方差大</strong>(依赖具体划分),且用于调参时数据利用不充分(验证集不能训练)。适合大数据(划分带来的方差小)。② <strong>K 折 CV</strong>——每折轮流作验证,数据利用率高,偏差略大于 LOO(因训练集为 (K−1)/K 而非 n−1),方差适中;K=5 或 10 是经验默认。③ <strong>LOO(K=n)</strong>——训练集几乎最大故偏差最小,但<strong>方差最大</strong>(n 个估计高度相关且各基于几乎相同的数据)、计算量最大(n 次训练);存在 LOO 的快捷公式(线性模型可用帽子矩阵 hᵢᵢ 一次算出,无需 n 次拟合)。

🏭 Production Trade-offs

实践要点:① <strong>分层与分组</strong>——分类不平衡时用<strong>分层 K 折</strong>(每折保持类别比例);存在组结构(同一用户多条记录)时用 <strong>GroupKFold</strong>(同组不跨折),否则会因信息泄漏而高估性能。② <strong>时间序列</strong>——必须用<strong>前向链式 CV</strong>(训练集只含验证集之前的时间),随机 K 折会用到未来信息导致严重乐观偏差。③ <strong>重复 K 折</strong>——单次 K 折的估计仍有方差(依赖划分),重复 R 次取平均可降低方差(代价是 R 倍计算),在模型选择(比较多个模型)时尤其重要,因为<strong>选择方差</strong>会掩盖真实差异。④ <strong>与嵌套 CV 的区别</strong>——普通 K 折用于<strong>评估</strong>,但若同时用于调参则乐观偏差,此时需嵌套 CV。⑤ <strong>大数据的例外</strong>——当 n 很大时,单次留出法的方差已足够小,K 折的收益有限,可优先用留出法节省计算。
⚠️ Common Interview Pitfalls
  • ✕
    对分组/时间数据用随机 K 折(信息泄漏)
  • ✕
    用 LOO 做模型选择(方差过大,选择不稳定)
🎯 Interviewer Follow-ups
  • ?
    时间序列为什么不能随机 K 折?
  • ?
    重复 K 折能降低选择方差吗?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-017: Bias-Variance Tradeoff & Model Selection: 如何用学习曲线诊断高偏差与高方差?📋Back to BankNext →M2-019: Bias-Variance Tradeoff & Model Selection: 解释嵌套交叉验证,它解决了什么问题。