逻辑经常说,通过过度拟合一个模型,它的泛化能力是有限的,尽管这可能意味着过度拟合只会阻止模型在一定复杂性之后的改进。不考虑数据的复杂性,过度拟合会导致模型变得更糟吗?如果是的话,为什么会如此?
相关:跟进上述问题,"模特什么时候不合身?“
发布于 2014-05-14 18:27:56
过度拟合在经验上是不好的。假设你有一个数据集,你把它分成两部分,测试和训练。过度拟合的模型在测试数据集上的表现要比在训练数据集上差得多。人们经常观察到,这样的模型在额外的(新的)测试数据集上的表现通常也比没有过度拟合的模型差。
直观地理解这一点的一种方法是,模型可能使用数据的一些相关部分(信号)和一些无关部分(噪声)。一个过度拟合的模型使用更多的噪声,这增加了它在已知噪声(训练数据)情况下的性能,在新噪声(测试数据)情况下降低了它的性能。训练数据和测试数据在性能上的差异表明模型接收到了多少噪声;而拾取噪声直接转化为测试数据(包括未来数据)的较差性能。
摘要:过度拟合在定义上是不好的,这与复杂性或泛化能力没有多大关系,而是与将噪声误认为信号有关。
关于问题的“泛化能力”部分,很可能有一个模型由于模型的结构而具有固有的有限的泛化能力(例如线性支持向量机,.)但仍然倾向于过度适应。从某种意义上说,过度拟合只是泛化可能失败的一种方式。
发布于 2014-05-14 18:37:52
简而言之,过度拟合意味着要考虑到来自数据和/或先验知识的太多信息,并将其用于模型中。为了让它更简单,请考虑下面的例子:一些科学家雇用你来为他们提供一个模型来预测某种植物的生长。科学家们已经向你提供了从他们与这些植物的工作中收集到的一整年的信息,并且他们将不断地给你关于他们种植园未来发展的信息。
因此,您运行了收到的数据,并建立了一个模型。现在假设,在您的模型中,您考虑了尽可能多的特性,以始终找出您在初始数据集中看到的植物的确切行为。现在,随着生产的继续,您将始终考虑到这些特性,并将产生非常细粒度的结果。然而,如果种植园最终受到某些季节变化的影响,你将得到的结果可能与你的模型相吻合,以至于你的预测将开始失败(要么说增长会放缓,而实际上会加速,要么相反)。
除了无法检测到如此小的变化,而且通常不能正确地对条目进行分类之外,模型上的细粒度,即大量变量,可能会导致处理成本过高。现在,假设您的数据已经很复杂了。将您的模型与数据过度匹配不仅会使分类/评估变得非常复杂,而且很可能会使您对输入中最细微的变化进行错误的预测。
编辑:这可能也有一些用处,也许在上面的解释中增加了动态性:D
发布于 2014-06-29 22:44:02
粗略地说,过度拟合通常发生在以下情况:

太高了。
把过度拟合想象成这样一种情况:你的模型通过记忆学习训练数据,而不是学习那些阻止它能够推广到测试数据的大图片:当模型相对于训练数据的大小太复杂时,也就是说,当训练数据的大小与模型的复杂性相比时,就会发生这种情况。
示例:

从理论的角度来看,正确训练模型所需的数据量是机器学习中一个关键但仍有待解答的问题。回答这个问题的方法之一就是VC维数。另一个是偏差-方差权衡。
从经验的角度来看,人们通常会在同一个图上绘制训练错误和测试错误,并确保他们不会以牺牲测试错误为代价来减少培训错误:

我建议观看课程机器学习课程的"10:应用机器学习的建议“部分。
(PS:请去这里请求TeX支持这个SE。)
https://datascience.stackexchange.com/questions/61
复制相似问题