← 返回题目列表

Early Stopping 为什么能缓解过拟合?

高频 简单 第 2 / 25 题 更新于 2026/09/19
深度学习神经网络反向传播优化器

简化版

Early Stopping 持续监控验证指标,在连续若干次无显著改善后停止训练,并恢复最佳 checkpoint。它是限制有效训练时长的正则化手段,但监控指标、最小改善量、patience 与验证频率必须明确。

详细版

  • 应监控与最终目标一致且方向明确的验证指标。

  • min_delta 过滤微小噪声,patience 容忍平台期与调度器周期。

  • 停止时使用最佳权重,而不是最后一次权重。

  • 每个 epoch 验证与每 N step 验证对应的 patience 含义不同。

  • 反复依据同一验证集改方案会让验证集也被过拟合。

完整版教学

一、停止规则是在噪声曲线上做序贯决策

训练损失常继续下降,验证风险先降后升,最佳点附近就是偏差—方差折中。

Early stopping 用验证信号选择步数,相当于把训练轮数当超参数。

指标具有随机波动,看到一次下降就停止会过早。

min_delta 定义什么算改善,patience 定义愿意等待多少次检查。

二、底层机制与公式

improved = metric > best + min_delta
if improved: save checkpoint; bad_count=0
else: bad_count += 1
stop if bad_count >= patience

三、带数字的推演

验证 AUC 依次为 [0.80,0.82,0.819,0.821,0.820]min_delta=0.002 时 0.821 不超过 0.822,不算新改善;若 patience=3,会在第三次未改善后停止并恢复 0.82 对应权重。

四、方案对比

方案/对象核心特点代价或边界
小 patience快速节省预算容易错过平台后提升
大 patience容忍噪声/周期耗时且可能过拟合
固定 epoch简单可复现不能适应不同收敛速度

五、执行流程

每次验证 -> 与 best+min_delta 比较 -> 改善则保存并清零
-> 未改善则计数 -> 到 patience 停止 -> 加载最佳权重 -> 测试一次

六、边界条件与工程代价

Cosine restart 等周期学习率可能在下一周期继续提升,patience 应覆盖完整周期。

ReduceLROnPlateau 也需要先等降学习率产生效果,再决定停止。

多指标场景要预先定义主指标与约束,例如在召回≥90% 下最大化精确率;训练后临时挑最漂亮指标会引入选择偏差。

记忆钩子:Early stopping 需要四件套:主指标、min_delta、patience、最佳权重。

七、常见误区与追问

  • 误区:停止时直接使用最后一个 epoch。 最后权重通常已偏离验证最佳点。

  • 追问:patience 的单位是什么? 是验证检查次数,不必等于 epoch。

  • 误区:验证 loss 一次上升就说明过拟合。 随机 batch 和评估噪声可造成短期波动。

  • 追问:min_delta 有什么作用? 防止把无意义的小波动当成改善。

  • 追问:测试集能否用于早停? 不能,测试集必须留到方案完全确定后。

八、加强记忆

Early stopping 需要四件套:主指标、min_delta、patience、最佳权重。

它停止的是“持续无实质改善”,不是“第一次变差”。