过度拟合(overfitting)

我们之前解决过一个理论问题:机器学习能不能起作用?现在来解决另一个理论问题:过度拟合。

正如之前我们看到的,很多时候我们必须进行nonlinear transform。但是我们又无法确定Q的值。Q过小,那么Ein会很大;Q过大,就会出现过度拟合问题。如下图所示:

那么overfitting具体受什么因素影响呢?

现在我们又两个例子:

第一个例子的数据来源是:一个10-th的目标函数+noise;第二个例子的数据来源是:一个50-th的目标函数。现在我们用2-th函数(H2)和10-th函数(H10)分别对两个例子进行拟合。我们来预测一下结果。

我认为:对于这两个例子来说,H10效果会更好。因为无论是对于第一个例子还是第二个例子,从阶数上来说,H10都不存在overfitting问题。

下面是真正的结果:

我们可以看出,对于两个例子,都是H2效果最好

通过这个违反直觉的例子,我们可以一窥overfitting的端倪。

通过这个学习曲线,我们可以看出,H10可以结果很好,但是是建立在N足够大的基础上;如果N很小的话,还是H2的结果好

补充一点:对于第二个例子,明明没有noise,为什么H10表现的不如H2呢?

因为50-th的复杂度太高,H10和H2都无法准确地拟合。此时目标函数的复杂度对于H2和H10来说,就相当于noise

我们现在认为数据点数N、noise、还有目标函数的complexity level(阶数)Q都会影响overfitting

下面进行详细说明。

从这个目标函数中,产生数据,然后用H2和H10去拟合。什么时候我们说会发生过度拟合呢?当使用H10得到的Eout大于使用H2得到的Eout,则必然发生了过度拟合,也即:overfit measure:Eout(g10)-Eout(g2)。

对于第一幅图,Q=20。我们可以很容易看到:1)N越小,noise越大,越容易发生过度拟合。2)当N很小的时候(此处为N<80),必然会发生过度拟合;3)当N很大,noise越大,越容易发生过度拟合。  N起到决定性作用。

对于第二幅图,noise固定。我们可以很容易看到:1)N约小,Q越大,越容易发生过度拟合;2)当N很小的时候,几乎必然会发生过度拟合;

第一幅图和第二幅图有所不同:1)对于左下方那一块红色区域,因为目标函数阶数足够小的时候,肯定会发生过度拟合。然而为什么随着N增加,反而不会有过度拟合了呢?2)当阶数够大,N很小的时候,就会发生过度拟合,但是一旦N足够大(此处N>100),就不会发生过度拟合了;

我们把noise成为stochastic noise,把Q成为deterministic noise。

overfitting的几个影响因素,N(最重要),noise,Q。

如何解决overfitting问题呢?

我们把overfitting比作出了一起车祸,出车祸的原因可能是:开的太快了、路上有很多坑、路上的标识太少。与此对应的overfitting原因是:dvc太大(Q太大)、noise太多、数据量太少。

怎么避免“这起车祸”呢?可以开得慢一点,避开路面上的坑坑洼洼、或者是多获取一些路面标识。亦或者踩刹车、多看看仪表盘

开的慢一点:从simple model开始;

避开路面坑坑洼洼:data cleaning:修正有noise的数据;data pruning:删除有noise的数据。

多获取路面标识:获取更多的数据(有可能无法实现);或者采用Data Hinting技术;

踩刹车:regularization;

看仪表盘:validation

后两个之后会详细讲述。

时间: 2024-08-06 11:54:00

过度拟合(overfitting)的相关文章

overfitting(过度拟合)的概念

来自:http://blog.csdn.net/fengzhe0411/article/details/7165549 最近几天在看模式识别方面的资料,多次遇到“overfitting”这个概念,最终觉得以下解释比较容易接受,就拿出来分享下. overfittingt是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好的拟合数据.此时我们就叫这个假设出现了overfitting的现象.出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少.而

23-过犹不及:正则化方法防止过度拟合

有时我想:如果我能复制好几份,每个自己都活在不同的平行宇宙多好.人都有永恒不朽的愿望,也有尽善尽美的追求.我们的征途是星辰大海,然而现实中常在泥潭里打滚--想起了一个笑话:Arguing with an Engineer is a lot like wrestling in the mud with a pig, after a couple of hours your realize the pig likes it.很好的自我写照.现实让人焦头烂额,但一味地苛求自己并不是办法,往往还会事倍功

