【问题标题】:Keras model has very good loss after 1 epoch but doesn't really get better with more epochsKeras 模型在 1 个 epoch 后有很好的损失,但在更多 epoch 后并没有真正变得更好
【发布时间】:2018-11-26 20:26:23
【问题描述】:
您好,我只是想问这个理论问题。
一个模型在一个 epoch 之后已经有非常好的损失(标准化数据为 0.004)但这种损失并没有随着时间的推移而真正减少(在 10 个 epoch 之后它仍然是 0.0032),这可能是什么原因。
它通常不应该随着时间的推移而减少吗?
数据集相当大,有超过一百万个数据点,我没想到在 1 个 epoch 之后会有这么好的损失。
那么我可以对此模型进行哪些更改,或者我做错了什么? (这是一个密集连接的NN预测回归与adam和mse)
【问题讨论】:
标签:
tensorflow
machine-learning
keras
【解决方案1】:
有多种可能性,但问题需要澄清一下。
您能指定目标的范围吗?
0.004 听起来可能是损失,但如果您的目标范围在 0 到 0.0001 之间,则不是这样。
您的验证和测试数据集的指标是什么?在不知道验证损失的情况下,损失本身并不能说明太多。
猜测 0.004 好得令人难以置信,您的模型可能过度拟合。
尝试实施 dropout 以避免过度拟合。
如果您的模型没有过度拟合,则可能是 Adam 超出了(局部)最小值。尝试降低其学习率,或尝试使用自定义超参数的 sgd。这确实需要大量调整。
Coursera 上有一门免费课程,名为斯坦福大学的机器学习。这很好地涵盖了这些概念(以及更多)的理论。