首先说一下什么叫做过拟合?
如上图所示,拟合的参数“完美”学习到了我们给出数据,生成的模型可以完全经过所有数据。但是这样的表现却只是在训练集,在测试集表现不好。而我们所需要的是具有更好泛化能力的黑色直线。
正则化
正则化:
代表原始的代价函数,后面的是正则化项。是正则化系数,权衡正则化和的比重。
正则化是如何防止过拟合的呢
可以看到正则化对b的更新没有影响,但是对于的更新有影响。
由于加上了正则化项,并且,所以会导致变得更小。
那么为什么变小可以防止过拟合?
更小的权值,从某种意义上说,表示网络的复杂度更低,对数据的拟合感刚好。
Dropout
dropout是在训练时随机屏蔽一定比例(超参数)的隐藏层单元,并保持输入和输出层不变。下一次epoch的时候,再次随机屏蔽一定比例的隐藏层单元。注意,第一次屏蔽的隐藏层单元在第二次的时候已经解除屏蔽。
数据增强
- 对图片进行翻转
- 随机的切割或者放大缩小图片
- 色彩抖动:随机增加亮度和对比度
- 随机层:在训练时随机忽略一些层,在测试时使用全部层。(最近新提出的)
参考
https://www.cnblogs.com/alexanderkun/p/6922428.html