深入理解过拟合与欠拟合

偏差是指我们忽略了多少数据,而方差是指我们的模型对数据的依赖程度。

 

说你想学英语。你没有先前的语言知识,但你听说最伟大的英国作家是莎士比亚。一个自然的行动方式当然必须是将自己锁定在图书馆并记住他的作品。经过一年的学习,你从学业中走出来,前往纽约市,并向你看到的第一个人打招呼,“Good dawning to thee, friend!”(这种用法貌似只在莎士比亚作品出现过)作为回应,你看到一脸鄙视和嘀咕'疯狂'。不受干扰,你再试一次:“Dear gentlewoman, How fares our gracious lady?”另一次失败,匆匆撤退。在第三次尝试失败后,你心烦意乱:"悲伤!多么可悲!"。实际上很遗憾:你刚刚犯了建模中最基本的错误之一,过度拟合了训练数据。

过拟合模型表现为在训练集上具有高方差和低偏差。

这会导致对新测试数据预测时与训练数据的不一致。让我们从学习英语的尝试中打破这个令人困惑的定义。我们想要构建的模型是如何使用英语进行交流的表示。我们的训练数据是莎士比亚的全部作品,我们的测试集是纽约。如果我们根据社会接受度来衡量绩效,那么我们的模型就无法应用于测试数据。到目前为止,这似乎很简单,但差异和偏见呢?

方差是模型响应训练数据而变化的程度。由于我们只是记忆训练集,我们的模型具有很大的差异:它高度依赖于训练数据。如果我们阅读JK罗琳而不是莎士比亚的全部作品,模型将完全不同。当在新测试集上应用具有高方差的模型时,它不能很好地执行。这就像一个学生已经记住了教科书中的问题,但在面对现实世界面临的问题时无助。

 

有时即使是研究生也应该到外面去

偏差是方差的另一面,因为它代表了我们对数据做出的假设的强度。在我们学习英语的过程中,我们没有形成初步的模型假设,并且信任Bard的工作,教我们关于语言的一切。这种低偏见似乎是积极的 - 为什么我们想要偏向于我们的数据呢?但是,我们应该始终对数据告诉我们完整故事的能力持怀疑态度。任何自然过程都会产生噪音,我们无法确信我们的训练数据会捕获所有噪音。通常,我们应该对我们的数据做一些初步的假设,并在我们的模型中为训练数据中没有看到的波动留出空间。

总结到目前为止:偏差是指我们忽略了多少数据,而方差是指我们的模型对数据的依赖程度。在任何建模中,总是会在偏差和方差之间进行权衡,当我们建立模型时,我们会尝试达到最佳平衡。偏差与方差适用于任何模型,从最简单到最复杂,是数据科学家理解的关键概念!

我们看到一个过拟合的模型具有高方差和低偏差。反过来怎么样:低方差和高偏差?这被称为欠拟合:不是过于密切地跟踪训练数据,而是一个不合适的模型忽略了训练数据的教训,并且无法学习输入和输出之间的潜在关系。

让我们从我们的例子来考虑这个问题。从我们之前尝试建立英语模型中学习,我们决定提前对模型做出一些假设。我们还会切换我们的训练数据,并观看节目朋友的所有剧集,自学英语。为了避免从第一次尝试中重复我们的错误,我们提前做出一个假设,即只有以语言中最常见的单词开头的句子 ,be,to,of和an才是重要的。当我们学习时,我们不注意其他句子,相信我们会建立一个更好的模型。

经过长时间的训练,我们再次前往纽约的街道。这次我们的表现略好一些,但是我们的谈话再次无处可去,我们不得不承认失败。虽然我们知道一些英语并能理解有限数量的句子,但由于我们对训练数据的偏见,我们未能学习语言的基本结构。该模型不会受到高度变化的影响,但我们从最初的尝试过度校正!

欠拟合(高偏差,低方差)与过拟合(低偏差,高方差)的图

我们能做什么?严格关注数据会过拟合,忽略数据会欠拟合。必须有一种方法来找到最佳平衡!幸运的是,数据科学中存在一种称为验证的完善解决方案。在我们的示例中,我们仅使用了训练集和测试集。这意味着我们无法提前知道我们的模型在现实世界中的作用。理想情况下,我们会设置一个"预测试"来评估我们的模型,并在真正的测试之前进行改进。这种"预测试"被称为验证集,是模型开发的关键部分。

我们学习英语的两次失败让我们变得更加聪明,现在我们决定使用验证集。

我们同时使用莎士比亚的作品和朋友show因为我们已经学到了更多的数据,几乎总能改进模型。这次的不同之处在于,经过训练之后,在我们上街之前,我们会在一群朋友中评估我们的模型,这些朋友每周聚在一起讨论当前的英语。第一周,我们几乎被踢出谈话,因为我们的语言模型非常糟糕。但是,这只是验证集,每次我们犯错误时都可以调整我们的模型。最终,我们可以与小组进行对话并声明我们已准备好进行测试。再次在现实世界中冒险,我们终于成功了!我们的模型现在非常适合通信,因为我们有一个关键元素,一个用于模型开发和优化的验证集。

在数据科学模型中,我们使用了大量的验证集,因为否则我们最终会过度拟合验证集!这是通过我们将训练数据分成不同的子集,或者如果我们有大量数据,我们可以使用多个验证集。这个概念性示例仍然涵盖了问题的所有方面。现在,当你听说过拟合与欠拟合以及偏见与差异时,你有一个概念框架来理解问题以及如何解决它!

总结:

过拟合:过分依赖训练数据欠拟合:未能学习训练数据中的关系高方差:模型根据训练数据显着变化高偏差:对模型的假设不够导致忽略训练数据过拟合和欠拟合导致测试集的泛化性差一个验证集模型校正可以防止过拟合数据科学和其他技术领域不应脱离我们的日常生活。通过用现实世界的例子解释概念,我们可以将它们放入上下文中。如果我们理解框架,那么我们可以通过使用有关解决问题的技术来补完细节。

你可能感兴趣的:(深入理解过拟合与欠拟合)