机器学习--过度拟合

过度拟合(overfitting)是指数据模型在训练集里表现非常满意,但是一旦应用到真实业务实践时,效果大打折扣:换成学术化语言描述,就是模型对样本数据拟合非常好,但是对于样本数据外的应用数据,拟合效果非常差.在我们数据分析挖掘业务实践中,就是"模型搭建时表现看上去非常好,但是应用到具体业务实践时,模型效果显著下降,包括准确率.精度.效果等等显著下降". 过拟合的第一个原因,就是建模样本抽取错误,包括(但不限于)样本数量太少,抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点,等等

过度拟合问题

Underfitting (欠拟合) Overfitting (过拟合) 解决拟合的方法 线性回归正则化 欠拟合/高偏差(high bias) 过拟合/高方差(high variance) 过拟合与欠拟合也可以用 Bias 与 Variance 的角度来解释,欠拟合会导致高 Bias ,过拟合会导致高 Variance ,所以模型需要在 Bias 与 Variance 之间做出一个权衡. 特征过多但是训练集很小,就和容易出现过度拟合的问题. 过拟合的缺点就是不能够很好地泛化到新样本. 解决欠拟合

避免过度拟合之正则化(转)

避免过度拟合之正则化 “越少的假设,越好的结果” 商业情景: 当我们选择一种模式去拟合数据时,过度拟合是常见问题.一般化的模型往往能够避免过度拟合,但在有些情况下需要手动降低模型的复杂度,缩减模型相关属性. 让我们来考虑这样一个模型.在课堂中有10个学生.我们试图通过他们过去的成绩预测他们未来的成绩.共有5个男生和5个女生.女生的平均成绩为60而男生的平均成绩为80.全部学生的平均成绩为70. 现在有如下几种预测方法: 1 用70分作为全班成绩的预测 2 预测男生的成绩为80分,而女生的成绩为6

避免过度拟合之正则化

避免过度拟合之正则化 “越少的假设,越好的结果” 商业情景: 当我们选择一种模式去拟合数据时,过度拟合是常见问题.一般化的模型往往能够避免过度拟合,但在有些情况下需要手动降低模型的复杂度,缩减模型相关属性. 让我们来考虑这样一个模型.在课堂中有10个学生.我们试图通过他们过去的成绩预测他们未来的成绩.共有5个男生和5个女生.女生的平均成绩为60而男生的平均成绩为80.全部学生的平均成绩为70. 现在有如下几种预测方法: 1 用70分作为全班成绩的预测 2 预测男生的成绩为80分,而女生的成绩为6

Machine Learning — 关于过度拟合(Overfitting)

机器学习是在模型空间中选择最优模型的过程,所谓最优模型,及可以很好地拟合已有数据集,并且正确预测未知数据. 那么如何评价一个模型的优劣的,用代价函数(Cost function)来度量预测错误的程度.代价函数有很多中,在Ng的视频中,Linear Regression用的是平方代价函数: Logistic Regression 用的是对数似然代价函数: 对于给定的含m个样本的数据集,其平均损失称为经验风险. 损失函数越小,模型就越好. 我们来分析那个房价预测问题,假设房价面积A,楼层L,房间数N

AI - 过拟合 overfitting

Reference How to prevent the overfitting What is the overfitting Overfitting definition Diagram The reason of the overfiting The data is limited Model is too complicated How to avoid the overfitting Argument data Increase the data during the training

过度拟合(overfilting)

过拟合概念:是指分类器能够百分之百的正确分类样本数据(训练集中的样本数据),对训练集以外的数据却不能够正确分类. 原因:1:模型(算法)太过复杂,比如神经网络,算法太过精细复杂,规则太过严格,以至于任何与样本数据稍有不同的文档它全都认为不属于这个类别,即在训练样本中拟合的很好,在训练样本外拟合的很差,过拟合最早就是从神经网络中发现出来的.策略树深度过深.回归参数过多,都会造成过拟合. 2:训练集中存在噪音,为了拟合异常点,偏离了正常分布. 3:训练集太小或不具有代表性 训练集与测试集互不相交,前