为什么训练和验证相似的损失曲线会导致性能不佳

数据挖掘 机器学习 分类 matlab
2021-09-30 03:52:25

我正在使用 matlab 训练一个二元分类神经网络模型,我在隐藏层中使用 20 个神经元得到的图表如下所示。交叉熵与时代之间的混淆矩阵和图。

为防止模型过度拟合,损失图中的训练曲线应与验证曲线相似。

但在当前情况下,第三张图显示了验证曲线与训练相似的曲线,尽管与上图中两条曲线发散的曲线相比,整体准确度较低。

为什么会发生这种情况以及我在理解这些曲线方面做错了什么? 20 个神经元

迷惑 叉 困惑

2个回答

为防止模型过度拟合,损失图中的训练曲线应与验证曲线相似。

情况并非总是如此,也许训练集与验证集的分布略有不同,因此,我们的重点只是当训练损失减少而验证损失略有减少或从未减少时。

在前一个图中,您注意到验证误差略有增加,而训练误差在减少,而后一个图由于模型不太复杂而具有相同的行为,模型无法很好地拟合训练数据。

为防止模型过度拟合,损失图中的训练曲线应与验证曲线相似

有什么相似之处?如果您的训练错误不断减少并且验证错误开始增加,那么您就过度拟合了。如果你有一个二元问题,为什么混淆矩阵是 3x3?33 个 epoch 之后的验证集准确度看起来比 8 个之后更好。我看不出有什么问题。