我正在尝试进行一些二进制分类,并且我使用Keras
的EarlyStopping
回调。但是,我有一个关于patience
参数的问题。
在documentation中指出
但我发现它的行为方式不同。例如,我已经设定EarlyStopping(monitor='val_loss', min_delta=0.0001, patience=2, verbose=0, mode='auto')
结果如下:
val_loss: 0.6811
val_loss: 0.6941
val_loss: 0.6532
val_loss: 0.6546
val_loss: 0.6534
val_loss: 0.6489
val_loss: 0.6240
val_loss: 0.6285
val_loss: 0.6144
val_loss: 0.5921
val_loss: 0.5731
val_loss: 0.5956
val_loss: 0.5753
val_loss: 0.5977
此培训结束后。据我所知,最后没有2个连续增加的损耗值。有人可以解释这个参数现象吗?
最佳答案
连续三场亏损惨败,让我们看一下数字:
val_loss: 0.5921 < current best
val_loss: 0.5731 < current best
val_loss: 0.5956 < patience 1
val_loss: 0.5753 < patience 2
val_loss: 0.5977 < patience >2, stopping the training
您已经发现了min delta参数,但我认为它太小而无法在此处触发(您偏离了10倍)。