大家的AI
机器学习Playground 试玩
加载中…

学习

Ch.05

过拟合防止与正则化(Regularization)

想象一个学生背下所有旧题得 100 分,但换一张数字稍变的卷子就 0 分。AI 也会陷入同样的过拟合(overfitting)陷阱:train 上完美,未见过的 val/test 上骤降。
若前几章学了优化与训练,本章则教模型灵活泛化(generalization)——而非死记。按步骤学习 L2 正则化、Dropout、早停、数据增强。
※注意: 其他章的 Batch Normalization(缩放激活)与本章 Regularization(防过拟合)中文都叫「正则化」,但角色完全不同!
下方 2×2 图展示四种正则化如何改变应用前→应用后。
应用前应用后gap↑停止epochlossTrain / Val & Early Stop
应用前应用后train: p≈0.5 · scale 1/(1-p)inference: all onDropout
应用前应用后‖w‖ largeλ penalty ↓L2 Weight Decay
应用前应用后few pts → zigzagaug → smoothData Augmentation
每格 应用前(左)→应用后(右)。Train/Val:val 上升时早停;Dropout:训练关神经元、推理全开;L2:权重收缩;增强:边界更平滑。

泛化而非死记 — 曲线、权重、神经元、数据

止过拟合:停、缩、多样

防止过拟合与正则化:学会理解,而非死记

1. 什么是过拟合?(练习题满分,实战不及格)
概念: 模型不仅学到模式,还把噪声和琐碎细节整段背下。面对全新数据时无法灵活应对,性能急降。
直观比喻: 驾照考试只背「第二棵树右转」的人,上真路会出事——背的是情境,不是原理。
实践提示: train loss 一直降而 val loss 开始升,就是过拟合。两者差距叫泛化差距,缩小它是本章目标。
2. L2 正则化 / Weight decay — 超重行李罚款
概念: 权重过大时对小噪声过敏而过拟合。在损失中加入与权重大小成比例的罚金。
核心公式: Loss+λ2∥w∥2Loss + \frac{\lambda}{2}\|w\|^2Loss+2λ​∥w∥2
公式说明: 在原有误差后加上权重(www)大小的罚分。λ\lambdaλ 控制罚金力度——越大越倾向小权重。
直观比喻: 航空行李限重——越重附加费(罚分)越高,只带必需品。
实践提示: λ\lambdaλ 过大会欠拟合。边看 val 边慢慢调。
3. Dropout — 随机缺员训练
概念: 训练时以概率 ppp 暂时关闭神经元,避免过度依赖少数神经元,让全网均衡学特征。
直观比喻: 国家队训练随机让王牌休息,逼全队协作得分。
实践提示: ppp 常用 0.20.20.2~0.50.50.5。训练时剩余输出按 1/(1−p)1/(1-p)1/(1−p) 缩放。推理时必须 100% 启用神经元。
4. 早停与数据增强 — 适时停下,多看花样
概念与比喻:
- 早停: 配方写 30 分钟但闻到焦味就关烤箱。val 不再改善就停训,保存最佳状态。
- 数据增强: 翻转、旋转、裁剪猫图仍是猫。略作变形增加有效训练量——像换数字练数学题。
实践提示: 数据少时优先用增强增多样性。不要把 val 并入 train。

正则化速览

过拟合差距 — train 好但 val/test 差时怀疑过拟合。
通俗说明: 练习题(train)满分、新题(val)突然崩——死记信号。train loss↓ 而 val loss↑ 更要怀疑过拟合。
核心信号: train loss↓, val loss↑
符号 — 泛化差距=train 与 val 性能之差。大→死记;小且 val 好→泛化佳。
数值例: train 99%, val 60% → 差距 39%p。
比喻: 只背考场口诀——同一路线满分,新路不及格。
L2 / Weight decay — 惩罚大权重。
通俗说明: 权重「行李」太重会对噪声过敏。损失里加越重罚越多,逼模型轻装。
核心公式: L=Ldata+λ2∑iwi2L = L_{\text{data}} + \frac{\lambda}{2}\sum_i w_i^2L=Ldata​+2λ​∑i​wi2​
公式说明 — LdataL_{\text{data}}Ldata​ 是原误差。λ\lambdaλ 是罚金强度。wi2w_i^2wi2​ 随权重大小增长——越大罚越多。
数值例: λ=2\lambda=2λ=2, w1=3w_1=3w1​=3, w2=4w_2=4w2​=4 → L2 项=25。
比喻: 行李超重费。
Dropout — 训练时随机关闭神经元。
通俗说明: 每次换不同队员休息,不让单个神经元包办一切。推理时全员上场——不能像训练时那样关。
核心: 训练 ppp 关闭 · 缩放 1/(1−p)1/(1-p)1/(1−p) · 推理无 mask
公式说明 — ppp 为关闭率(0.2~0.5)。1/(1−p)1/(1-p)1/(1−p) 放大剩余激活以匹配期望。
数值例: p=0.5p=0.5p=0.5 → 缩放 2。
比喻: 没有王牌也能进球的国家队训练。
早停 — val 不再改善则停止。
通俗说明: 饼干焦前关烤箱;保存val 最佳模型,不必跑满 epoch。
核心: 保存最佳 val checkpoint · patience epoch 无改善则停
公式说明 — patience=「再等 N 个 epoch」——避免被偶然波动骗早停。
数值例: val 最低在 epoch 12 → 用该附近权重部署。
比喻: 保留最好成绩再停马拉松。

