翻译:Tensorflow 2 过拟合与欠拟合
拟合
数据拟合又称曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合(fitting)。
过拟合和欠拟合
在之前的分类文本(classifying text)和预测燃料效率(predicting fuel efficiency)的例子中,我们看到我们的模型在验证数据上的准确性会在经过几个 Epoch 的训练后达到顶峰,然后会停滞不前或开始下降。
换句话说,我们的模型会过度拟合训练数据。学习如何处理过拟合很重要。尽管在训练集上获得高精度是可能的,但我们真正想要的是,开发一个能够很好地推广到测试集(或模型没有见过的数据)的模型。
过拟合的反义词是欠拟合。当测试数据仍有改进空间时,就会出现拟合不足。出现这种情况的原因有很多:模型不够强大、过于标准化,或者只是训练的时间不够长。这意味着神经网络没有(完全)学习到训练数据中的模式。
但是,如果训练时间过长,模型就会开始过度适应,从训练数据中学习到那些不能适应到测试数据中的特征。我们需要找到一个平衡点。在下面的探索中,我们将理解如何训练一个适当数量的 Epoch 。
为了防止过拟合,最好的解决方案是使用更完整的训练数据。数据集应该涵盖我们期望让模型进行处理的所有输入情况。其他额外的数据可能只有在涉及新的情况时才有用。
在更完整的数据上训练的模型自然会拟合得更好。在我们不能再完善数据集的情况下,下一个最好的解决方案是使用正则化之类的技术。这些限制了模型可以存储的信息的数量和类型。如果一个网络只能记住少量的识别模式,那么优化过程将迫使它专注于那些最突出的模式,这些模式具有更好的推广机会。
我的理解
在