正则化 (Regularization)
正则化是机器学习中用于防止模型过拟合的一类技术统称。其核心思想是在模型训练过程中引入额外的约束或惩罚,迫使模型在拟合训练数据与保持简洁之间取得平衡。正则化遵循奥卡姆剃刀原则 (Occam’s Razor):在拟合能力相当的情况下,更简单的模型具有更好的泛化性能。
数学框架
正则化通过修改目标函数来实现。标准的经验风险最小化 (ERM) 变为结构风险最小化 (SRM):
其中 是正则化强度超参数, 是正则化函数,衡量模型复杂度。 越大,惩罚越强,模型越简单。
参数范数正则化
L1 正则化 (Lasso)
L1 正则化在损失函数中添加权重绝对值的和。其梯度为常数(),在优化过程中将不重要特征的权重推向精确的零值,产生稀疏解 (sparse solution)。这一特性使其天然适合特征选择。
几何直观:L1 正则化的约束区域是菱形(高维空间中的多面体),损失函数的等高线更容易在坐标轴上与其相交,产生零权重。
梯度更新规则:
L2 正则化 (Ridge / Weight Decay)
L2 正则化将所有权重均匀地向零收缩,但不会产生精确零值。收缩量与权重大小成正比:大权重受到更强的惩罚。
几何直观:L2 约束区域是圆形(高维空间中的超球面),损失等值线在球面上任意点都可能与之相交,通常不产生零坐标。
梯度更新规则:
每次更新时权重乘以 ,即权重衰减 (Weight Decay) 的来源。
ElasticNet
ElasticNet 结合 L1 和 L2,通过混合参数 控制两者的比例。当特征高度相关时,Lasso 倾向于随机选择其中一个而忽略其他,ElasticNet 则可以同时保留相关特征组。
隐式正则化方法
Dropout
训练时以概率 随机将神经元的输出置零,测试时所有神经元参与但输出乘以 (或训练时除以 做 inverted dropout)。
工作原理:
- 每次训练迭代使用不同的随机子网络,等效于训练 个网络的集成
- 神经元不能依赖特定同伴的存在,必须学习独立有用的特征
- 打破了神经元之间的共适应 (co-adaptation)
典型设置:输入层 ,隐藏层 ,输出层不使用
早停 (Early Stopping)
在训练过程中监控验证集性能,当验证误差连续 个 epoch 未改善时停止训练。早停等价于 L2 正则化的近似,因为限制训练步数等效于将参数限制在初始值附近的邻域内。
早停 vs L2 的正交性:两者可以同时使用。早停控制优化轨迹长度,L2 控制参数空间,作用机制不同。
数据增强 (Data Augmentation)
通过对训练样本施加标签保持的变换,隐式地增大了训练集规模。增强后的数据集覆盖了更广泛的数据分布,迫使模型学习变换不变性,从而降低过拟合。
典型增强方法:
- 图像:随机裁剪、水平翻转、旋转、颜色抖动、Cutout、Mixup、CutMix、RandAugment
- 文本:同义词替换、回译 (Back Translation)、随机删除/交换、对抗训练
- 音频:时间拉伸、音高偏移、噪声注入、SpecAugment
Batch Normalization
Batch Normalization 在每层输入处进行归一化,引入小批量统计量带来的随机噪声,具有轻微的正则化效果。此外,BN 使得可以使用更大的学习率,加速收敛,间接减少过拟合。
Label Smoothing
将硬标签(one-hot)替换为软标签:,其中 是类别数。Label Smoothing 防止模型对训练标签过于自信,提高泛化能力。
正则化方法对比
| 方法 | 类型 | 作用机制 | 超参数 | 训练开销 | 单独效果 | 推荐组合 |
|---|---|---|---|---|---|---|
| L1 | 显式 | 稀疏化权重,特征选择 | 极低 | 中等 | +L2 (ElasticNet) | |
| L2 | 显式 | 权重衰减,收缩大权重 | 极低 | 中等 | +Dropout, +早停 | |
| ElasticNet | 显式 | L1+L2 混合 | 低 | 较强 | 基线方法 | |
| Dropout | 隐式 | 随机子网络集成 | 中等 | 强 | +L2, +BN | |
| 早停 | 隐式 | 限制优化轨迹 | patience | 极低 | 中等 | +所有方法 |
| 数据增强 | 隐式 | 扩充数据分布 | 增强策略 | 高(离线) | 强 | +所有方法 |
| BatchNorm | 隐式 | 小批量噪声 | 无 | 中等 | 弱 | 内置在架构中 |
| Label Smoothing | 隐式 | 软化标签 | 极低 | 弱-中 | +数据增强 |
实际应用建议
图像分类 (CNN)
推荐的组合策略:L2 weight decay () + Dropout (全连接层 ) + 数据增强 (RandAugment) + Label Smoothing ()
自然语言处理 (Transformer)
BERT/GPT 风格模型:Dropout (,注意力层和全连接层) + L2 () + Label Smoothing ()
表格数据 (XGBoost/LightGBM)
L1 + L2 正则化直接内置于树模型:reg_alpha (L1) 和 reg_lambda (L2)。典型设置:reg_alpha=0.1, reg_lambda=1.0。
小样本场景
数据增强效果最显著。推荐:强数据增强 + 早停 + Dropout,必要时使用迁移学习 (transfer learning) 冻结预训练权重。
相关笔记
- 过拟合 (Overfitting) — 过拟合的诊断与预防
- 过拟合与欠拟合 (Overfitting & Underfitting) — 过拟合与欠拟合对比
- 损失函数 (Loss Function) — 目标函数中正则项与损失项
- 偏差方差权衡 (Bias-Variance Tradeoff) — 正则化的理论基础
- 交叉验证 (Cross-Validation) — 正则化超参数选择
- 数据增强 (Data Augmentation) — 数据增强技术详解
- 梯度下降 (Gradient Descent) — 带正则化的优化过程
来源
- Regularization for Deep Learning (Goodfellow et al., Deep Learning Book Ch.7)
- Dropout: A Simple Way to Prevent Neural Networks from Overfitting (Srivastava et al., 2014)
- AdamW: Decoupled Weight Decay Regularization (Loshchilov & Hutter, 2019)
- Rethinking the Inception Architecture for Computer Vision (Label Smoothing, Szegedy et al., 2016)
- A Disciplined Approach to Neural Network Hyper-Parameters (Smith, 2018)
关联14
知识图谱反向链接7
局部图谱 · 点节点跳转