开发者社区> 问答> 正文

寻找关于我的损失/准确性与历时曲线的宝贵建议

我的Keras-Tensorflow模型的行为如下图所示。我可以看到训练和验证损失表现不错,但是训练和验证的准确性却很不正常。我认为验证数据集可能比训练集要容易得多。因此,我获得了很高的验证准确性。我期待着您的建议。

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 20:20:47 435 0
1 条回答
写回答
取消 提交回答
  • 从训练中的指标和损失的角度来看,您在此处显示的图看起来很正常。

    由于我们正在使用batch_training,通常会看到小的峰值。另外,当您看到那些损耗峰值(损耗增加)时,精度也会降低。

    因此,无需担心情节本身。

    但是,您对验证准确性的观察确实是明智的:在大多数情况下,发生这种情况是因为验证数据集更容易。

    解决此问题的一种方法是使用交叉验证,以查看此现象是否仍然存在。

    交叉验证是一种用于模型验证的技术,其中,每次迭代/折叠时,数据集中有一部分保留用于训练和验证。下图总结了我刚刚写的内容。

    发生此现象的另一个原因是由于称为Dropout的正则化技术。如您所知,在训练阶段,在某个层上施加的辍学意味着一定百分比的神经元的随机关闭/失活。反过来这会不利于训练集的表现,但是同时降低了过度拟合的风险。因此,很多时候在训练期间使用Dropout时,可能会存在验证准确性更高的情况,因为在验证的预测期间未启用Dropout。

    回答来源:stackoverflow

    2020-03-23 20:20:51
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
安全值-量化安全风险 立即下载
智能运维里的时间序列:异常检测、根源分析、预测 立即下载
移动威胁和风险在长尾上的迁徙 立即下载