模型拟合不足

时间:2020-01-25 15:01:06

标签: keras deep-learning

我已经训练了一个模型,花了我相当长的时间才能找到正确的超参数。 该模型现在已经训练了15小时,在工作上似乎还不错。

当我观察到训练和验证损失时,训练损失比验证损失要高一些。 (红色曲线:训练,绿色:验证)

enter image description here

我使用dropout来规范化我的模型,据我所知,droput仅在训练期间应用,这可能是原因。

现在Iam想知道我是否训练了有效的模型? 似乎该模型的拟合程度很低?

预先感谢您的任何建议,

欢呼

M

2 个答案:

答案 0 :(得分:0)

如果模型未达到,其性能将会降低,与过度拟合相似,因为实际上它无法有效地学习以获得最佳结果,即适合给定分布的适当功能。因此您必须使用较少的正则化技术,例如减少辍学以获得最佳结果。

此外,采样也可能至关重要,因为可能存在训练-验证子集,其中模型在验证集上表现良好,而在训练集上效果较差,反之亦然。这就是我们使用 crossvalidation 和其他采样方法(例如, 分层的k折

答案 1 :(得分:0)

首先,检查您是否有良好的数据集,即,如果它是一个分类,则为所有类获取相等数量的图像,并从同一来源而不是不同来源获得。正则化,辍学用于过度拟合/高方差,因此不必担心这些。

然后,当您训练模型时,我认为您的模型运行良好,它们之间的初始误差有所不同,但是随着时间的增加,它们都进入了稳定的道路。这样很好。可能是我上面提到的原因,或者您应该尝试将其改组,然后使用train_test_split来更好地分配训练和验证集。 在以下情况下,学习曲线图显示出很好的拟合度:

  1. 训练损失的情况减少到稳定点。
  2. 验证损失图减少到稳定点,并且与训练损失之间的差距很小。

在您的情况下,满足这些条件。

如果您想解决高偏差/欠拟合问题,那么这里有几种方法:

  1. 训练更大的模型
  2. 训练更长一些。使用更好的优化技术
  3. 尝试不同的神经网络架构以及超级参数

也可以使用交叉验证或GridSearchCV来查找更好的优化程序或超级参数,但这可能会花费很长时间,因为考虑到您的时间是15个小时,那么每次必须在不同的参数上对其进行训练,那么这可能会很长但是您会发现更好的参数,然后对其进行训练。

首先,我认为您的模型还可以。