为什么过拟合不好?


27

我已经研究了很多,他们说过度适合机器学习中的动作是不好的,但是我们的神经元确实变得非常强大,可以找到我们所经历或避免的最佳动作/感觉,并且可以从不良中减少/增加。 /好或坏触发的好,表示动作会趋于平缓,最终得到最佳(正确),超强自信的动作。这怎么会失败?它使用正负感应触发器来减少/重新增加44pos中的动作。至22neg。


4
这个问题不仅限于机器学习,神经网络等,还涉及广泛的问题。它适用于简单的示例,例如拟合多项式。
杰里特


7
@ FriendlyPerson44重新阅读您的问题后,我认为您的标题与实际问题之间存在重大脱节。您似乎在问自己AI的缺陷(只有模糊的解释)-人们回答“ 为什么拟合得不好?
DoubleDouble 2016年

3
@DoubleDouble我同意。另外,机器学习和神经元之间的联系是不确定的。机器学习与“像大脑一样”,模拟神经元或模拟智力无关。目前看来,有很多不同的答案可能会对OP有所帮助。
沙兹

2
您应该弄清楚问题和标题。也许会说:“为什么我们必须保护虚拟大脑以防过度拟合,而人脑却运转良好而又没有任何针对过度拟合的对策?”
法尔科

Answers:


44

我听到的最好的解释是:

当您进行机器学习时,您假设您正在尝试从遵循概率分布的数据中学习。

这意味着在任何数据集中,由于随机性,都会有一些噪音:数据将随机变化。

当您过度拟合时,您最终会从噪音中学习,并将其包括在模型中。

然后,当需要根据其他数据进行预测时,您的准确性就会下降:噪声进入了模型,但它特定于您的训练数据,因此会损害模型的准确性。您的模型不能一概而论:它太具体于您碰巧选择训练的数据集。


1
“从噪音中学习”对我来说听起来很模糊。到底发生了什么?能给我举个例子吗?
拉斐尔

即使您的数据非常干净并且没有异常值(自然和非自然异常值),“过度拟合”也是一种不好的做法,应从模型中消除。当您的模型“过拟合”时,这意味着您的模型没有对隐藏在数据中的知识进行泛化,并且无法预测任何其他数据点。简单来说,当您过度拟合模型时,就只能将其拟合在训练/测试数据集中。
Aboelnour

2
@Raphael系统开始将训练集中的噪音视为特征。如果然后在缺少特定噪声的真实数据上运行网络,则最终结果的可能性会较低,因为缺少某些功能(=包含的噪声)。
drake7707 '16

2
@Raphael例如:我有一个来自交通摄像头的图像集合。让我们训练一个可以检测是否有汽车的网。经过一番训练后,我给了它一套有车和无车的套装,太好了!让我们将网络应用到新的集合上,以检测一条街道上是否有人无人空,是吧,为什么它不以很高的概率检测到我的空街道?回顾样本集,我注意到在每张照片中,当没有任何汽车时,背景中都会有人。由于网的过度拟合,因此重点放在了现场的人们
drake7707 '16

1
考虑一个具有因硬币翻转而增加的噪声的系统。在头上,将值添加1,在头上,添加0。为使结果显而易见,我们将选择一个非常荒谬的小数据集,该数据集包括(2,5)和(2.1,8)两点。硬币翻转使头指向第一个点,尾巴指向第二个点,从而引入噪声,从而使数据集(3,5),(2.1,8)。现在,神经网络正在从一个看起来像x和y值之间存在显着相关性的数据集学习,即使几乎所有这些都是噪声。如果您随后将此“网”以实际数据发送出去,则会产生很多错误的结果
Cort Ammon-恢复莫妮卡

39

ELI5版本

这基本上就是我向6岁孩子解释的方式。

曾经有一个名叫Mel的女孩(“明白吗?ML?”“爸爸,你很la脚。”)。梅尔(Mel)每天都和一个不同的朋友一起玩,而她每天都在玩,这是阳光明媚,美好的一天。

梅尔(Mel)在周一与乔丹(Jordan)比赛,百合(Lily)在星期二,咪咪(Mimi)在星期三,奥利夫(Olive)在星期四..然后星期五(星期五)梅尔(Mel)与Brianna(Brianna)比赛,下雨了。那是一场可怕的雷暴!

更多的日子,更多的朋友!梅尔(Mel)在星期六与关(Kwan)玩,周日在格雷森(Grayson)在星期一,阿萨(Asa)...然后在周二,梅尔(Mel)与布鲁克(Brooke)玩,再次下雨,比以前更糟糕!

