1. 获取更多数据
这是解决过拟合最有效的方法,只要给足够多的数据,让模型「看见」尽可能多的「例外情况」。
从数据源头获取更多数据:这个是容易想到的,例如物体分类,我就再多拍几张照片好了;但是,在很多情况下,大幅增加数据本身就不容易。
数据增强(Data Augmentation):通过一定规则扩充数据。如在物体分类问题里,物体在图像中的位置、姿态、尺度,整体图片明暗度等都不会影响分类结果。我们 就可以通过图像平移、翻转、缩放、切割等手段将数据库成倍扩充;
2. 使用合适的模型
前面说了,过拟合主要是有两个原因造成的:数据太少+模型太复杂。所以,我们可以通过使用合适复杂度的模型来防止过拟合问题。减少网络的层数、神经元个数等均 可以限制网络的拟合能力;
3.Dropout
在训练时,每次随机(如50%概率)忽略隐层的某些节点。