【问题标题】:Is this deep learning model overfits? [duplicate]这种深度学习模型是否过拟合? [复制]
【发布时间】:2021-10-02 01:34:41
【问题描述】:

我在 Python 中使用 Keras 来创建用于深度学习的回归模型。 通过 k=5 的交叉验证进行验证后,经过 5 次试验,train_loss 平均约为 0.10,validation_loss 平均约为 0.12。

我认为由于数据中的异常值(或刚好处于上限或下限的值),validation_loss 会变大是很自然的。

但是,我不知道 validation_loss 应该偏离 train_loss 多少才能被视为过度拟合。

如果您对确定是否存在过度学习的标准有任何想法,我还应该检查什么,或者我的思维方式是否存在根本差异,请告诉我。

这是关于损失值的示例图。 (以 5 幅图中的 2 幅图为例)

【问题讨论】:

  • 在你的图表中,看看验证损失是如何开始上升的,尽管训练损失仍在下降?这表明过拟合。学习率可能是帮助调整它的最简单的参数,但它通常是数据/#parameters 问题
  • 明确地说,我认为它非常微妙,验证损失(如果有的话)上升得非常缓慢。但我认为很明显它并没有减少,你同意吗?
  • 感谢您的建议。你认为当 epoch=200 时,train loss 在减少,另一方面,test loss 在增加,所以这个模型是过拟合的,不是吗?我正在自学机器学习,所以我不知道真正的标准。我理解你的想法。非常感谢。
  • 没问题!是的,过度拟合总是很难诊断,但一般来说,如果训练损失在减少而测试损失没有减少,那么你只是在“记忆训练集”,而不是学习更深层次的表面。如果你还没有这样做,随机化你的训练/测试分割会有所帮助。获取更多数据是经典(尽管有时不切实际)的建议。否则,您可以尝试选择更小的模型,使用某种“正则化”工具,或调整学习率等超参数

标签: python validation keras deep-learning data-science


【解决方案1】:

感谢en_Knight,我得到了解决这个问题的想法。

【讨论】:

    猜你喜欢
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2020-06-19
    • 2018-10-27
    • 2021-12-21
    • 2019-09-15
    相关资源
    最近更新 更多