在一定数量的epoch之后,验证集中的val_loss增加,而val_accuray却停滞不前
过拟合的基本表现
训练集loss不断降低,但是测试集的val_loss开始不断增加。
如上图,在第7个epoch之前,训练集上的loss不断降低,验证集上的val_loss也在不断减小,说明模型在不断拟合数据。但是在第7个epoch之后,训练集上的loss仍然在不断降低,验证集上的val_loss却开始不断增加,符合过拟合的基本表现。
问题
接下来在验证集中,val-loss在7个epoch之后不断增加,但是val-accuray却停滞不前,是什么原因呢?
答案
来自GitHub:Validation loss increases while validation accuracy is still improving #3755
是因为模型对训练数据过度拟合,因此非常擅长对训练数据进行分类,但泛化效果较差,导致验证数据的分类变差。可以通过在val_loss开始增加时停止训练或在训练数据中加入脏数据来解决此问题,防止长时间训练时模型过度拟合。