我已经理解了过度拟合和欠拟合背后的主要概念,尽管它们发生的一些原因对我来说可能并不那么清楚。
但我想知道的是:过度拟合不是比欠拟合“更好”吗?
如果我们比较模型在每个数据集上的表现,我们会得到如下结果:
过拟合:训练:好与测试:坏
欠拟合:训练:差与测试:差
如果我们看看每个场景在训练和测试数据上的表现如何,似乎对于过拟合场景,模型至少在训练数据上表现良好。
粗体字是我的直觉,当模型在训练数据上表现不佳时,它也会在测试数据上表现不佳,这在我看来总体上更糟。
我已经理解了过度拟合和欠拟合背后的主要概念,尽管它们发生的一些原因对我来说可能并不那么清楚。
但我想知道的是:过度拟合不是比欠拟合“更好”吗?
如果我们比较模型在每个数据集上的表现,我们会得到如下结果:
过拟合:训练:好与测试:坏
欠拟合:训练:差与测试:差
如果我们看看每个场景在训练和测试数据上的表现如何,似乎对于过拟合场景,模型至少在训练数据上表现良好。
粗体字是我的直觉,当模型在训练数据上表现不佳时,它也会在测试数据上表现不佳,这在我看来总体上更糟。
过拟合可能比欠拟合更糟糕。原因是过度拟合导致的泛化性能下降没有真正的上限,而欠拟合则存在上限。
考虑非线性回归模型,例如神经网络或多项式模型。假设我们已经标准化了响应变量。一个最大欠拟合的解决方案可能会完全忽略训练集并且无论输入变量如何都具有恒定的输出。在这种情况下,测试数据的预期均方误差将近似为训练集中响应变量的方差。
现在考虑一个对训练数据进行精确插值的过拟合模型。为此,这可能需要在训练集中的点之间从数据生成过程的真实条件均值大幅偏移,例如大约 x = -5 处的虚假峰值。如果前三个训练点在 x 轴上更靠近,则峰值可能会更高。结果,这些点的测试误差可以任意大,因此测试数据上的预期 MSE 同样可以任意大。
来源:https ://en.wikipedia.org/wiki/Overfitting (在这种情况下它实际上是一个多项式模型,但请参阅下面的 MLP 示例)
编辑:正如@Accumulation 建议的那样,这是一个过度拟合程度更大的示例(从具有高斯噪声的线性模型中随机选择的10个数据点,由拟合到最大程度的10阶多项式拟合)。令人高兴的是,随机数生成器第一次给出了一些间隔不是很好的点!
值得区分“过度拟合”和“过度参数化”。过度参数化意味着您使用的模型类比表示数据的底层结构所需的更灵活,这通常意味着更多的参数。“过拟合”意味着您已经优化了模型的参数,以使训练样本更好地“拟合”(即训练标准的更好值),但不利于泛化性能。您可以拥有一个不会过度拟合数据的过度参数化模型。不幸的是,这两个术语经常互换使用,可能是因为在早期,对过度拟合的唯一真正控制是通过限制模型中的参数数量来实现的(例如 线性回归模型的特征选择)。然而,正则化(参见岭回归)将过度参数化与过度拟合解耦,但我们对术语的使用并没有可靠地适应这种变化(尽管岭回归几乎和我一样古老!)。
这是一个使用(过度参数化的)MLP 实际生成的示例
粗略地说,过拟合是将模型拟合到噪声,而欠拟合不是将模型拟合到信号。在您的过度拟合预测中,您将重现噪声,欠拟合将显示平均值,充其量。这就像在腹泻和便秘之间做出选择。我可能会选择后者,所以我会选择欠拟合,即均值。
什么是好什么是坏的问题取决于问题、问题和环境。
一些想法:关于欠拟合如何不被普遍拒绝的最令人印象深刻的证据是简单线性回归的普遍使用。社会科学、生命科学、心理学等领域的问题几乎从来都不是线性的,如果它们是弯曲的,它们几乎不会按照二次项弯曲。然而,这些领域的一些优秀研究在很大程度上依赖于这样一种想法,即人们可以画一条直线作为任何关系的表示。
一条直线不容易过拟合,很容易欠拟合。但这可以赋予它可信度。“有一个连接,因为我可以画一条合理的直线”比“有一个连接,因为我可以画样条线”更有说服力——因为你几乎总是可以用样条线过度拟合。
人们甚至在没有任何形式的交叉验证的情况下通过样本内 R² 来判断线性回归的结果——你会相信任意大小的神经网络没有交叉验证或测试集靠近具有小 p 和大 R² 的 OLS 回归吗?