![17f0545ccab1b0f5f6791a98f9de2214.png](https://img-blog.csdnimg.cn/img_convert/17f0545ccab1b0f5f6791a98f9de2214.png)
在训练过程中,神经网络中的weights会更新,以使模型在训练数据上的表现更好。一段时间以来,训练集上的改进与测试集上的改进呈正相关。但是,有时会开始过度拟合训练数据,进一步的“改进”将导致泛化性能降低。这称为过度拟合。Early stopping是一种用于在过度拟合发生之前终止训练的技术。
本教程说明了如何在TensorFlow 2中实现early stopping。本教程的所有代码均可在我们的code中找到。
通过tf.keras.EarlyStopping
回调函数在TensorFlow中实现early stopping
earlystop_callback = EarlyStopping(
monitor='val_accuracy', min_delta=0.0001,
patience=1)
monitor
跟踪用于决定是否应终止训练的quantity。在这种情况下,我们使用验证准确性。min_delta
是触发终止的阈值。在这种情况下,我们要求精度至少应提高0.0001。patience
是等待训练停止的“无改善时期”的数量。使用时patience = 1
,训练会在第一个时期后立即终止,并且没有改善。
现在,我们可以附加early