我试图理解辍学对验证平均绝对误差(非线性回归问题)的影响。
没有辍学
退出0.05
没有任何辍学,验证损失超过训练损失,如1所示。我的理解是,验证损失应该仅略微超过训练损失以获得良好的适应性。
小心地,我增加了辍学率,以便验证损失接近2中所见的训练损失。辍学仅适用于培训期间而非验证期间,因此验证损失低于培训损失。
最后,辍学率进一步增加,验证损失再次超过3中的训练损失。
这三者中哪一个应该被称为合适?
根据MarcinMożejko的回应,我预测了4中显示的三项测试。 'Y'轴显示RMS错误而不是MAE。 “没有辍学”的模型给出了最好的结果。
答案 0 :(得分:2)
嗯 - 这是一个非常好的问题。在我看来 - 最低的验证分数(在单独的测试集上确认)是最合适的。请记住,最终 - 模型在全新数据上的表现是最关键的事情,而且它在训练集上表现更好的事实并不那么重要。
此外 - 我认为您的模型可能通常不适合 - 您可以尝试将其扩展到例如有更多的层或神经元,并使用dropout
稍微修剪它以防止示例记忆。
如果我的假设被证明是错误的 - 请记住 - 有可能某些数据模式只存在于验证集上(这在中型数据集的情况下相对常见)是什么导致了火车和测试的分歧失利。此外 - 我认为即使你的损失价值在没有辍学的情况下已经饱和,但由于似乎存在损失趋势较小的趋势,因此时代数量的增加仍有改善的空间。
我建议您尝试的另一种技巧是降低高原上的学习率(使用示例this回调),因为您的模型似乎需要使用较低的学习率进行优化。