为什么验证损失恶化,而精度/召回率继续提高?

数据挖掘 机器学习 神经网络 损失函数 准确性 过拟合
2021-10-09 19:34:29

我正在使用约 15k 个示例在“简单”数据集上训练神经网络。网络过拟合很快。

我无法理解的是,在第 5 个 epoch 之后,验证损失开始恶化,而精度和召回率在 10 个以上的 epoch 中继续提高。(损失 = 二元交叉熵) 验证损失与精度/召回

潜水更深:

我检查了是否有很多关于概率 ~0.5 的预测,但事实并非如此:

在此处输入图像描述

此外,还有一个基于预测概率的正确预测百分比图。这里有一些模式,但元素的数量很少得出结论。

在此处输入图像描述

所以,我的问题是:为什么会发生,该怎么办?

2个回答

我在挖掘时发现:

随着神经网络继续训练,它对预测变得更加自信。虽然它在某些情况下过拟合,但它使 log_loss 呈指数级增长,因为它在错误时更有信心。

同时,如果我查看平均平均误差,我会看到它继续减少,这表明网络仍在学习一些东西。最后使 f1_score 增加。

在此处输入图像描述

我注意到一件重要的事情:它并不总是成立,因为在过度拟合/学习新事物之间存在权衡,而 MAE 在二元结果中是较弱的度量。

在此处输入图像描述

您的准确率和召回率并没有真正显着变化,您的损失也没有。有一些关于概率的预测0.5,我认为这些是造成这种轻微趋势的原因。

在我看来,您声称正在改变的数量几乎是恒定的,所以我不会担心。不过,我可能错了,但损失函数的变化是荒谬的。