当前位置:六合彩全年资料香港高手论坛 > 曲线拟合 >

「过度拟合」为什么总是被误用?你需要一篇更直观的说明

  关于过度拟合(overfitting)的概念,业内人士观点各异。它似乎是一种流传甚广的说法,在数据科学甚至相关领域中传播着这样一种坊间说法,具体表述如下:

  应用交叉验证可防止过度拟合和良好的样本外性能、未知数据中的泛化误差低,从而表明没有过度拟合。

  这种说法当然是不对的:交叉验证并不能阻止你的模型过度拟合,而且良好的样本外性能也不能保证一个没有过度拟合的模型。实际上,人们在这个论述中经常提到的一个角度叫做过度训练(overtraining)。不幸的是,这个说法不仅在业界内传播,还在一些学术论文中广泛流传。这可能是术语上的混淆。但是,如果我们在交流实验成果时,能把术语说得正确,并清楚地说明我们所说的“过度拟合”指代的是什么的话,这将是一种很好的做法。

  目标:针对这一目标,在本文中我们将给出一种直观的说明:为什么模型验证作为模型拟合的泛化误差和过度拟合的检测不能在单个模型上同时解决。在对其基本概念做简要介绍后,我们将在具体的示例工作流中了解过拟合、过度训练和典型的最终模型构建阶段。我们将避免提及贝叶斯解释和正则化,会在回归和交叉验证中展开讨论。正则化由于其数学属性而具有不同的分支,且先验分布对贝叶斯统计具有不同的影响。

  贝叶斯大师安德鲁•格尔曼(Andrew Gelman)最近提出的一个关于“什么是过度拟合”的问题。当我看到业内人士对过度拟合的概念混淆不分,且在最近持续发表的数据科学相关的技术文章中,甚至在一些学术论文中都在宣称上述说法,我感到非常的沮丧,而这也是本文发表的原因之一。

  在监督学习中我们需要满足什么条件?在数学中,最基本的任务之一就是找到一个函数的解:如果我们将自己限制在$n$维的实数范围内,并且我们兴趣域将是$\mathbb{R}^{n}$。现在想象一下,定义域$x_{i}$中的$p$点集形成一个数据集,这实际上是一个函数的部分解。建模的主要目的是找到对数据集的解释,这意味着我们需要确定未知的$m$参数,$a \in \mathbb{R}^{m}$。(请注意,非参数模型并不意味着没有参数。)从数学上讲,这其实是一个函数,如前所述,$f(x, a)$。这种建模通常称为回归、插值或监督学习,当然具体是哪种取决于你所阅读的文献。这是一个逆问题的形式,虽然我们不知道参数,但我们有关于变量的部分信息。这里的主要问题是非适定性(ill-posedness),即意味着解决方案不是很好。省略公理技术细节,实际问题是我们可以找到许多$f(x, a)$ 函数或模型,来解释数据集。因此,我们寻求以下两个概念,以满足我们的模型解决方案,$f(x, a)=0$。

  模型的泛化可以通过拟合优度(Goodness of Fit)来衡量。它本质上告诉我们所选择的模型(所选函数)解释数据集的性能好坏。要找到最小复杂性的模型,就需要与另一个模型进行比较。

  到目前为止,我们还没有指定一种技术方法来检查一个模型是否能够被泛化和挑选为最佳模型。不幸的是,没有一种独特的方法能够做到这两件事,这是一项需要数据科学家或行业从业者的任务:需要人为判断。

  模型验证:一种检查模型是否被泛化的示例方法是给出一个度量:一个它对数据集解释性能好坏的度量。我们在模型验证中的任务是评估模型误差。例如,均方根误差(RMDS)是我们可以使用的一个度量。如果RMSD很低,可以说我们的模型拟合是好的,理想情况下应该接近于零。但是,如果我们使用相同的数据集来测量拟合优度,那么它就不能进行良好的泛化。我们可以使用不同的数据集,特别是样本外数据集,尽可能地验证这一点,例如,所谓的“hold out method”。外样本是一种很奇特的方法,可以保证我们没有使用相同的数据集来找到 $a$的参数值。一种改进的方法是交叉验证。我们将数据集分成$k$个分区,我们获得$k$个RMDS的值,以进行平均分配。这在图1中可以进行总结。请注意,同一模型的不同参数化并不构成一个不同的模型。

  模型选择:当我们试图满足“最小复杂性模型”的时候,对过度拟合的检测就发挥了作用。这是一个比较问题,而且我们需要一个以上的模型来判断一个给定的模型是否过度拟合。道格拉斯•霍金斯(Douglas Hawkins)在他的经典论文《过度拟合问题》中指出:

  模型的过度拟合一个公认的关注点。可是几乎没有人意识到过度拟合不是绝对的,而是需要进行比较的。如果一个模型比另一个具有同样拟合度的模型更为复杂的话,那么该模型就是过度拟合的。

  其中很重要的一点是,我们对复杂模型的定义是什么?还是我们该如何量化模型的复杂性?不幸的是,同样,没有唯一的方法可以做到。最常用的方法之一是一个模型具有的参数越多它就越复杂。但这只是一种说法,而不是公认的事实。实际上,我们可以采用不同的复杂性度量方法。例如,根据定义来讲,由于$f_{1}(a,x)=ax$和 $f_{2}(a,x)=ax^2$具有相同数量的自由参数,因而具有相同的复杂性,但直观地看,$f_{2}$更复杂,因为它是非线性的。其实有很多基于信息理论的复杂度衡量标准,但是对这些措施的讨论超出了本文的主旨范围。为了演示的目的,我们认为一个具有更多的参数和非线性度的模型是一个更为复杂的模型。

  举例说明:我们直观地解释了为什么我们不能同时解决模型验证和判断过度拟合的原因。现在尝试用简单的数据集和模型来证明这一点,但是实质上是包含上述前提的。

  通常的过程是从模型中生成合成数据集或模拟数据集,使其作为黄金标准,并使用此数据集构建其他模型。我们使用以下函数形式,根据Bishop的经典文本,但要加上高斯噪声$$ f(x) = sin(2\pi x) + \mathcal{N}(0,0.1) $$。我们生成一个包含100个点的足够大的集合,以避免在Bishop的书中讨论所遇到的样本大小问题,见下图2所示。我们要决定该使用哪两个模型,它们要用于监督学习任务中的数据集。请注意,我们不会在此处讨论贝叶斯解释,因此在强先验假设下,这些模型的等价性不是问题,因为我们使用这个例子可以轻松解释这个概念。$3$ 和 $5$多项式模型,我们称之为$g(x)$ 和 $h(x)$,它们分别用于从模拟数据中学习。$$g(x) = a_{0} + a_{1} x + a_{2} x^{2} + a_{3} x^{3}$$ 和 $$h(x) = b_{0} + b_{1} x + b_{2} x^{2} + b_{3} x^{3} + b_{4} x^{4} + b_{5} x^{5} + b_{6} x^{6}.$$。

  过度训练不是过度拟合:过度训练意味着在学习模型参数时,模型性能会降低从而影响模型构建的客观变量。例如,客观变量可以是神经网络中的训练数据大小或迭代周期。而这在神经网络中更为普遍(见Dayhoff 2011)。在我们的实际例子中,这将表明在使用g(x)建模时测量RMSD的方法。换句话说,找到最佳数量的数据点来训练模型,以便在未见数据上给出更好的性能,参见图3和图4。

  过度拟合具有很低的验证误差:我们还可以评估10折交叉验证(10-fold cross-validation)误差,CV-RMSD。对于该采样,g和h分别具有0.13和0.12CV-RMSD。因此,正如我们所看到的那样,会出现这样一种情况,更为复杂的模型通过交叉验证能达到类似的预测能力,因此我们无法通过查看cv-rmsd值或从图4中检测“过度训练”曲线来区分这一过度拟合。我们需要对两个模型进行比较,因此图3和图4都使用了cv-rmsd值。

  我们可能会认为,在小数据集中,我们可以通过查看测试和训练误差的偏差来辨别差异,这正是Bishop解释之所以出现过度拟合的原因:他指出在小数据集中出现过度训练。

  哪些已训练模型可以部署?现在的问题是,根据经验,我们找到了具有最小复杂性的最佳性能表现模型。但我们应该在生产中使用哪些已训练的模型呢?

  实际上,我们已经在模型选择中创建了模型。在上述情况下,因为我们从g和h中得到了类似的预测能力,我们显然将使用g,它已在图3中的分裂点中训练过。

  结论:这里的基本信息是较差的验证性能不能保证过度拟合模型的检测。正如我们在一维中使用合成数据的例子所看到的,过度训练实际上是大多数从业者在使用术语过度拟合时的意思。

  展望:随着越来越多的人使用机器学习技术或逆问题,无论是在学术界还是产业界,一些关键的技术概念都会偏离一点,对不同的人来说有不同的定义和意义,因为人们学习一些技术概念不是通过仔细阅读文献,而是从他们的上级经理或资深同事的口头中得知。这造成了实际上错误的方式,或至少在术语中造成了许多混乱。

  对于我们所有人来说,我们必须质疑所有的技术概念,并尝试从已发表的科学文献中寻求起源,而不是完全依靠经验丰富的同事的口头解释,这对我们所有人来说都是非常重要的。此外,我们应该强烈地避免嘲笑同事提出的问题,即使这些问题听起来太简单,最后我们不要停止学习,天真的问题可能会对该领域的基本原理产生非常重要的后果。

  用于生成合成数据、建模步骤和可视化结果的代码可以在github [repo]()中找到。 在本附录中,我们提供了具有详细注释的R代码,但省略了可视化代码,它们在github存储库中可用。

  R(GNU S)提供非常强大的公式界面。它可能是统计计算中最先进和最具表现力的公式界面。

  并且所得到的近似函数可以应用于具有以下辅助函数的新数据集,其中测量RMSD作为性能度量。

  为了检测过度训练,我们可以在增加训练大小的情况下将数据分割到不同的位置,并且测量训练数据自身和不可见测试数据的性能。

http://mikeirvan.com/quxiannihe/150.html
点击次数:??更新时间2019-06-03??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】