过拟合 - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for 过拟合.

过拟合

维基百科,自由的百科全书

绿线代表过拟合模型,黑线代表正则化模型。虽然绿线完美的符合训练数据,但拟合得太过紧密或精确;并且与黑线相比,在新的测试数据上会有更高的错误率。
绿线代表过拟合模型,黑线代表正则化模型。虽然绿线完美的符合训练数据,但拟合得太过紧密或精确;并且与黑线相比,在新的测试数据上会有更高的错误率。

统计学中,过拟合(英语:overfitting,或称拟合过度)是指过于紧密或精确地匹配特定数据集,以致于无法良好地拟合其他数据或预测未来的观察结果的现象[1]过拟合模型指的是相较有限的数据而言,参数过多或者结构过于复杂的统计模型[2]发生过拟合时,模型的偏差小而方差大。过拟合的本质是训练算法从统计噪声中不自觉获取了信息并表达在了模型结构的参数当中。[3]:45相较用于训练的数据总量来说,一个模型只要结构足够复杂或参数足够多,就总是可以完美地适应数据的。过拟合一般可以视为违反奥卡姆剃刀原则。

与过拟合相对应的概念是欠拟合(英语:underfitting,或称:拟合不足);它是指相较于数据而言,模型参数过少或者模型结构过于简单,以至于无法捕捉到数据中的规律的现象。发生欠拟合时,模型的偏差大二方差小。

机器学习人工神经网络中,过拟合与欠拟合有时也被称为“过训练(英语:overtraining)”和“欠训练(英语:undertraining)”。

之所以存在过拟合的可能,是因为选择模型的标准和评价模型的标准是不一致的。举例来说,选择模型时往往是选取在训练数据上表现最好的模型;但评价模型时则是观察模型在训练过程中不可见数据上的表现。当模型尝试“记住”训练数据而非从训练数据中学习规律时,就可能发生过拟合。一般来说,当参数的自由度或模型结构的复杂度超过数据所包含信息内容时,拟合后的模型可能使用任意多的参数,这会降低或破坏模型泛化的能力。

在统计学习和机器学习中,为了避免或减轻过拟合现象,须要使用额外的技巧(如模型选择交叉验证提前停止正则化剪枝贝叶斯信息量准则赤池信息量准则dropout)。在treatment learning中,使用最小最佳支持值(英语:minimum best support value)来避免过拟合。[来源请求]这些方法大致可分为两类:1. 对模型的复杂度进行惩罚,从而避免产生过于复杂的模型;2. 在验证数据上测试模型的效果,从而模拟模型在实际工作环境的数据上的表现。

机器学习

监督学习(例如神经网络)中的过拟合/过训练。训练误差用蓝色表示,验证误差用红色表示。二者均为训练迭代次数的函数。若训练误差稳定下降,但验证误差上升,则说明可能出现过拟合。最佳模型应当是验证误差位于最低点时的模型。
监督学习(例如神经网络)中的过拟合/过训练。训练误差用蓝色表示,验证误差用红色表示。二者均为训练迭代次数的函数。若训练误差稳定下降,但验证误差上升,则说明可能出现过拟合。最佳模型应当是验证误差位于最低点时的模型。

机器学习模型的典型产出过程是由机器学习算法训练集上进行训练,希望得到的模型能够在训练过程中不可见的验证集上表现良好。过拟合现象发生在使用违反奥卡姆剃刀原则的模型或算法时:当引入相较数据集而言过多的参数时,或使用相较数据集而言过于复杂的模型时。

假设有一个训练集,其上帝真相 y 可以用一个二元线性函数很好地预测出来。显而易见,该函数只有3个参数:一个截距,两个斜率。将该函数替换成更为复杂的二次函数或更多元的线性函数的风险在于:奥卡姆剃刀表明,相较于给定的简单函数,任何给定的复杂函数的预测都更不可靠。[4]:358如果最终选择了复杂函数而非简单函数;并且在拟合训练数据时相较简单函数,复杂函数带来的收益没有抵消模型复杂度的增加,那么复杂函数就过拟合了数据。此时,尽管复杂函数在训练集上的表现与简单函数相同甚至更好,但在训练数据之外的验证数据上的表现,复杂函数可能会更糟糕。[5]

在确定模型复杂度时,简单地计算各模型中参数的数量是不可靠的,还需要考虑参数的表达方式。举例来说,直接比较带有 m 个参数的神经网络(它能够跟踪非线性关系)和带有 n 个参数的回归模型是非平凡的。[5]

过拟合尤其容易在训练迭代次数相对有限训练样本过多的时候。此时,模型会拟合训练数据中特征的随机噪声,而这些与目标函数英语Function_approximation之间并无因果关系。在这种过拟合的过程中,模型在训练样本上的效果会持续提升,但在训练中不可见的数据(通常是验证集)上的效果会变得更差。举个简单的例子:假设有一个数据集,其中包含了零售的物品、买家、购买日期、购买时间。人们很容易在这个数据集上构造模型,来根据购买日期和购买时间预测其他属性;但该模型在新数据上没有任何泛化性能,因为过去的时间再也不会出现了。

概括地说,机器学习算法在已知数据上很精确但在新数据上不精确的情形,可以称之为过拟合。人们可以这样在直觉上理解过拟合:“过去的经验可被分为两个部分:与将来有关的数据、与将来无关的数据(噪声)”。在其他条件都相同的情况下,预测的难度越大(不确定性越高),则过去信息中需要被当做噪声忽略的部分就越多。问题的难点在于,如何确定哪些数据应当被忽略。

能够避免拟合噪声的机器学习算法是健壮的算法。

后果

过拟合最显著的后果就是在验证集上的效果很差;其他后果罗列如下:[5]

  • 相较拟合恰当的模型而言,拟合过度的模型倾向于从验证集的每个样本中获取更多信息;收集这些不必要的信息可能代价是高昂的,或者具有错误倾向的。当这些信息需要人工观察或者标注时,这种代价尤其明显。
  • 拟合过度的复杂模型相较简单模型的可移植性更差。极端地说,一元线性回归模型可移植性非常好,甚至,但凡必要时,甚至可以用徒手进行计算。另一方面,极端复杂的模型只能在原始数据集上复现,这给模型的重用和理论研究的复现带来了困难。

扩展阅读

参考文献

  1. ^ OxfordDictionaries.com中overfitting的统计学定义。
  2. ^ Everitt B.S., Skrondal A. (2010), Cambridge Dictionary of Statistics, Cambridge University Press.
  3. ^ Burnham, K. P.; Anderson, D. R., Model Selection and Multimodel Inference 2nd, Springer-Verlag, 2002 . (This has over 44000 citations on Google Scholar.)
  4. ^ Francesco Pezzella, Mahvash Tavassoli, David Kerr. Oxford Textbook of Cancer Biology. Oxford University Press. 
  5. ^ 5.0 5.1 5.2 Hawkins, Douglas M. (2004), "The problem of overfitting", Journal of Chemical Information and Modeling, 44.1: 1–12.

外部链接

{{bottomLinkPreText}} {{bottomLinkText}}
过拟合
Listen to this article