正则化技术

原文链接:https://www.yuque.com/yahei/hey-yahei/regularization

正则化指的是为模型引入一些约束,一定程度上限制模型的拟合能力,减缓收敛速度,从而缓解过拟合现象的一系列方法。

参考:

  1. Hands-On Machine Learning with Scikit-Learn and TensorFlow(2017)》Chap11
  2. 卷积神经网络——深度学习实践手册(2017.05)

常见的正则化技术:

  1. 提前终止(Early Stop)
  2. 权重正则化(Weights Regularization)
  3. 随机失活(Dropout)
  4. 数据增广(Data Augmentation)
  5. 批归一化(Batch Normalization, BN)
  6. 重叠池化(Overlapping Pooling)
  7. 随机池化(Stochastic Pooling)
  8. 平滑标签(Label Smoothing Regularization, LSR)

欠拟合&过拟合

参考:

欠拟合:模型拟合能力不足,存在高偏差问题,不能很好地从训练数据拟合出预测模型;
过拟合:模型拟合能力太强,存在高方差问题,过分拟合于训练集,甚至直接把训练集记了下来(就像是学生只会刷题,而且记性很好,甚至逐渐把答案背了下来,却没有掌握真正的知识,没法做到举一反三)
image.png
(分类任务:欠拟合、恰当拟合、过拟合)

在训练曲线上,过拟合表现为,随着迭代次数的增加,

  • 训练集的损失逐步减小,准确率逐步提高
  • 验证集却损失逐步增加,准确率逐步下降
因素 损失曲线/准确率曲线
训练集大小 image.png
模型复杂度 image.png
正则化程度 image.png
迭代次数 over_fitting.png

如何解决欠拟合问题?

  • 增大模型复杂度(增加层数、参数,增加额外特征项或高次特征等)
  • 减小正则化技术的使用(减小正则化系数等)

如何解决过拟合问题?

  • 每轮训练后冲洗数据集,使每个Batch模型见到的样本组合不同
  • 增加样本数量
  • 降低模型复杂度
  • 增加噪声
  • 决策树等树模型可以进行剪枝
  • 增加正则化技术的使用

提前终止

每经过一定迭代次数之后将模型用于验证集上的评估,暂存、更新最近几次在验证集上有一定loss下降的模型(称为快照snapshot或检查点checkpoint);
当连续几次在验证集上没有出现明显的loss下降(甚至有可能回升)时终止训练;
提前终止简单有效,通常都能表现的很好,如果和其他正则化技术共同使用可以获得更好的表现

权重正则化

L2正则化

又称权重衰减(weight decay)、岭回归(ridge regression)、Tikhonov正则化(Tikhonov regularization)。
l 2 = 1 2 λ ∣ ∣ ω ∣ ∣ 2 2 = 1 2 λ ∑ i w i 2 l_2 = \frac{1}{2} \lambda ||\omega||^2_2 = \frac{1}{2} \lambda\sum_i w_i^2 l2=21λω22=21λi

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值