为什么重要

1. 筛掉「井底之蛙」模型
train 99% 但 val/test 仅 60% 在实务中无用。真本事是泛化,本章技法能放大它。
2. 奥卡姆剃刀:越简单越稳
L2 与 Dropout 阻止模型自造不必要的复杂规则。正则化后的简单模型更稳、更可信。
3. 实务 AI 的必备安全带
划分 train/val、早停、weight decay 不是可选项——没有它们就像没刹车开车。

如何使用

① 诊断:是否过拟合?
实务中最常见的情况是:train 上准确率很高、loss 也在降,但 val 偏偏很差。就像练习题满分、模考却不及格的学生。在急着把模型做大或加 epoch 之前,应先确认是不是过拟合。
把 train 和 val 的 loss 画在同一张图上。若 train 一直变好而 val 从某一刻起开始变差,那就是泛化差距拉开的起点。确认后加上 L2 或 Dropout 抑制过度复杂,并设置早停,在 val 进一步恶化前结束训练。
② 调 L2 与 Dropout
打开正则化只是第一步,力度才是关键。L2 的罚金 λ\lambdaλ 宜从 0.00010.00010.0001 这类很小的值起步,边看 val 边慢慢加大。一开始罚太重,模型可能还没学到有用规律就萎缩成欠拟合。
Dropout 通常在训练时关掉约 20%~50% 的神经元来试。推理和线上评估时必须关闭 dropout,启用全部神经元。记住训练与推理行为不同,能避免很多部署失误。
③ 聪明的早停
早停让 val 来决定何时停训。每个 epoch 记录 val loss,并保存迄今 val 最好的权重。val 不再改善就停止,部署时用的应是val 最佳那次的模型,而不一定是最后一个 epoch。
patience(常见 5~20)表示「val 暂时变差也不马上停,再多观察几个 epoch」。曲线会有波动,patience 能避免被偶然低谷骗到过早停训。
④ 数据为王
L2、Dropout、早停都有用,但减轻过拟合最稳妥的办法仍是拿到更多好数据。样本够多、够多样,模型就没那么容易把噪声也背下来。
若一时无法增采,就用旋转、裁剪、翻转等数据增强,从现有样本造出略有不同的版本。就像从不同角度看同一只猫,有助于更广的泛化。实务里,在改复杂结构之前,往往先扩数据或做增强更有效。

总结

本章核心可以概括为:别让模型死背 train 数据,而要提升面对新数据时的泛化能力。因此我们学习了 L2 正则化、Dropout、早停和数据增强。
怀疑过拟合时,先看 train 与 val 之间的性能差距。L2 对大权重罚分,让模型保持简单;Dropout 只在训练时随机关闭神经元,减轻对少数路径的依赖,而推理时要全开神经元来评估。早停在 val 不再变好时停训,并保留 val 最佳那一刻的权重。
实务上,在改模型结构或一口气调很多超参之前,应优先考虑增数据或做增强。调整 λ\lambdaλ、dropout 比例、patience 时,最好一次只动一项,观察 val 如何变化,才能清楚知道究竟是哪一步起了作用。

解题方法说明

