Answers:
我将尝试以最简单的方式回答。这些问题中的每一个都有其主要来源:
过度拟合:数据嘈杂,这意味着与现实存在一些偏差(由于测量误差,有影响力的随机因素,未观察到的变量和垃圾相关性),这使我们更难于看到它们与解释因素的真实关系。而且,它通常不完整(我们没有所有示例)。
例如,假设我正在尝试根据男孩和女孩的身高对其进行分类,因为那是我唯一获得的关于男孩和女孩的信息。我们都知道,即使男孩平均比女孩高,但仍有很大的重叠区域,使得仅凭这些信息就不可能将他们完全分开。根据数据的密度,一个足够复杂的模型在此任务上可能比在理论上在训练上可能获得更高的成功率。数据集,因为它可以绘制边界,使某些点可以独立存在。因此,如果我们只有一个身高2.04米的人并且她是一个女人,则模型可以在该区域周围画一个小圆圈,这意味着一个身高2.04米的随机人最有可能是女人。
造成这种情况的根本原因是对培训数据的信任度过高(在示例中,该模型说,由于没有身高为2.04的男性,因此只有女性有这种可能)。
拟合不足是一个相反的问题,模型无法识别数据中的实际复杂性(即数据中的非随机变化)。该模型假定噪声大于实际噪声,因此使用过于简单的形状。因此,如果由于某种原因,数据集中的女孩比男孩多得多,则该模型可以将所有女孩归为女孩。
在这种情况下,该模型对数据的信任度不足,仅假设偏差全是噪声(在示例中,该模型假定男孩根本不存在)。
最重要的是,我们面临这些问题是因为:
过度拟合是指模型在原始数据上估计您要建模的变量确实很好,但在新数据集(保留,交叉验证,预测等)上估计得不好。您的模型中变量或估计量过多(虚拟变量等),这会使您的模型对原始数据中的噪声变得过于敏感。由于过度拟合原始数据中的噪声,因此该模型的预测效果很差。
欠拟合是指模型无法很好地估计原始数据或新数据中的变量。您的模型缺少一些变量,这些变量对于更好地估计和预测因变量的行为是必需的。
过度拟合和欠拟合之间的平衡行为极具挑战性,有时甚至没有清晰的终点线。在对计量经济学的时间序列进行建模时,使用正则化模型(LASSO,Ridge回归,Elastic-Net)可以很好地解决此问题,正则化模型专门通过减少模型中的变量数量,降低系数对您的数据,或两者结合。
也许在您的研究过程中,您遇到了以下等式:
Error = IrreducibleError + Bias² + Variance
。
为什么我们在训练模型时会遇到这两个问题?
学习问题本身基本上是偏差和方差之间的权衡。
过度拟合和拟合不足的主要原因是什么?
简短:噪音。
Long:不可减少的误差:数据中的测量误差/波动,以及模型无法表示的目标函数的一部分。重新测量目标变量或更改假设空间(即选择其他模型)会更改此组件。
编辑(链接到其他答案):随着复杂度的变化,模型性能:
其中errorD是整个分布D上的误差(实际上是使用测试集估算的)。
过度拟合和不足拟合基本上是假设模型对数据的不足解释,可以看作是模型对数据的过度解释或过度解释。这是通过用于解释数据的模型与生成数据的模型之间的关系创建的。在尝试解释时,我们无法访问基础模型,因此我们的判断受另一因素影响:不确定性或误差线。
当试图拟合所有方差时,如果我们使用的模型过于复杂,则表明我们过度拟合。这是由我们自由选择模型并过于重视误差条(或试图解释所有可变性,这是相同的)而创建的。当将自己局限于一个过于简单以至于无法描述数据的模型,并且没有给误差线赋予足够的重要性(或者没有解释其可变性)时,我们就不适合。
如何避免这两个?信息支持的模型(不是从数据中得出,而是从问题的先验知识中得出)和有意义的不确定性。
简而言之,过度调整的出现是由于模式出现在训练数据集中,但并不存在于整个人群中(它们看起来很不走运)。如果使用简单的模型(例如,考虑线性回归),则存在过度拟合的风险较低,因为它可以检测到的可能模式数量很小,因此样本中随机显示的那些模式之一的机会也不大。如果您尝试研究采用100个个体样本的总体上的1,000,000个变量的相关性,则可能会发生这种情况。尽管彼此完全独立,但某些功能可能会随机呈现出巨大的样本相关性
过度拟合的另一个原因是抽样偏误(因为样本不是真正随机的,所以存在“样本假模式”)例如,如果您想通过去自然地研究某种蘑菇的平均大小来进行研究,您可能会高估它(更容易找到更大的蘑菇)
另一方面,欠拟合是一个相当简单的现象。这可能意味着两件非常基本的事情:A)我们没有足够的数据来让模型学习人口模型,或者B)我们的模型不足以反映它。
如果您有的现象,则可以找到A的情况
如果您的模型很简单,例如,则可能发生B
简短答案:
过度拟合的主要原因是当您的训练集较小时使用复杂的模型。
拟合不足的主要原因是使用的模型过于简单,无法在训练集上很好地发挥作用。
- 具有高容量的模型可能会由于记忆训练集上无法很好地在测试集中使用的属性而过拟合。
-深度学习书,Goodfellow等。
机器学习的目标是在训练集上训练模型,希望它在测试数据上表现同样出色。但是,在训练集上获得良好的表现是否总是会转化为测试集上的良好表现吗?不会,因为您的训练数据有限。如果数据有限,您的模型可能会找到一些适用于该有限训练集的模式,但这些模式不会推广到其他情况(即测试集)。可以通过以下任一方法解决:
A-为模型提供更大的训练集,以减少在训练集中具有任意模式的机会。
B-使用更简单的模型,以便该模型将无法在训练集中找到那些任意模式。一个更复杂的模型将能够找到更复杂的模式,因此您需要更多数据以确保您的训练集足够大而不包含任意模式。
(例如,假设您想教一个模型来检测卡车上的船只,并且每个都有10张图像。如果图像中的大多数船只都在水中,则您的模型可能会学会将具有蓝色背景的任何图片归类为船只现在,如果您有10,000张船只和卡车的图像,则您的训练集更有可能包含各种背景的船只和卡车,并且您的模型不再只能依靠蓝色背景。)
当模型无法在训练集上获得足够低的误差值时,就会发生拟合不足。
低容量的模型可能难以适应训练集。
-深度学习书,Goodfellow等。
当您的模型不足以学习训练集时,就会发生欠拟合,这意味着您的模型过于简单。每当我们开始解决问题时,我们都需要一个至少能够在训练集上获得良好性能的模型,然后我们开始考虑减少过度拟合。通常,欠拟合的解决方案非常简单:使用更复杂的模型。
考虑一个有一个假设/模型方程的例子,
y=q*X+c,
其中X =功能列表,y =标签,q和c是我们必须训练的系数。
如果我们得出的系数值足够大,并且在这种情况下开始抑制特征值(即X),则无论任何X值如何,我们总是得到y的恒定值。这称为高度偏差或欠拟合模型。
考虑另一个复杂的假设示例,
y=q*X+r*sqr(X)+s*cube(X)+c, where q,r,s and c are the coefficients.
在确定最佳系数值之后,对于训练数据,我们有可能获得最小的损失。仅仅是因为我们使模型如此复杂且紧密耦合,以至于它在训练数据中表现良好。而使用看不见的数据,我们会得到相反的结果。这称为高度方差模型或过度拟合模型。
偏向模型在模型选择中需要更多的复杂性,而高方差模型在模型选择中需要降低复杂性。正则化技术可以帮助我们确定模型复杂性的适当水平,通过这种技术,我们可以克服这两个问题。