Ch05 评估与特征工程
过拟合与欠拟合 (Overfitting & Underfitting)
一句话理解
过拟合 = 死记硬背训练数据,泛化能力差; 欠拟合 = 连训练数据都没学好,模型能力不足。两者都是模型学习失败的表现,需要不同的策略应对。
零基础比喻
| 比喻 | 学生考试 | 机器学习模型 |
|---|---|---|
| 过拟合 | 把所有做过的题背下来,但换一道同类型的新题就不会做 | 训练集loss很低,验证集loss很高 |
| 欠拟合 | 上课没听,连最简单的题都做不对 | 训练集loss也很高,模型根本没学会 |
| 理想状态 | 理解了原理,做过的题会做,没做过的也会 | 训练集和验证集loss都低,且差距小 |
检测方法
训练集 vs 验证集 Loss 曲线
过拟合的典型特征:
- 训练loss持续下降,验证loss先降后升(形成”U形”或”对勾形”)
- 训练loss远低于验证loss
- 训练集准确率接近100%,验证集准确率停滞不前
欠拟合的典型特征:
- 训练loss和验证loss都高,且差距不大
- 两条曲线都趋于平缓但仍在高位
- 训练集准确率本身就不高
学习曲线诊断表
| 观察现象 | 诊断结论 | 方向 |
|---|---|---|
| 训练loss高 + 验证loss高 | 欠拟合 | 增加模型复杂度 |
| 训练loss低 + 验证loss高 | 过拟合 | 减少复杂度/增加正则化 |
| 训练loss高 + 验证loss更高 | 欠拟合+轻微过拟合 | 先解决欠拟合 |
| 训练loss低 + 验证loss低 | 良好 | 保持 |
解决方案对比
应对过拟合的方法
| 方法 | 原理 | 效果 | 计算成本 | 适用场景 |
|---|---|---|---|---|
| L1/L2正则化 | 约束权重大小,限制模型复杂度 | 中等 | 低 | 线性模型,神经网络 |
| Dropout | 训练时随机丢弃神经元,相当于集成多个子网络 | 强 | 低 | 全连接层,Transformer |
| 早停 (Early Stopping) | 验证loss不再下降时停止训练 | 强 | 低(节省训练时间) | 几乎所有深度学习模型 |
| 数据增强 (Data Augmentation) | 通过变换生成更多训练样本 | 很强 | 中等 | CV(翻转/旋转), NLP(回译/替换) |
| 更多训练数据 | 增加数据多样性,覆盖更多情况 | 最强 | 高(数据采集成本) | 所有场景 |
| 降低模型复杂度 | 减少层数/神经元/参数 | 中等 | 低(减少训练时间) | 小数据集 |
| 批归一化 (BatchNorm) | 稳定训练,隐式正则化 | 轻度 | 低 | CNN |
| 权重衰减 (Weight Decay) | 等价于L2正则化,但实现更高效 | 中等 | 低 | 所有神经网络 |
应对欠拟合的方法
| 方法 | 原理 | 效果 | 适用场景 |
|---|---|---|---|
| 增加模型复杂度 | 更多层/更多神经元/更多参数 | 强 | 模型容量不足 |
| 训练更久 | 更多epoch | 中等 | 训练不充分 |
| 降低正则化强度 | 减少Dropout率/减少权重衰减 | 中等 | 正则化过强 |
| 特征工程 | 构造更好的特征 | 中等 | 特征不足以表达模式 |
| 更换模型架构 | 选择更适合任务的架构 | 强 | 架构与任务不匹配 |
| 调整学习率 | 提高或降低学习率 | 中等 | 优化器配置不当 |
偏差-方差权衡 (Bias-Variance Tradeoff)
| 概念 | 含义 | 与过拟合/欠拟合的关系 |
|---|---|---|
| 偏差 (Bias) | 模型预测的期望与真实值的差距 | 高偏差 → 欠拟合(模型太简单,学不到模式) |
| 方差 (Variance) | 模型对训练数据微小变化的敏感度 | 高方差 → 过拟合(模型太敏感,学到了噪声) |
| 不可约误差 (Irreducible Error) | 数据本身的噪声,任何模型都无法消除 | 数据质量的上限 |
偏差-方差分解:
- 模型复杂度低: 高偏差,低方差(欠拟合)
- 模型复杂度高: 低偏差,高方差(过拟合)
- 最优复杂度: 偏差和方差之和最小
2026年视角: 过参数化模型的”双下降”现象
经典偏差-方差权衡认为模型太大(参数远多于样本)会过拟合。但现代深度学习观察到了双下降 (Double Descent) 现象:
| 阶段 | 模型参数量 | 测试误差 | 现象 |
|---|---|---|---|
| 欠参数化 | 远小于样本数 | 随参数增加而下降 | 经典偏差-方差 |
| 临界点 | 约等于样本数 | 峰值 | 刚好能拟合所有训练数据 |
| 过参数化 | 远超样本数 | 再次下降! | 打破经典理论 |
解释: 过参数化模型通过隐式正则化(如SGD的隐式偏好)找到了泛化能力好的解。这也是为什么GPT-4等超大模型虽然有海量参数但不过拟合的原因之一。
相关笔记
- 第5章 · 模型评估与特征工程 — 完整的模型评估方法体系
- 第6章 · 神经网络基础 — 神经网络中的正则化技术
- 迁移学习 (Transfer Learning) — 预训练模型微调的过拟合风险
- 归一化 (Normalization) — BatchNorm/LayerNorm的隐式正则化效果
- 第4章 · 机器学习核心算法 — 经典ML中的偏差-方差分析
来源
- Hastie et al., “The Elements of Statistical Learning” (2009) — https://hastie.su.domains/ElemStatLearn/
- Srivastava et al., “Dropout: A Simple Way to Prevent Neural Networks from Overfitting” (2014) — https://jmlr.org/papers/v15/srivastava14a.html
- Belkin et al., “Reconciling modern machine-learning practice and the classical bias-variance trade-off” (2019, Double Descent) — https://www.pnas.org/doi/10.1073/pnas.1903070116
- Andrew Ng, “Machine Learning Yearning” — https://www.deeplearning.ai/programs/
- Goodfellow et al., “Deep Learning” (Chapter 7: Regularization) — https://www.deeplearningbook.org/
关联15
知识图谱反向链接10
局部图谱 · 点节点跳转