正则化

1.泛化问题


  上一篇文章深入理解泛化提及了泛化问题,即是解决过拟合问题。本篇文章就来看看在机器学习(深度学习)领域通常是怎么解决过拟合。

  神经网络的复杂度由其自由参数(权值和偏置量)的数量决定,而自由参数数量又由网络中的神经元数量决定。对于一个给定的数据集,如果网络结构复杂,则很可能会造成网络过拟合而使泛化能力不足。

  因此,要想获得具有良好泛化能力的神经网络,就是要找到能够解释数据的最简神经网络模型。这就是14世纪逻辑学家奥卡姆的威廉命名的奥卡姆剃刀定律的变形。其核心思想:模型越复杂,出错的可能性越大

图片1.jpg

  根据奥卡姆剃刀法则:在同样能够解释已知观测现象的假设中,我们应该挑选“最简单”的那一个。对于模型的设计而言,我们应该选择简单、合适的模型解决复杂的问题。

2.一些方法


  最优解决方法是获取更多的训练数据。模型的训练数据越多,泛化能力自然也越好,但往往获得带标签的数据成本是很高的。

  因此,在得不到足够多数据的情况下,我们通常选择能产生最简神经网络模型的方法,这里可按方法的目标分为两类:限制权重数量、限制权重大小。

Snipaste_2019-11-15_20-11-12.png

3.提前终止法


先回顾深度学习的训练过程:

  当训练有足够的表示能力甚至会过拟合的大模型时,我们经常会观察到,训练误差会随着时间的推移逐渐降低但验证集的误差会再次上升,并且这种现象几乎一定会出现。

  因此,我们考虑使训练在最优容量(在前一篇文章提及)处终止,这种策略为提前终止法。其基本思想:随着训练的进行,网络使用越来越多的权值,直到训练结果达到误差曲面的极小值时所有的权值都被使用。通过增加训练的迭代次数,使得网络的复杂度也在增加。如果训练在达到极小误差值之前终止,那么网络将有效地使用更少的参数,且更不容易过拟合。

  为了有效使用提前终止法,需要知道何时终止训练,这里使用一个方法:交叉验证法 (cross validation)。它先将数据集划分为 k个大小相似的互斥子集, 即
D = D 1 ∪ D 2 ∪ ⋯ ∪ D k , D i ∪ D j = ∅ ( i ≠ j ) D = D_{1} \cup D_{2} \cup \cdots \cup D_{k},D_{i} \cup D_{j} = \varnothing(i \neq j) D=D1D2Dk,D

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值