这是过拟合的例子吗?

Posted

技术标签:

【中文标题】这是过拟合的例子吗?【英文标题】:Is this an example of over-fitting? 【发布时间】:2019-02-13 01:45:53 【问题描述】:

在大约 100 个 epoch 后训练深度学习模型:

Train accuracy : 93 %
Test accuracy : 54 %

然后训练准确率提高而测试准确率降低:

Train accuracy : 94 %
Test accuracy : 53 %
Train accuracy : 95 %
Test accuracy : 52 %
Train accuracy : 96 %
Test accuracy : 51 % 

对于模型的初始版本,我们对 54% 的准确率感到满意,但我不知道训练准确率增加、测试准确率降低除了模型之外的含义是过度拟合。当达到最大测试准确度(在这种情况下为 54%)时,我是否应该停止训练模型并使用训练过的参数?

通过观察训练准确率提高和测试准确率降低,我可以获得什么知识?这是一个更强的过拟合的例子吗?

【问题讨论】:

是的,这绝对是过拟合。您应该在测试准确度停止增加时终止训练过程。根据您显示的数字,您的模型实际上过度拟合了很多。您应该考虑添加正则化以可能提高测试准确性。 我使用的另一个“衡量标准”是,如果训练准确度和测试准确度之间的差距越来越大,那就是过拟合了。 【参考方案1】:

是的,这绝对是过拟合。您应该在测试准确度停止增加时终止训练过程。根据您显示的数字,您的模型实际上过度拟合了很多。您应该考虑添加正则化以可能提高测试准确性。

(我补充):正则化就像@Djib2011 所说的那样有助于防止过度拟合。你可以看看例如L2 或 Dropout 是最常见的。


问题在 cmets 中得到了回答,由于没有人写答案, 我将此答案设为社区维基答案。这是为了从 未答复的清单。 最初的答案是 @Djib2011 。鼓励 OP 选择它作为 answer 将问题状态删除为未回答。 (如果这个人 在 cmets 中回答的人决定回答 OP 可以而且应该, 请选择那个答案)。

【讨论】:

【参考方案2】:

是的,绝对是过拟合,当我第一次开始在 SAS 中构建逻辑回归时,我们曾经有一个经验法则,即模型的训练和测试性能之间的差异不超过 10%。

另一种方法是使用 k-fold 并在所有折叠中获得平衡的性能。

总体而言,这意味着模型是稳定的,我们将其拟合到实际数据趋势中,而不是将其拟合到噪声中。

【讨论】:

以上是关于这是过拟合的例子吗?的主要内容,如果未能解决你的问题,请参考以下文章

这是过拟合的情况吗? CNN图像分类器

机器学习之欠拟合和过拟合

机器学习入门-过拟合欠拟合

TensorFlow MNIST 手写数字识别之过拟合

过拟合

机器学习基础---过拟合问题及正则化技术