【问题标题】:Strange learning curve奇怪的学习曲线
【发布时间】:2019-04-11 23:30:46
【问题描述】:

我正在训练一个 CNN 来定位图像上的点,我获得了一条振荡的验证曲线,并获得了 90% 的训练分数和 20% 的测试分数……为什么?

我尝试使用 keras 进行正则化、dropout、earlystopping 和模型检查点,但这些解决方案都不起作用

【问题讨论】:

    标签: python machine-learning deep-learning computer-vision


    【解决方案1】:

    有很多因素会影响这个过程。正如您已经提到的一些您尝试过的事情。您可以尝试更改初始化权重的方式。其他因素可能是学习率、正则化因素、您正在使用的优化器类型。

    尝试使用学习率和正则化的不同组合并绘制损失函数。观察损失函数可能真的很有帮助。

    归根结底,结果大多是经验性的,很大程度上取决于您的数据集以及您如何划分它。确保您随机选择了训练集,而不是最初或最后 70% 的数据。另外,我建议您有一个验证集(如果这就是您所说的检查点,我不是)。

    我经历过你所说的,这可能是因为你的代码中的一个愚蠢的错误,也可能是因为你划分数据库的方式。不幸的是,这个问题没有具体的答案。

    【讨论】:

    • 感谢您的这些建议。我还尝试减少层/单元,但没有帮助。我随机打乱了数据集并使用验证集作为验证分数。我会尝试优化学习率
    猜你喜欢
    • 2020-06-25
    • 2019-05-04
    • 2011-01-21
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 2017-02-05
    相关资源
    最近更新 更多