本章题目可分为两条线:过拟合诊断与正则化方法选择。怀疑过拟合时,先看 train 与 val(或 test)之间的性能差距。train 精度或损失很好而 val 很差,说明模型可能在死背训练数据。此时应优先尝试 L2/weight decay、Dropout、早停、数据增强,而不是一味加大模型。
若 train·val 都差,多半是欠拟合——模型太小、训练不足,或正则化过强。可考虑加大模型、增加 epoch、调学习率,并降低 λ\lambdaλ 与 dropout 比例。
L2 / weight decay 在损失中加入 λ2∥w∥2\frac{\lambda}{2}\|w\|^22λ​∥w∥2 罚项,防止权重过大。Dropout 在训练时随机关闭部分神经元,减轻对少数路径的依赖(co-adaptation),但推理与评估时必须使用全部神经元。早停 在 val 连续 patience 个 epoch 无改善时停止,并保存 val 最佳权重。数据增强 增加训练样本多样性,减轻记忆。
请区分 批归一化(Batch Normalization) 与 防过拟合正则化(L2、Dropout 等)。批归一化按层稳定激活的均值/方差;L2 与 Dropout 旨在抑制过拟合与大权重。题干若出现 train–val 差距、patience、weight decay、dropout ppp、推理阶段等关键词,多半在本章范围内。
定义题要先想“这组指标代表什么”。“过拟合最常见的模式?”
① 都差→欠拟合;
③ 都完美→不现实。② train 好、val/test 差 是典型过拟合→答案 2。
“早停最合适的判据?”
① 只看 train loss 会继续记忆;
③ 无限 epoch 违背早停目的。val loss 或 val 指标不再改善时停止(②)→答案 2。
“诊断过拟合时先看什么?”→ 仅看 GPU(①) 或 epoch 数(③) 不够。train–validation 性能差(②) 最直接→答案 2。

应用题先读数字与情境。“train 准确率 99%,val 55%”几乎可判定过拟合。加大模型(①) 往往更糟;删 val set(③) 只是掩盖问题。应优先 正则化·早停·增强(②)→答案 2。
“train loss 持续↓但 val loss 从 epoch 20 起↑”→ 早停并保存最佳 val 权重(①) 优于学习率×10(②) 或关 dropout 继续训(③)→答案 1。
“已用 L2 与 dropout 但 val 仍差”→ 与其把 λ\lambdaλ 放大 100 倍,不如尝试 数据增强 + 带 patience 的早停(①)→答案 1。

计算题按公式逐步代入。λ2(w12+w22)\frac{\lambda}{2}(w_1^2+w_2^2)2λ​(w12​+w22​),λ=2\lambda=2λ=2, w1=3w_1=3w1​=3, w2=4w_2=4w2​=4 得 22(9+16)=25\frac{2}{2}(9+16)=2522​(9+16)=25→答案
②
判断题 — “Dropout 在推理时也以同样比例关闭神经元”是常见误解。随机 mask 仅用于训练;推理时用全部神经元→错(0)。
“Weight decay 与 L2 正则密切相关”→ 都用于抑制权重大小→对(1)。
“λ\lambdaλ 越大 test 一定越好”→ 过大会欠拟合→错(0)。

选择题 — “L2 加入损失的形式?”→ 标准形为 Ldata+λ2∥w∥2L_{\text{data}}+\frac{\lambda}{2}\|w\|^2Ldata​+2λ​∥w∥2→答案 1。
“L2 与 weight decay 的关系?”→ 实务中目的一致(抑制权重)→ L2 ≈ weight decay,答案 2。

概念题 — dropout p=0.5p=0.5p=0.5 时训练尺度 1/(1−p)=21/(1-p)=21/(1−p)=2→答案 2。
“patience=5”表示 val 连续 5 epoch 无改善则考虑停止,并非立即删除模型→答案 2。
“批归一化 vs 防过拟合正则化(L2·Dropout)”→ 后者针对过拟合与权重;批归一化规范激活尺度,二者不同(①) 也非无关(③)→答案 2。
“weight decay 的直接作用?”→ 抑制权重大小(①)。

计算题 — p=0.2p=0.2p=0.2 时尺度 1/(1−0.2)=1.251/(1-0.2)=1.251/(1−0.2)=1.25;输出 100→100×1.25=125100\times1.25=125100×1.25=125→答案
②。
λ=2\lambda=2λ=2, w1=1w_1=1w1​=1, w2=2w_2=2w2​=2 时 λ2(w12+w22)=22(1+4)=5\frac{\lambda}{2}(w_1^2+w_2^2)=\frac{2}{2}(1+4)=52λ​(w12​+w22​)=22​(1+4)=5→答案
②