[深度学习] 避免过拟合的方法

首先说一下什么叫做过拟合?
这里写图片描述
如上图所示,拟合的参数“完美”学习到了我们给出数据,生成的模型可以完全经过所有数据。但是这样的表现却只是在训练集,在测试集表现不好。而我们所需要的是具有更好泛化能力的黑色直线。

正则化

L 2 L_2 L2正则化:
C = C 0 + λ 2 n ω T ω C =C_0 +\frac{\lambda }{2n} \omega^T\omega C=C0+2nλωTω
C 0 C_0 C0代表原始的代价函数,后面的是正则化项。 λ \lambda λ是正则化系数,权衡正则化和 C 0 C_0 C0的比重。

L 2 L_2 L2正则化是如何防止过拟合的呢
∂ C ∂ ω = ∂ C 0 ∂ ω + λ n ω ∂ C ∂ b = ∂ C 0 ∂ b \frac{\partial C}{\partial \omega} = \frac{\partial C_0}{\partial \omega} + \frac{\lambda}{n}\omega \\ \frac{\partial C}{\partial b} = \frac{\partial C_0}{\partial b} ωC=ωC0+nλωbC=bC0

可以看到 L 2 L_2 L2正则化对b的更新没有影响,但是对于 ω \omega ω的更新有影响。

ω → ω − L e a r n i n g R a t e ∗ ∂ C ∂ ω \omega \rightarrow \omega - LearningRate * \frac{\partial C}{\partial \omega} ωωLearningRateωC

由于加上了正则化项,并且 λ > 0 \lambda>0 λ>0,所以会导致 ω \omega ω变得更小。

那么为什么 ω \omega ω变小可以防止过拟合?
更小的权值,从某种意义上说,表示网络的复杂度更低,对数据的拟合感刚好。

Dropout

dropout是在训练时随机屏蔽一定比例(超参数)的隐藏层单元,并保持输入和输出层不变。下一次epoch的时候,再次随机屏蔽一定比例的隐藏层单元。注意,第一次屏蔽的隐藏层单元在第二次的时候已经解除屏蔽。
这里写图片描述这里写图片描述

数据增强

  1. 对图片进行翻转
  2. 随机的切割或者放大缩小图片
  3. 色彩抖动:随机增加亮度和对比度
  4. 随机层:在训练时随机忽略一些层,在测试时使用全部层。(最近新提出的)

参考

https://www.cnblogs.com/alexanderkun/p/6922428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值