现在,梅尔(Mel)的妈妈做了所有的演出日期,所以那天晚上晚餐时,她开始告诉梅尔(Mel)她排队的所有新演出日期。“路易斯在星期三,瑞安在星期四,杰米尼在星期五,比安卡在星期六-”

梅尔皱眉。

梅尔的妈妈问:“怎么了,梅尔,你不喜欢比安卡吗?”

梅尔回答说:“哦,当然,她很棒,但是每次我和一个以B开头的朋友一起玩时,都会下雨!”


梅尔的答案出了什么问题?

好吧,星期六可能不会下雨。

好吧,我不知道,我的意思是,布莱安娜(Brianna)来了,下着雨,布鲁克(Brooke)来了,下着雨...

是的,我知道,但是雨不取决于你的朋友。


10
对于另一个问题,这就是“从噪音中学习”的含义。
凯尔·黑尔

对于下雨评论-但是我们确实这样做了,然后我们继续那样做,以后再学习。
友善的人

13
@ FriendlyPerson44你是对的,人们会犯错误并做过头的事情。您的问题是为什么过度拟合不好,而不是人们是否这样做。
凯尔·黑尔

1
这个问题不仅适用于学习能力差的机器人,也适用于学习能力差的人。
托马什Zato -恢复莫妮卡

我不太了解:Rain首先不应该是预测变量,它与过拟合有什么关系?
mucaho

14

过度拟合意味着您的学习者不能很好地概括。例如,考虑一个标准的监督学习方案,在该方案中,您尝试将点分为两类。假设您获得训练点。您可以拟合一个次数为的多项式,该多项式在第一类的训练点上输出1,在第二类的训练点上输出-1。但是,这个多项式可能对分类新点毫无用处。这是过度拟合的一个例子,以及它为什么不好。NN


但是,它的过度适合的动作与特定的感觉相关联,只有当它再次看到相同的感觉时,它才会与内存匹配并链接到这些动作,而在看到其他事物时它不会执行它们。概化是两件事-所有这些树图像都是树,并使用过去的知识来找出新事物。为了让我的AI解决此问题,它会看到一棵树并听到“树”,然后匹配内存并将其置于最前面,然后看到新树及其名称,它们都链接到最新内存中的感官-第一棵树图像和声音。通过knwldge找出新的小相关事物是新角色
Friendly Person 44

2
@ FriendlyPerson44在有监督的机器学习中,培训的结果无需进一步更改。这是“过度拟合”起作用的地方。好像机器已经学会了识别一棵树-首先是通过颜色,然后是一般形状,然后是特定形状(应该停止的地方),但是随后它开始通过仅在您的计算机中发现的其他随机模式来区分树。训练集。当您让它看到树木的新随机图片时,它会确定这些不是树木。在那个时候,最糟糕的情况是它正在使用中,没有人监督!
DoubleDouble

但是我的记忆是通过保存树的图像和声音“树”并将两个感官链接在一起来识别树的,当说树时,它与内存中的内容匹配,并将匹配项和与之匹配的任何内容带到内存的前面,然后显示其他树木和新名字,这些图像和听起来像是第一个学到的。树木不是食物的触发因素,而是它的触发因素,当看到颜色或图案时,它不会保存动作。我的确学会了动作。
友善的人2016年

1
@ FriendlyPerson44与过度拟合为什么不好有什么关系?
DoubleDouble

9

粗略地说,当

在此处输入图片说明

太高了

将过度拟合视为一种情况,您的模型会全心全意地学习训练数据,而不是学习大图,从而无法将其推广到测试数据:这种情况发生在模型相对于模型大小而言过于复杂时训练数据,即训练数据的大小与模型复杂度相比较小。

例子:

  • 如果您的数据是在两个方面,你必须在训练集10000点,该模型是一条线,你很可能会 -fit。
  • 如果数据是二维的,则训​​练集中有10个点,并且模型是100度多项式,则您可能会过度拟合。

在此处输入图片说明

从理论上讲,正确训练模型所需的数据量是机器学习中一个至关重要但仍未解决的问题。解决这一问题的一种方法就是VC维度。另一个是偏差方差折衷

从经验的角度来看,人们通常在同一图上绘制训练误差和测试误差,并确保他们不会以牺牲测试误差为代价来减少训练误差:

在此处输入图片说明

