【问题标题】:How to improve the model from the loss and accuracy functions如何从损失函数和准确率函数改进模型
【发布时间】:2021-06-13 03:23:32
【问题描述】:

我正在使用 keras 训练二元分类模型 (CNN)。我已经添加了从训练模型中得到的损失和准确率函数。是否应该根据以下函数得出其模型的准确率约为 82% 的结论,还是继续改进超参数更好?
模型真的在学习吗?

【问题讨论】:

  • 好吧,快速查看一下,您的模型确实在学习,但是您的模型现在出现过拟合问题,它开始记忆训练集。这可能是您的测试损失增加而火车损失减少的原因之一。关于“如何克服过拟合”的研究。
  • 感谢您的回答 @null 。过度拟合在第 3 个 epoch 之后开始,对应于大约 82%。是否保证克服过拟合会提高准确率?
  • 我相信machine-learning标签主要是针对实现的相关问题。您可以在 stats.stackexchange.com 或 ai.stackexchange.com 找到更好的答案。
  • @Kyv 好吧,“保证”是一个强词,但我相信正则化会变得更好,你考虑过使用 dropout 吗?顺便说一句,如果你使用 dropout,模型可能需要更多的 epoch 才能收敛。

标签: python tensorflow machine-learning conv-neural-network


【解决方案1】:

是的,您的模型似乎正在学习一些东西。要确定,我需要了解基线准确度是什么(模型随机预测)。如果您的模型没有学习任何东西,它应该具有与完全随机模型相似的准确度。

正如所指出的,您的模型似乎过度拟合,因为在训练集上的准确度在提高,而在测试集上却在降低。我们可以看到一个 对损失函数的类似影响。

由于您的损失仍在减少,我会考虑更长时间地训练模型。如果你这样做,添加一些正则化(例如 dropout)会很有帮助。对于图像,您还可以为某些输入图像添加一些噪点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2018-09-03
    • 1970-01-01
    • 2020-01-29
    相关资源
    最近更新 更多