训练和验证准确率之间的巨大差距,与过度拟合的概念混淆

机器算法验证 机器学习 卷积神经网络 过拟合 小样本
2022-03-19 08:53:19

我有一个相当小的数据集,每个类有 100 个示例,总共有12 个类在我尝试过的所有 CNN 模型中,我唯一能做出的推论是我的训练准确率稳定在 97%,但我的验证准确率是 7-8%,这可能是随机的。

那么问题出在哪里?

  1. 我的数据集太小了吗?
  2. 我的代码错了吗?(我不是要任何代码建议,只是一个概念性问题)
  3. 别的东西
1个回答

听起来你严重过度拟合。基本上,您需要使用比您当前使用的模型更简单的模型或收集(大量)更多数据。通常,您拥有的数据越多,您可以在不过度拟合的情况下拟合的模型就越复杂。

我认为在如此小的数据集上使用 CNN 不会获得有意义的结果。从具有 1 到 3 个级别的简单决策树开始,以建立基准。也许尝试具有高度正则化的线性模型。您正在寻找训练集上的较差性能(但优于随机)和验证集上的类似性能。然后,您可以开始尝试更复杂的模型,以更好地拟合训练集,并可能更好地推广到验证集。