我建议观看Coursera的机器学习课程,第10节“应用机器学习的建议”。


1
我喜欢“内心学习”的思路,因为人类有能力(并且确实)在某种程度上做到这一点。想象一下,进行一个极其困难的测验时,问题和答案永远不会改变,但是当您回答不正确时,系统会告知您答案。假装方程式(2 + 2)很难,您意识到方程式并说'4'-但是(2 + 3)出现了,但您还没有学会加法,只是学会了说'4'当您拥有“ 2 + 2”时
DoubleDouble

很好的解释
Nikos M.

4

我认为我们应该考虑两种情况:

有限训练

我们用于训练模型的数据有限。之后,我们要使用模型。

在这种情况下,如果您过度拟合,则不会为产生数据的现象建立模型,但会为数据集建立模型。如果您的数据集不完美-我很难想象一个完美的数据集-您的模型在很多或某些情况下都无法正常工作,这取决于您用来训练的数据的质量。因此,当您想要泛化为现象的基础建模时,过度拟合将导致数据集的专业化。

持续学习

我们的模型将始终接收新数据并继续学习。可能会有一个增加弹性的初始阶段,以达到可接受的起点。

第二种情况更类似于人脑的训练方式。当一个人很小的时候,想要学习的新例子比你年纪大的时候影响更大。

在这种情况下,过度拟合会提供一个稍有不同但相似的问题:属于这种情况的系统通常是期望在学习时执行功能的系统。考虑一下当新数据提供给人类学习时,人们不仅坐在哪里。人类一直在与世界互动并生存。

您可能会争辩说,由于数据不断增加,最终结果会很好,但是在这段时间内需要使用已学到的知识!过度拟合将提供与情况1相同的短时效果,从而使模型的性能变差。但是您要依靠模型的性能才能发挥作用!

以这种方式来看,如果您过头了,您可能会在以后出现更多示例之后认识到将来某个时候试图掠食您的捕食者,但是当捕食者吞噬您时,那是没有意义的。


对于op所隐含的问题的一个很好的答案:“为什么我们的大脑似乎可以正常工作,而没有任何过度拟合补偿,为什么我们必须防止虚拟大脑过度拟合”-因为训练有素的机器,而人类则是自己学习。
法尔科

3

假设您要教计算机确定好坏产品之间的关系,并为其提供以下数据集以供学习: 数据集的图表。 0至50为0。52和74为0。51至100的剩余值为1

0表示产品有故障,1表示可以。如您所见,X和Y轴之间有很强的相关性。如果测量值低于或等于50,则很可能(〜98%)产品有故障,而高于该值则非常好(〜98%),这是可以的。52和74是异常值(测量错误或未测量的因素起作用;也称为噪声)。测量值可能是厚度,温度,硬度或其他值,在此示例中其单位并不重要,因此通用算法为

if(I<=50)
    return faulty;
else
    return OK;

会有2%的错误分类机会。

过度拟合算法为:

if(I<50)
    return faulty;
else if(I==52)
    return faulty;
else if(I==74)
    return faulty;
else
    return OK;

因此,过拟合算法会将所有测量为52或74的产品错误地归类为有缺陷的产品,尽管在给定新数据集/用于生产中时,很有可能它们合格。它将有3,92%的错误分类机会。对于外部观察者来说,这种错误分类是很奇怪的,但是在知道原始数据集被过度拟合的情况下可以解释。

对于原始数据集,过拟合算法是最好的,对于新数据集,通用(不是过拟合)算法最有可能是最好的。最后一句话从根本上描述了过拟合的含义。


2

在我的大学AI课程中,我们的讲师以与凯尔·黑尔(Kyle Hale)类似的方式举了一个例子:

一个女孩和她的母亲出去一起在丛林中散步,突然虎跳出灌木丛吞噬了她的母亲。第二天,她和父亲一起穿过丛林,老虎又从灌木丛中跳了出来。她的父亲对她大吼大叫,但她回答:“哦,爸爸,没关系,老虎只吃母亲。”

但另一方面:

一个女孩和她的母亲出去一起在丛林中散步,突然虎跳出灌木丛吞噬了她的母亲。第二天,父亲发现她在房间里畏缩,问她为什么不和朋友一起玩。她回答:“不!如果我走到老虎外面,肯​​定会吃掉我!”

过拟合和欠拟合都可能是不好的,但是我要说的是,这取决于您要解决的问题的背景,哪一个让您更担心。



2

