【问题标题】:Is this overfitting?这是过拟合吗?
【发布时间】:2019-11-08 20:25:03
【问题描述】:

我有一个 CNN,它在训练数据上表现非常好(96% 准确度,1.~ 损失),但在测试数据上表现不佳(50% 准确度,3.5 损失)。

【问题讨论】:

  • 可能是过拟合
  • 如果它基本上是在猜测测试数据,那么是的。尝试添加 dropout 和/或正则化层。
  • 我已经添加了 dropout 层和正则化 l2 。
  • @SamAtWork 对不起。我改变了我的模型。这是我的结果。 imgur.com/u3aHvycimgur.com/KeTPiLB我想问是不是过拟合了?

标签: machine-learning


【解决方案1】:

过度拟合的特征是当您的验证损失开始增加,而您的训练损失继续减少时,即:

(图片改编自 overfitting 上的维基百科条目)

以下是一些其他表明过度拟合的图 (source):

另请参阅 SO 线程 How to know if underfitting or overfitting is occuring?

很明显,您的损失图确实表现出这种行为,所以是的,您确实过拟合了。

相反,您在评论中链接到的情节:

没有表现出这样的行为,因此在这里你没有实际上是过度拟合(你只是达到了一个饱和点,超过这个点你的验证错误不会进一步改善)。

【讨论】:

    【解决方案2】:

    96% 的准确率表明您与您的训练数据非常接近。测试数据的 50% 准确度表明您的模型无法解释所研究数据的噪声/可变性。这看起来像教科书上的过拟合。

    您似乎将您的验证数据称为测试数据。也许您可以更好地对数据进行分区?

    【讨论】:

    • 我应该更改模型吗?还是添加更多数据?
    • 首先我会改变你的模型。也许尝试交叉验证。我不知道你使用了多少数据,所以我不知道最后一个问题。
    • 我会试试的。谢谢。
    • 顺便说一下我的数据不平衡。你能给我什么建议吗?
    • 这是我发现的处理不平衡数据的好指南。 :machinelearningmastery.com/…
    猜你喜欢
    • 2019-02-13
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2020-03-19
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    相关资源
    最近更新 更多