过拟合 订阅
过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。 展开全文
过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。
信息
外文名
Overfitting
使用领域
人工智能/机器学习/数学
中文名
过拟合
过拟合概念
为了得到一致假设而使假设变得过度严格称为过拟合。给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。 [1]  一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。 [2]  例:如图所示为不同的分类方式(分类器) 可以看出在a中虽然完全的拟合了样本数据,但对于b中的测试数据分类准确度很差。而c虽然没有完全拟合样本数据,但在d中对于测试数据的分类准确度却很高。过拟合问题往往是由于训练数据少等原因造成的。
收起全文
精华内容
下载资源
问答
  • 过拟合

    千次阅读 2018-12-13 17:10:08
    - 机器学习中过拟合的概念 - 抑制过拟合的方法 过拟合 过拟合:模型过于复杂,在训练集上面的拟合效果非常好 甚至可以达到损失为0 但是在测试集的拟合效果很不好 欠拟合: 模型过于简单 在训练集和测试集的...

    index:

    - 机器学习中过拟合的概念
    - 抑制过拟合的方法


    过拟合

    过拟合:模型过于复杂,在训练集上面的拟合效果非常好 甚至可以达到损失为0  但是在测试集的拟合效果很不好

    欠拟合: 模型过于简单 在训练集和测试集的拟合的效果都不好

    例: sin曲线拟合 

    数据产生模型是由sin函数和噪声组成的。 这个随机生成的噪声满足正太分布 均值为0  方差:0.003的平方

    使用模型生成10个数据点 绿色代表函数 sin函数

    关于多项式拟合:

    当j=0时即用0阶多项式进行拟合 拟合的函数 是一条y=W0的直线

    当j=1时即用1阶多项式进行拟合 拟合的函数 是y=W1x+W0 是一条有斜率 有截距的一次函数 形状是一条直线

    当j=2时即用2阶多项式进行拟合 拟合的函数 是y=W2x²+ W1x+W0 是一条抛物线 

    以此类推 不同阶级的多项式拟合函数

    下图为不同阶级的多项式拟合sin函数的图像:

    由上图可以看出: 0阶多项式 和 1阶多项式 模型过于简单不能 拟合出sin函数的形状 这种现象叫做欠拟合

                                  3阶多项式 刚好拟合出sin函数的图像  这样的拟合效果是理想中的效果

                                  9阶多项式 模型过于复杂 虽然把图中所有的数据点都记住了  但是模型自身波动很大 对于新的数据不能有好的预测效果 这种现象叫过拟合。

    也可以通过训练误差和预测误差的角度来分析模型的拟合程度:

    误差计算公式:

     注:公式中 开根号 是为了把数值 放在 与 y相同的量级上。

    不同阶级的多项式函数在训练集和测试集上面的拟合效果

     从上图可以看出:

    从0到3 模型过于简单 训练集和测试集拟合的效果都不好 

    从3到8 : 3点模型达到了 拟合的效果 从3 往后 模型变的更加复杂 但是对于拟合的效果没有更好的提升  这块模型复杂度提升是不必要的 反而增加了 计算的复杂度 和 内存的占用。

    从8到9 :模型更加复杂 完全拟合训练数据 但是在预测数据上面的预测误差大幅度的加大  这样的模型不能在新的数据上面有很好的预测效果 属于过拟合现象 

    评价模型性能的不应该在 在训练集的学习的效果上 而应该在新的数据(测试集)上的 预测能力

    这个叫 模型的泛化能力 也叫推广性

    不同拟合效果的参数

     可以看到过拟合模型的参数 数值上是很大的,在图像上面显示就是即使x小幅度的变化 在预测残差上面 也会波动很大。


    抑制过拟合的方法

     1增加训练的样本数量

    2在损失函数上面添加正则项

    3改变数据生成模型的噪声生成的方差

    在目标函数中增加正则

    在给定有限训练样本数目时,可通过在目标函数中增加正则项减弱过
    拟合现象

    给定N = 10个样本点,目标函数中增加L2正则项,得到岭回归
    (Ridge Regression)

     岭回归系数(正则项系数):

    • λ越大,回归系数(绝对值/平方)越小,模型越简单。

     不同正则参数对应岭回归的训练误差 vs. 测试误差

     

    λ越大,对模型复杂度惩罚越多,模型越简单,越不容易过拟合。 

    常用正则项

    j是从1开始计算的,因为j=0时 W0对应的是截距项 正则项不对截距项进行惩罚。

    还有一个正则是L0正则  他可以是一部分参数w 数值为0 从而起到 特征选择的效果

    但是L0正则是一个np难问题 我们一般不使用L0正则

    L1正则是L0正则在数学上的最优凸优化 因此L1正则 有着 和L0 相似的效果 即把部分参数压制到接近0 的效果。

    还有一种减弱过拟合的另一种方法是减少数据的噪声。就是减小生成的数据的波动大小

     

     一般情况下 生成数据的函数是固定的 

    样本的数量也可能是固定的

    我们最常用的抑制过拟合的方法就是添加正则项

    展开全文
  • 什么是过拟合过拟合也就是泛化能力差。 怎么判断是不是过拟合? 训练时准确率高,验证时准确率低。 过拟合产生的原因: 1.神经网络的学习能力过强,复杂度过高。 2.训练时间太久。 3.激活函数不合适。 4....

    什么是过拟合?

    过拟合也就是泛化能力差

    怎么判断是不是过拟合?

    训练时准确率高,验证时准确率低。

    过拟合产生的原因:

    1.神经网络的学习能力过强,复杂度过高
    2.训练时间太久
    3.激活函数不合适
    4.数据量太少

    解决办法:

    1.降低模型复杂度,dropout
    2.即时停止
    3.正则化
    4.数据增强

    展开全文
  • 过拟合和欠拟合的形象解释

    万次阅读 多人点赞 2019-03-19 10:39:03
    今天突然被以前同学人问到什么是机器学习中的’过拟合‘? “过拟合就是训练的时候效果很好损失函数值可以降得很低,但是到测试数据集的时候表现就不那么好了,就是过分依赖于现有训练数据集的特征造成的,可以加大...

    今天突然被以前同学人问到机器学习中的’过拟合‘和‘欠拟合’是什么意思呢?

    “过拟合就是训练的时候效果很好,损失函数值可以降得很低,但是到测试数据集的时候表现就不那么好了,原因是过分依赖于现有训练数据集的特征造成的,解决方法是可以加大数据集来进行训练。比如在图像领域可以通过拉伸旋转变换剪裁等等方式来增加训练数据集然后通过Dropout随机清零参数来避免.......“。巴拉巴拉讲了一堆,虽然我很想解释明白,但是.......总感觉有苦说不出的憋屈,最后:

    这让我意识到我可能太过于沉浸于自己的世界了,没有考虑到别人的感受,我回来后寻思着不对,对于没有接触过机器学习这一块的人来说很多名词可能就听不太懂,我不能用太多的专业词,我要用最直白的语言解释,于是产生了这篇博客。

     

    --------------------以下进行正经的解释----------------------

    拟合(Fitting):就是说这个曲线能不能很好的描述某些样本,并且有比较好的泛化能力。

    过拟合(Overfitting):就是太过贴近于训练数据的特征了,在训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表现平平,不具泛化性,拿到新样本后没有办法去准确的判断。

    下面给一个代码中实际的运行结果感受一下:

    欠拟合(UnderFitting):测试样本的特性没有学到,或者是模型过于简单无法拟合或区分样本。

     

    直观解释:

     

     

    解决过拟合的方法:增大数据量,正则化(L1,L2),丢弃法Dropout(把其中的一些神经元去掉只用部分神经元去构建神经网络)

    解决欠拟合的方法:优化模型,一般是模型过于简单无法描述样本的特性。

     

    -----------------------------------正经解释完毕,以下是非正经解释----------------------------------

    就好比你喜欢一个女生,这个女生有着自己的习性,为了追到这个女生我们经常会去迎合这个女生的习性。比如喝温水有固定的温度、挂电话只能她先挂、出去逛街不能哔哔太累、看书只能用书签不能折页........,这个就是我们学到的‘经验’。但是!万一也许可能这个女生某一天觉得你没有足够关心她每天都忙于自己的事情就和你分手啦.....

     

    然后,当你再找女朋友时,你拿出这些 ‘经验’ 但是好像发现效果并不好,因为每个女生的习性和喜好都不一样,所以你就陷入过拟合。

    怎么解决过拟合呢?那就是多交几个女朋友(增大训练数据量)啦!多了解一些不同女生的习性和喜好,当你已经把全世界所有女生的习性和喜好都学过之后,还有你追不到的女朋友吗? 但是,现实很残酷的,哪有那么多女朋友来供你学习的,你还可以选择丢弃法(Dropout),就是选择性的学习女朋友的喜好和习性,这样就会有概率学不到只属于她“个人癖好”的部分,你学到的就会更加具有普适性。

     

    如何解释欠拟合...,那就简单了,就是你第一个女朋友都没追到,她的习性和喜好你还没能完全掌握。

    那么怎么解决欠拟合呢?那就只能提升你自己的人格魅力了(模型复杂度),这个我也没什么资格指点,毕竟我也是凭实力单身多年,想必在座的各位应该都比我厉害。

     

    完美拟合,当你在追第一个女朋友的时候,你自身有一定的人格魅力(模型复杂度),并且并没有完全去迎合她的习性,毕竟存在 ‘个人癖好’ 这个‘错误’习性,你学到的是有泛化性的女生习性特征,当你用这些特征再去追女生的时候,成功率就很高了!

     

    展开全文
  • 过拟合和欠拟合

    万次阅读 多人点赞 2018-10-06 10:23:35
    开始我是很难弄懂什么是过拟合,什么是欠拟合以及造成两者的各自原因以及相应的解决办法,学习了一段时间机器学习和深度学习后,分享下自己的观点,方便初学者能很好很形象地理解上面的问题。 无论在机器学习还是...

    开始我是很难弄懂什么是过拟合,什么是欠拟合以及造成两者的各自原因以及相应的解决办法,学习了一段时间机器学习和深度学习后,分享下自己的观点,方便初学者能很好很形象地理解上面的问题。

    无论在机器学习还是深度学习建模当中都可能会遇到两种最常见结果,一种叫过拟合(over-fitting )另外一种叫欠拟合(under-fitting)。

    首先谈谈什么是过拟合呢?什么又是欠拟合呢?网上很直接的图片理解如下:

    所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。过拟合就是学到了很多没必要的特征,比如你说的长得像猫的狗,和长得像狗的猫,其实这只是特例,但神经网络为了更好的降低Loss,就只能被迫学习这些特征用来区分猫和狗。但是学习的太过了,(举个例子:一个男人穿着蓝色的衣服,神经网络可能把是否穿蓝色衣服作为区分男人女人的特征,这就是过拟合)遇到了新样本这些错误的特征就没有什么用了。所以过拟合就是表现为训练的时候效果很好(因为神经网络已经学到了很多有用没用的特征),但是在测试样本上的效果就很差(有的特征完全没用啊,完全就是为了降低loss而得出来的特征)。至于为什么会产生过拟合,一般是因为参数过多,为了降低loss(神经网络的任务就是为了最小化loss),后者样本过少。总之就是参数/样本的比太大。

    所谓欠拟合呢(under-fitting)?相对过拟合欠拟合还是比较容易理解。还是拿刚才的模型来说,可能训练样本被提取的特征比较少,导致训练出来的模型不能很好地匹配,表现得很差,甚至样本本身都无法高效的识别。

    那么问题来了,我们需要怎么去解决过拟合和欠拟合的问题呢??

    现在常用的判断方法是从训练集中随机选一部分作为一个验证集,采用K折交叉验证的方式,用训练集训练的同时在验证集上测试算法效果。在缺少有效预防欠拟合和过拟合措施的情况下,随着模型拟合能力的增强,错误率在训练集上逐渐减小,而在验证集上先减小后增大;当两者的误差率都较大时,处于欠拟合状态(high bias, low variance);当验证集误差率达到最低点时,说明拟合效果最好,由最低点增大时,处与过拟合状态(high variance, low bias)。下图的横坐标用拟合函数多项式的阶数笼统地表征模型拟合能力:
    这里写图片描述

    过拟合:

    首先我们从上面我们可以知道,造成过拟合的原因有可以归结为:参数过多。那么我们需要做的事情就是减少参数,这里有两种办法:

    1、回想下我们的模型,假如我们采用梯度下降算法将模型中的损失函数不断减少,那么最终我们会在一定范围内求出最优解,最后损失函数不断趋近0。那么我们可以在所定义的损失函数后面加入一项永不为0的部分,那么最后经过不断优化损失函数还是会存在。其实这就是所谓的“正则化”。

    下面这张图片就是加入了正则化(regulation)之后的损失函数。这里m是样本数目,λ表示的是正则化系数。

    注意:当 λ 过大时,则会导致后面部分权重比加大,那么最终损失函数过大,从而导致欠拟合

       当 λ 过小时,甚至为0,导致过拟合。

    2、对于神经网络,参数膨胀原因可能是因为随着网路深度的增加,同时参数也不断增加,并且增加速度、规模都很大。那么可以采取减少神经网络规模(深度)的方法。也可以用一种叫dropout的方法。dropout的思想是当一组参数经过某一层神经元的时候,去掉这一层上的一部分神经元,让参数只经过一部分神经元进行计算。注意这里的去掉并不是真正意义上的去除,只是让参数不经过一部分神经元计算而已。

    3.提前停止训练: 
    也就是减少训练的迭代次数。从上面的误差率曲线图可以看出,理论上能够找到一个训练程度,此时验证集误差率最低,视为拟合效果最好的点。

    另外增大训练样本规模同样也可以防止过拟合。

    欠拟合:

    其实个人觉得欠拟合基本上都会发生在训练刚开始的时候,经过不断训练之后欠拟合应该不怎么考虑了。。但是如果真的还是存在的话,可以通过增加网络复杂度或者在模型中增加多点特征点,这些都是很好解决欠拟合的方法。

    另外针对正则化,可以参考正则化,希望这篇文章对你用,也可以参考如下地址https://www.zhihu.com/question/20924039

    展开全文
  • 过拟合、欠拟合

    2021-01-20 11:19:33
    过拟合和欠拟合 训练误差和泛化误差 训练误差,模型在训练集合上表现的误差。 泛化误差 ,模型在任意一个数据集上表现出来的误差的期望。 过拟合,模型训练误差远小于在测试集上的误差。 欠拟合 ,模型无法在训练集...
  • 过拟合与欠拟合

    2021-01-06 20:09:12
    模型选择、过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在...
  • 过拟合以及如何防止过拟合

    千次阅读 2019-02-22 21:20:43
    什么是过拟合 过拟合即模型在训练过程中对模型参数进行拟合的过程中,由于训练数据集存在抽样误差(噪声),复杂的模型在训练的过程中会将抽样误差也一同进行拟合。这就导致训练好的模型在训练集上的表现很好,在...
  • 机器学习:什么是欠拟合和过拟合

    万次阅读 多人点赞 2019-07-27 11:25:32
    1. 什么是欠拟合和过拟合 先看三张图片,这三张图片是线性回归模型 拟合的函数和训练集的关系 第一张图片拟合的函数和训练集误差较大,我们称这种情况为欠拟合 第二张图片拟合的函数和训练集误差较小,我们称这种...
  • 一类是欠拟合,另一类是过拟合. 1.欠拟合 模型无法得到较低的训练误差,将这一现象成为欠拟合. 2.过拟合 模型的训练误差远小于它在测试集上的误差,称这一现象为过拟合. 可能导致这两种拟合问题的因素有很多,比如...
  • task03过拟合、欠拟合

    2021-01-06 17:23:41
    过拟合、欠拟合及其解决方案 过拟合、欠拟合的概念 权重衰减 丢弃法 模型选择、过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)...
  • 过拟合得问题指的是模型在测试集上的结果不好,训练误差较低但是泛化误差依然较高,二者相差较大。 解决过拟合得问题通常可以通过增加数据量,另外还可以用正则化的方法。 正则化 L2范数正则化 通常指得是L2范数正则...
  • 过拟合与欠拟合.pdf

    2021-09-21 08:57:49
    过拟合与欠拟合.pdf
  • Pytorch之欠拟合和过拟合 ​  首先,我们需要区分训练误差( training error)和泛化误差( generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意⼀个测试数据样本上...
  • 防止过拟合以及解决过拟合

    千次阅读 2016-03-03 11:16:44
    过拟合为了得到一致假设而使假设变得过度复杂称为过拟合。 “一个过配的模型试图连误差(噪音)都去解释(而实际上噪音又是不需要解释的),导致泛化能力比较差,显然就过犹不及了。” 这句话很好的诠释了过拟合...
  • 过拟合、欠拟合及其解决方案模型选择、过拟合和欠拟合训练误差和泛化误差模型选择验证数据集K折交叉验证过拟合和欠拟合模型复杂度训练数据集大小多项式函数拟合实验初始化模型参数定义、训练和测试模型三阶多项式...
  • 拟合不足与过拟合

    2020-04-21 10:25:22
    拟合不足 ...过拟合指训练误差较小,但测试集误差较大,即模型的泛化能力差,对未知样本预测误差较大,形成过拟合。 形成过拟合的原因有: 缺乏代表性样本 训练集样本规模过小 模型的复杂度过高 ...
  • 过拟合欠拟合及其解决方案 模型在训练数据集上准确,测试数据集上不一定更准确 训练误差和泛化误差 训练误差:模型在训练数据集上表现出的误差。 泛化误差:模型在任意一个测试数据样本上表现出的误差的期望。常常...
  • 过拟合处理方法

    2021-01-06 22:02:51
    过拟合处理方法 – 增加数据集 这是我用三阶函数拟合,但是只给定两个数据训练。可以看出来拟合不好,特点是train的loss能降下去,但是test效果不好。解决方法之一是增加数据集 我将数据集增加到4个: 效果好了...
  • 过拟合、欠拟合及其解决方案,内容: 1. 过拟合、欠拟合的概念 2. 权重衰减 3. 丢弃法 总结 欠拟合现象:模型无法达到一个较低的误差 过拟合现象:训练误差较低但是泛化误差依然较高,二者相差较大
  • 过拟合和欠拟合 我们将探究模型训练中经常出现的两类典型问题: 一类是模型无法得到较低的训练误差,我们将这一现象称作欠拟合(underfitting); 另一类是模型的训练误差远小于它在测试数据集上的误差,我们称该...
  • 之前发过一篇关于过拟合,欠拟合和完美拟合的简单理解,这次在简单理解的基础上,加了一些数据层面的理解。 过拟合,欠拟合和完美拟合的简单理解 过拟合和欠拟合的数据层理解 ...
  • 欠拟合与过拟合

    2018-11-16 21:59:10
    欠拟合与过拟合的区别 欠拟合是指模型在训练集、验证集和测试集上均表现不佳的情况 过拟合是指模型在训练集上表现很好,到了验证和测试阶段就大不如意了,即模型的泛化能力很差 欠拟合和过拟合一直是机器学习训练...
  • 欠拟合、过拟合——解决方法

    万次阅读 2019-01-19 22:11:11
    在机器学习或者深度神经网络中经常会出现:欠拟合和过拟合。 这些问题的出现原因以及解决之道如下文。 1.3 判断是否过拟合 判断究模型否过拟合方法: 1.4 过拟合原因 (1)建模样本抽取错误,...
  • 过拟合和欠拟合就是用来描述泛化误差的。 欠拟合可以理解为对训练数据的信息提取不充分,没有学习到数据背后的规律,导致模型应用在测试集上时,无法做出正确的判断。 过拟合可以理解为对训练数据的信息提取过多,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 147,379
精华内容 58,951
关键字:

过拟合