我实际遇到的是这样的事情。首先,我测量一些我期望输入输出比大致呈线性的东西。这是我的原始数据:

Input   Expected Result
1.045   0.268333453
2.095   0.435332226
3.14    0.671001483
4.19    0.870664399
5.235   1.073669373
6.285   1.305996464
7.33    1.476337174
8.38    1.741328368
9.425   1.879004941
10.47   2.040661489

这是一张图:

在此处输入图片说明

绝对符合我对线性数据的期望。推导方程应该很简单,对吧?因此,让您的程序对这些数据进行了一点分析,最后它报告说,它发现了命中所有这些数据点的方程,准确度高达99.99%!太棒了!那等式是... 9sin(x)+ x / 5。看起来像这样: 在此处输入图片说明

好的,等式无疑可以几乎完美地预测输入数据,但是由于它过于适合输入数据,因此在执行任何其他操作时几乎没有用。


我认为过度拟合更多是一个问题,一旦获得输入数据,该怎么办。在这里您无能为力;输入不足,因为采样不足。
埃姆雷

1
@Emre:我不打算欠采样,我打算使输入/输出是线性的,但是过度拟合产生的方程显然是非线性的。我将进行编辑以澄清。
Mooing Duck

1

看一下这篇文章,它很好地解释了过度拟合和不足拟合。

http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html

本文研究了一个余弦函数的信号数据示例。过拟合模型预测信号将是稍微复杂的函数(也基于余弦函数)。但是,过拟合模型不是基于一般性而是基于信号数据中噪声的记忆来得出结论。


4
如果该链接断开,您的答案将几乎是一文不值。请至少提供一个摘要(当然要注明出处),以使答案的价值独立于该链接。
拉斐尔

1

没有机器学习经验,从@jmite的答案来看,这里是我认为他的意思的可视化:

用于演示的近似正确形状的随机图

假设上图中的各个条形是您的数据,您试图为此找出一般趋势以应用于更大的数据集。您的目标是找到曲线。如果您过度拟合-而不是显示曲线,则将每个条形图的顶部连接在一起,然后将其应用于数据集-随着噪声(与预期值的差异)被夸大,得到怪异的,不准确的尖峰响应进入您的实际数据集。

希望我有所帮助...


0

在现实生活中过度拟合:

白人看到黑人犯罪的新闻故事。白人看到黑人犯罪的另一则新闻故事。白人看到黑人犯罪的第三则新闻故事。白人看到有关白人穿着红色衬衫,富裕的父母和精神病史的新闻报导。白人得出的结论是,所有黑人都犯罪,只有穿着红色衬衫,富裕的父母和有精神病史的白人才犯罪。

如果您想了解这种过度拟合为什么“不好”,只需将上面的“ black”替换为某种或多或少唯一地定义您的属性。


刻板印象是外行人所谓的过度拟合。
Emre'1

3
这并不过分。过度拟合将是系统确定唯一的罪犯是与新闻报道中的罪犯之一具有相同肤色,衬衫颜色,父母收入和精神病史的人。
David Richerby '16

8
@Emre不,刻板印象与过度拟合完全相反。刻板印象即将得出的结论忽略了训练数据的大多数属性。过度拟合的结论是,只有训练数据中每个点的数据都能完美地描述您要识别的事物的一部分。
David Richerby '16

主持人注意:主题外/上下文外注释已删除。有关一般讨论,请访问计算机科学聊天室。如果您对某个程序可能会有用或可能不会有用地使用过拟合问题,请提出一个新问题。
吉尔斯(Gillles)“所以-别再邪恶了”

2
@ArnabDatta过度拟合将过于复杂的模型与训练数据过于精确地匹配;刻板印象是使用过度简化的模型。
David Richerby

0

您测试的任何数据都将具有您想要学习的属性,以及一些与您不希望学习无关的属性。

约翰11岁,
杰克19岁,
凯特31岁,
拉娜39岁

正确拟合:年龄大约是线性的,经过20岁左右。
过度拟合:两个人不能相隔10年(数据中的噪音属性)
拟合不足:所有人的1/4是19岁(定型)


欢迎!我们已经有很多非正式的例子,所以我不确定这会增加多少。而且似乎很难使这个例子更加正式。例如,您提到的线性函数是什么?该函数的输入似乎是该人的名字,而不是数字。同时,“两个人不能相隔十年”和“ 1/4的人是19岁”并不是从数据中学到功能的例子。
David Richerby
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.