火车精度增加,火车损失稳定,验证损失增加,验证准确性低并增加

时间:2020-04-21 11:27:10

标签: machine-learning neural-network pytorch training-data loss

我在pytorch中进行训练的神经网络变得非常奇怪。

我正在训练一个已知数据集,该数据集分为训练和验证。 我在训练期间整理数据并即时进行数据扩充。

我有那些结果:

火车的准确度从 80%开始,并提高enter image description here

火车损耗减少并保持稳定enter image description here

验证准确性从 30%开始,但缓慢提高enter image description here

验证损失增加enter image description here

我要显示以下图形:

enter image description here

  1. 如何解释验证损失增加和验证准确性增加?

  2. 验证集和训练集之间的准确度差异如何? 90%和40%?

更新

我平衡了数据集。 它是二进制分类。现在,它具有来自1类的1700个示例,来自2类的1200个示例。总计600个用于验证,2300个用于训练。 我仍然看到类似的行为:

enter image description here

**是因为我冻结了部分网络的权重吗?

**是否可以因为lr​​等超参数?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案: 对于训练集和验证集,我有不同的数据扩充。匹配它们还可以提高验证准确性!

答案 1 :(得分:0)

如果训练集与验证集相比非常大,则您更有可能过度拟合和学习训练数据,这将使模型的泛化非常困难。我看到您的训练准确性为0.98,而您的验证准确性却以非常缓慢的速度增加,这意味着您的训练数据过拟合。

尝试减少训练集中的样本数量,以提高模型对不可见数据的泛化程度。

相关问题