02 机器学习进阶本域第 4 篇
过拟合与正则化
模型把训练数据一字不差地背下来了,却在新数据上一败涂地
定义
过拟合指模型在训练数据上表现很好,却无法泛化到新数据——它记住了训练样本的噪声与偶然细节,而没有抓住真正的规律。正则化是一类主动限制模型复杂度的手段(惩罚大权重、随机丢弃、提前停止、增广数据),目的是在拟合能力与泛化能力之间取得平衡。
直观理解
学生背下了练习册每道题的答案,连印刷错误的标点都记了进去。考同一本练习册他能拿满分,可一换题目就原形毕露。记住答案和学会方法,是两件不同的事。 正则化就像老师故意不给标准答案、还不断换题型,逼学生去抓真正的规律,而不是背题。
欠拟合与过拟合:两种偏离「恰好」的方向,症状与处方完全不同
过拟合的经典形状:训练损失单调下降,验证损失在第 6 轮后回升;加入 L2 正则后退回点被抹平(点击图例开关曲线)
- 训练损失
- 验证损失
- 验证损失(加 L2 正则)
工作原理
- 01
观察两条曲线
训练损失一路下降,验证损失却先降后升。两者开始分道扬镳的那个点,就是过拟合的起点。
- 02
判断当前状态
两者都高是欠拟合(模型太弱),训练低而验证高是过拟合(模型太强或数据太少),两者都低且接近才是刚好。
- 03
施加约束
用 L1/L2 惩罚大权重、用 Dropout 随机屏蔽神经元、用早停在验证损失回升前停下、用数据增强扩大有效样本。约束越强,有效复杂度越低。
- 04
在验证集上取舍
正则强度是超参数,只能在验证集上比较。太弱挡不住过拟合,太强会把模型压成欠拟合——平衡点只能实测,不能推导。
关键公式
L_total = L_data + λ · Σ_w w²应用场景
- 深度学习训练:Dropout、权重衰减、早停几乎是标配
- 小样本建模:样本越少越容易过拟合,正则与交叉验证尤为关键
- 树模型:限制树深、叶节点最小样本数即是对复杂度的直接惩罚
- 大模型微调:用少量数据微调时,低学习率与小规模正则防止灾难性遗忘
常见误区
- 训练损失低不是好事。它可能只是过拟合的表征;唯一可信的验收标准是验证集或测试集上的表现。
- 正则化不是免费的。过强的正则会让模型欠拟合,把有用的信号也一并抹掉,需要与数据量和任务复杂度匹配。
- 数据量比正则更根本。增加真实、多样的样本通常比任何正则技巧都有效,正则只是数据不足时的补偿手段。
关键术语
- 泛化
- 模型在未见数据上的表现
- 权重衰减 L2
- 在损失中加入权重平方和惩罚,抑制大权重
- Dropout
- 训练时随机屏蔽一部分神经元,防止单元共适应
- 早停
- 在验证损失回升前停止训练