在过拟合的情况下如何分析神经网络质量?

数据挖掘 神经网络 喀拉斯 过拟合
2022-03-11 12:12:23

我有一个 Keras 神经网络,其中包含图像作为输入和参考数据。

我的网络表现出过拟合(例如,训练准确率约为 80%,但测试准确率仅高达 70%),这是由于相对于网络规模而言输入数据量较小。尽管如此,70% 的测试准确率对于我的问题来说已经足够好了,并且在过度拟合开始后测试准确率并没有开始下降——它随着训练准确率的增加而增加,但总是落后几个百分点。模型简化不允许我达到如此好的准确性。

所以,在我的情况下,看起来过度拟合并没有做坏事,但我知道它观察到的效果可能完全不同,我想检查我的模型是否正确执行。

您能否提出一些分析模型质量的经典方法?可能是通常使用特殊的度量或统计方法,还是需要执行某种熵参数估计?是否有可能了解我的模型是从输入数据中学习了一些有用的模式,还是只是记住了数据本身?

1个回答

一个非常有用的站点是https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/为了避免过度拟合,您可以做的其他一些事情是:

  1. 提前停止,绘制验证和测试数据集的准确性随着时间的推移以及验证准确性变得更好时停止训练您的模型。

  2. 尝试使用 L2 正则化,这会降低模型的复杂性。

  3. 如果您使用树木,请尝试修剪您的树。

  4. 如果是神经网络,请尝试使用 dropout,https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/