核心要点

  • 过拟合的标志:训练误差持续下降而验证误差回升,训练-验证差距(gap)拉大。

  • 先用学习曲线确诊,再对症下药,而不是盲目堆正则。

  • 正则手段:L1/L2、Dropout、早停、数据增强、简化模型、集成(Bagging)。

  • 本质是高方差问题:优先「加数据」最有效,其次才是各类正则化

简要回答

过拟合表现为训练误差低、验证误差高。看学习曲线确认后,可用 L1/L2 正则、Dropout、数据增强、早停、简化模型或增加数据来缓解。

标准回答

如何判断

绘制训练集 vs 验证集的 loss/accuracy 学习曲线:训练指标持续变好、而验证指标停滞甚至回升、两者差距越来越大,即为过拟合(与之相对,两者都差是欠拟合)。

处理手段(从高方差角度对症)

  • 加数据 / 数据增强:扩大有效样本,通常最有效。
  • 正则化:L2 约束权重幅度使解更平滑,L1 产生稀疏解。
  • Dropout:训练时随机丢弃神经元,相当于隐式集成。
  • 早停(Early Stopping):验证指标不再提升就停,防止后期记噪声。
  • 简化模型:减少层数/参数,降低容量。
  • 集成(Bagging):多模型平均降方差。

选型原则:数据量小优先补数据,模型过大优先降容量/加 Dropout,再用早停兜底,避免一次堆叠过多正则导致欠拟合。

常见误区

⚠️ 常见踩坑

别只看训练集 loss 低就以为模型好——没有独立验证集根本看不出过拟合。也别无脑叠加正则:Dropout、L2、早停一起上太猛会从过拟合滑向欠拟合,应先用学习曲线定位是高方差还是高偏差再下手。

追问

追问 1Dropout 在推理时如何处理?

训练时随机丢弃神经元并缩放激活(inverted dropout);推理时关闭 Dropout,使用全部神经元,权重不再额外缩放(PyTorch 的 nn.Dropout 自动处理 train/eval 模式切换)。

追问 2L1 和 L2 正则效果有何不同?

L2(权重衰减)惩罚大权重,使参数整体缩小,解更平滑;L1 产生稀疏解,可做特征选择。深度学习常用 L2/weight decay;L1 在稀疏建模、可解释性场景更常见。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。