选择什么:评价分数较高的过拟合模型还是评价分数较低的非过拟合模型?

数据挖掘 机器学习 过拟合
2022-03-02 07:51:31

由于缺乏更好的术语,这里的过度拟合意味着训练和验证分数之间的差异较大,而非过度拟合意味着差异较小。

这个“困境”刚刚出现在我最近研究的神经网络模型中。我用 10 倍交叉验证训练了网络,得到了过度拟合的模型(0.118 分差):

  • 0.967的训练集准确率和
  • 0.849用于验证集。

然后,我在每个隐藏层之后应用了 dropout 层,dropout 率为 0.3,得到了“较少过度拟合”的模型(0.057 分差):

  • 0.875的训练集准确率和
  • 0.818用于验证集

这应该是好的,因为具有较低的差异,因此对于未知数据具有更好的可靠性。问题是,它的验证集得分较低我不知情的直觉告诉我,无论你的模型多么过度拟合,验证集分数都很重要,因为它表明你的模型对新数据的了解程度,所以我选择了第一个模型。

这是正确的直觉吗?这种情况怎么办?

2个回答

你在用什么图书馆?在训练期间使用 Dropout 来防止过拟合。

确保不将 dropout 应用于验证(这是 Keras 的标准)。这可能会人为地降低您的验证准确性。

此外,准确性是评估您的表现的一个不好的指标。请参阅此答案以找出原因。尝试 ROC-AUC 来评估您的模型性能。

TLDR:我认为只要您了解为什么会发生这种情况,您就可以做到这一点。

我认为首先你应该确定你的验证集没有被你的训练数据以任何方式污染。这有时会非常间接地发生——在这种情况下,你仍然会处于危险之中。否则,使用仍然泛化足够好的过度训练的预测器并没有根本性的错误。

想想像泰坦尼克号数据集这样的例子。它非常小,因此学习训练样本中的所有幸存者并不难,但仍能正确掌握总体趋势。

您应该考虑的另一点是您的样本有多大。如果它们很小(可能有几百个数据点),您还可以观察到可能非常大的统计噪声。