过度拟合总是一件坏事吗?

人工智能 神经网络 控制问题 过拟合
2021-11-01 22:02:55

DNN 可用于识别图片。伟大的。对于这种用法,如果它们具有一定的灵活性,以便将即使不在他们训练的图片上的猫也识别为猫(即避免过度拟合),效果会更好。同意。

但是,当使用NN 作为空中防撞系统 (ACAS) 中数值表的替代品时,主要是为了将“所需的存储空间减少 1000 倍”。对于这种用法,如果另一艘船在右侧稍微靠近或在左侧快速靠近,我们希望 NN 分别说出“稍微左转”或“用力右转”。

对于这种用法,答案比识别猫要简单得多,过度拟合不是一件好事吗?在这种情况下,过度拟合“看起来像”会是什么?为什么会不好?

这个问题与这个问题有些相关,其中一个普遍的想法似乎是“机器学习用于棘手的事情,你不需要 ML 来处理棘手的事情”。虽然 ACAS 可以在没有 NN 的情况下实现是完全正确的,但我不会将 NN 称为 ACAS“无用”,因为所需空间减少 1000 倍总是会派上用场。

4个回答

通常,过度拟合的后果是在看不见的数据上表现不佳。如果您确信数据集上的过度拟合不会导致数据集未描述的情况出现问题,或者数据集包含所有可能的场景,那么过度拟合可能有利于 NN 的性能。

过度拟合总是一件坏事吗?

答案是响亮的肯定,每次。原因是过度拟合是我们用来指代您的模型在训练数据上表现非常好的情况但当您向它展示真正重要的数据集(即测试数据或将其投入生产)时,它表现得非常坏的。这永远不会是好的,因为我们编写模型,以便他们可以对以前从未见过的数据集进行高精度预测。没有人关心在训练集上获得 100% 准确率而在测试集上获得 0% 的模型。这是一个无用的模型。我们训练模型,以便它们可以对以前从未见过的数据进行高精度预测。

现在长答案:

我将首先快速解释什么是过拟合。然后我们如何检测过拟合,这将帮助我解释为什么过拟合总是不好的。

什么是过拟合:

在机器学习问题中,有信号就有噪声。信号是您希望从数据中学习的真正基础模式,而噪声是数据集中不相关的信息或随机性。

导致过度拟合的原因是您的模型正在使用“噪声”来做出决策,而不是使用信号。过度拟合意味着您的模型在训练数据上表现非常好,而在看不见的数据集上表现非常差(请注意,我们几乎不关心模型在训练数据上的表现如何,我们关心它在训练数据上的表现如何它以前没有见过的数据)。过度拟合的模型类似于一个学生,他/她在准备考试的测验中获得 100% 的分数,并且在考试中得到非常差的分数,因为他/她选择了填塞/记忆测验的答案和问题,而不是了解如何获得这些答案。

我们如何检测过拟合:

了解模型是否过度拟合的唯一方法是在从未见过的数据集上测试其性能。因此,在对从未见过的数据进行模型测试后,事后看来,过拟合是你所知道的。

对于这种用法,答案比识别猫要简单得多,过度拟合不是一件好事吗?

不,因为如果您的模型过度拟合,它将在测试集上表现不佳(在您的情况下,当您将其部署在现实世界的 ACAS 中并开始向其显示以前从未见过的数据时,它的表现会非常糟糕)。请参阅我们如何检测上面的过度拟合。

如果事实证明,当您向模型展示以前从未见过的数据时,您的模型表现得非常好,那么这意味着它没有过拟合(请参阅上面的什么是过拟合)。

在这种情况下,过度拟合“看起来像”会是什么?为什么会不好?您的模型将在训练集上获得非常高的准确度,而当您开始向它展示以前从未见过的示例时,准确度会非常低。所以简而言之,你会寄予厚望,兴奋地跳上跳下,以为你的模型很棒,只是因为它不会在生产 ACAS 系统中得到非常糟糕的结果。

过度拟合几乎总是不好的,并且会损害泛化你说

如果另一艘船在右侧稍微靠近或在左侧快速靠近,我们希望 NN 分别说“稍微左转”或“右转”。

但是,如果 NN 仅在即将到来的船很小的情况下学会“稍微左转”(因为不小心这就是训练集包含的内容),你会怎么说?或者它只在某个高度上学会“右转”,当高度不同时给出任意答案?

在实践中,过拟合意味着学习噪声,即不存在的模式。我很难想象一个很好的例子,当它是你真正需要的时候。

回答你的问题:对于 ACAS 任务,一个更小更简单的模型很有可能工作得很好,不一定是深度,甚至不一定是神经网络。但它必须是合理的,学习白噪声并不是你所说的合理。

不。当输入和输出众所周知的系统时,即。状态空间是完全已知的并使用说物理(PDE)定义,然后过度拟合是可取的,因为不需要泛化。与求解 PDE 或查找表为数 TB 相比,ML 模型的推理时间较短。