Early stopping
- 在我们训练神经网络的时候,若出现过拟合的情况下,如果我们将验证集的验证误差和训练集的训练误差画图出来,将呈现下图所示的情况
-
- 可以看出,在过拟合的时候,验证误差随着迭代次数的增加一般呈现出先下降,然后再上升的一个趋势
- 通过画出这么一个图后,我们就可以找到验证误差上升到那个点的迭代次数,然后只取迭代这么多次的参数来防止过拟合,这就是early stopping的主要思想
- 有了这个思想呢,在你训练模型的时候,你就可以在代码中进行设置,若训练过程中x次(我一般设置为3次)在验证集测试的时候若你的评价指标性能一直没有提高,则直接保存模型,停止训练,从而保存当前参数设置的最佳模型,不然的话很有可能你的模型按照你最初设置的epoch一直训练下去然后就过拟合了