如果包含或不包含验证集,为什么会得到不同的训练损耗曲线?

时间:2020-04-21 22:53:58

标签: python tensorflow keras

说明:Jaccard_index就像准确性一样,最大值越大,越好越好。

我正在训练CNN。它具有batchNorm和Parametric Relu,但没有Dropout层。

当我仅使用训练集来训练CNN时,它就能快速且良好地收敛,并且能够实现过拟合并达到99%的jaccard指数(无论jaccard指数是多少,只要知道100%是一个完美的分数,有点像0%的损失。

但是,当我添加一个验证集以监视训练期间的过度拟合时,训练集上的jaccard_index(例如损失)突然突然降低了其收敛速度,并且似乎收敛到了更低的值。

为什么仅添加一个验证集会影响训练损耗曲线(在这种情况下为jaccard_index)?

这可以在所附的照片中看到(红色线仅是训练集,蓝色和粉红色线是在训练过程中一起测试时的训练和验证测试)。 enter image description here

0 个答案:

没有答案
相关问题