由于条件限制,比如数据不够丰富、不够代表性,你的模型很有可能出现过拟合。即你的模型试图去记住所有的训练数据,而不是学习数据的趋势。虽然数据增强的方法能缓解一些,但往往插值出来的数据仍然很局限。一般,我们有下面几个方法来从模型的角度来解决过拟合问题。
- Early Stopping
随着训练的进行,你发现迭代到某轮时,训练误差逐渐下降,但校验集误差却在逐渐上升。这时,你需要在那轮提前停止训练,获得模型。就这么简单。
还有个解释是,每个神经元的激活函数在不同区间有不同的拟合性能,因此在训练时,网络开始初始化的值比较小,随着训练进行有些值越来越大,因此较早地停止训练能让网路的拟合能力限制在较好的区间内。
- Penalizing Large Weights
过拟合发生时,往往会出现拟合函数在训练数据点上的“曲率”很大。而这些“曲率”是由模型的参数近似表达出来的,因此通过对大值参数的惩罚来抑制这种曲率的发生。也就是对loss中加些正则化项。
- Dropout
想法是尝试添加规则来训练神经网络,使神经