我已经研究了很多,他们说过度适合机器学习中的动作是不好的,但是我们的神经元确实变得非常强大,可以找到我们所经历或避免的最佳动作/感觉,并且可以从不良中减少/增加。 /好或坏触发的好,表示动作会趋于平缓,最终得到最佳(正确),超强自信的动作。这怎么会失败?它使用正负感应触发器来减少/重新增加44pos中的动作。至22neg。
我已经研究了很多,他们说过度适合机器学习中的动作是不好的,但是我们的神经元确实变得非常强大,可以找到我们所经历或避免的最佳动作/感觉,并且可以从不良中减少/增加。 /好或坏触发的好,表示动作会趋于平缓,最终得到最佳(正确),超强自信的动作。这怎么会失败?它使用正负感应触发器来减少/重新增加44pos中的动作。至22neg。
Answers:
我听到的最好的解释是:
当您进行机器学习时,您假设您正在尝试从遵循概率分布的数据中学习。
这意味着在任何数据集中,由于随机性,都会有一些噪音:数据将随机变化。
当您过度拟合时,您最终会从噪音中学习,并将其包括在模型中。
然后,当需要根据其他数据进行预测时,您的准确性就会下降:噪声进入了模型,但它特定于您的训练数据,因此会损害模型的准确性。您的模型不能一概而论:它太具体于您碰巧选择训练的数据集。
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)来了,下着雨...
是的,我知道,但是雨不取决于你的朋友。
过度拟合意味着您的学习者不能很好地概括。例如,考虑一个标准的监督学习方案,在该方案中,您尝试将点分为两类。假设您获得训练点。您可以拟合一个次数为的多项式,该多项式在第一类的训练点上输出1,在第二类的训练点上输出-1。但是,这个多项式可能对分类新点毫无用处。这是过度拟合的一个例子,以及它为什么不好。
粗略地说,当
太高了
将过度拟合视为一种情况,您的模型会全心全意地学习训练数据,而不是学习大图,从而无法将其推广到测试数据:这种情况发生在模型相对于模型大小而言过于复杂时训练数据,即训练数据的大小与模型复杂度相比较小。
例子:
从理论上讲,正确训练模型所需的数据量是机器学习中一个至关重要但仍未解决的问题。解决这一问题的一种方法就是VC维度。另一个是偏差方差折衷。
从经验的角度来看,人们通常在同一图上绘制训练误差和测试误差,并确保他们不会以牺牲测试误差为代价来减少训练误差:
我建议观看Coursera的机器学习课程,第10节“应用机器学习的建议”。
我认为我们应该考虑两种情况:
有限训练
我们用于训练模型的数据有限。之后,我们要使用模型。
在这种情况下,如果您过度拟合,则不会为产生数据的现象建立模型,但会为数据集建立模型。如果您的数据集不完美-我很难想象一个完美的数据集-您的模型在很多或某些情况下都无法正常工作,这取决于您用来训练的数据的质量。因此,当您想要泛化为现象的基础建模时,过度拟合将导致数据集的专业化。
持续学习
我们的模型将始终接收新数据并继续学习。可能会有一个增加弹性的初始阶段,以达到可接受的起点。
第二种情况更类似于人脑的训练方式。当一个人很小的时候,想要学习的新例子比你年纪大的时候影响更大。
在这种情况下,过度拟合会提供一个稍有不同但相似的问题:属于这种情况的系统通常是期望在学习时执行功能的系统。考虑一下当新数据提供给人类学习时,人们不仅坐在哪里。人类一直在与世界互动并生存。
您可能会争辩说,由于数据不断增加,最终结果会很好,但是在这段时间内需要使用已学到的知识!过度拟合将提供与情况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%的错误分类机会。对于外部观察者来说,这种错误分类是很奇怪的,但是在知道原始数据集被过度拟合的情况下可以解释。
对于原始数据集,过拟合算法是最好的,对于新数据集,通用(不是过拟合)算法最有可能是最好的。最后一句话从根本上描述了过拟合的含义。
在我的大学AI课程中,我们的讲师以与凯尔·黑尔(Kyle Hale)类似的方式举了一个例子:
一个女孩和她的母亲出去一起在丛林中散步,突然虎跳出灌木丛吞噬了她的母亲。第二天,她和父亲一起穿过丛林,老虎又从灌木丛中跳了出来。她的父亲对她大吼大叫,但她回答:“哦,爸爸,没关系,老虎只吃母亲。”
但另一方面:
一个女孩和她的母亲出去一起在丛林中散步,突然虎跳出灌木丛吞噬了她的母亲。第二天,父亲发现她在房间里畏缩,问她为什么不和朋友一起玩。她回答:“不!如果我走到老虎外面,肯定会吃掉我!”
过拟合和欠拟合都可能是不好的,但是我要说的是,这取决于您要解决的问题的背景,哪一个让您更担心。
我实际遇到的是这样的事情。首先,我测量一些我期望输入输出比大致呈线性的东西。这是我的原始数据:
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。看起来像这样:
好的,等式无疑可以几乎完美地预测输入数据,但是由于它过于适合输入数据,因此在执行任何其他操作时几乎没有用。
看一下这篇文章,它很好地解释了过度拟合和不足拟合。
http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html
本文研究了一个余弦函数的信号数据示例。过拟合模型预测信号将是稍微复杂的函数(也基于余弦函数)。但是,过拟合模型不是基于一般性而是基于信号数据中噪声的记忆来得出结论。
在现实生活中过度拟合:
白人看到黑人犯罪的新闻故事。白人看到黑人犯罪的另一则新闻故事。白人看到黑人犯罪的第三则新闻故事。白人看到有关白人穿着红色衬衫,富裕的父母和精神病史的新闻报导。白人得出的结论是,所有黑人都犯罪,只有穿着红色衬衫,富裕的父母和有精神病史的白人才犯罪。
如果您想了解这种过度拟合为什么“不好”,只需将上面的“ black”替换为某种或多或少唯一地定义您的属性。
您测试的任何数据都将具有您想要学习的属性,以及一些与您不希望学习无关的属性。
约翰11岁,
杰克19岁,
凯特31岁,
拉娜39岁
正确拟合:年龄大约是线性的,经过20岁左右。
过度拟合:两个人不能相隔10年(数据中的噪音属性)
拟合不足:所有人的1/4是19岁(定型)