爱吧机器人网 » 技术 > 机器学习 > 正文

机器学习模型初印象:什么是过拟合和欠拟合

核心提示:在正式讲这两个概念之前我们先来看一个故事:假设你想要习英语但之前对英语一无所知,不过曾听说过莎士比亚是一个位伟大的英国作家。你想要

在正式讲这两个概念之前我们先来看一个故事:假设你想要习英语但之前对英语一无所知,不过曾听说过莎士比亚是一个位伟大的英国作家。你想要学英语的话,当然是将自己泡在一个图书馆中,背诵他的相关作品,用他的作品学习英语。一年的学习结束后,你走出图书馆,来到了纽约,并向你看到的第一个人打了声招呼:“嗨,愿光明与你同在!” 那人用奇怪的眼光看着你,嘴里嘟囔着“神经病”。你故作镇定地又试了一遍:“亲爱的夫人,今天是何等的优雅呢?” 你再次收获了失败,还把那个人吓跑了。当你三次尝试都失败后,你心烦意乱的说道:“啊,此乃何等之遗憾,何等之悲伤!”确实很遗憾,因为你犯下了一个建模当中最基础的错误之一:对训练集的过度拟合。

在数据科学学科中, 过度拟合(overfit)模型被解释为一个从训练集(training set)中得到了高方差(variance)和低偏差(bias),导致其在测试数据中得到低泛化(generalization)的模型。为了更好地理解这个复杂的定义,我们试着将它理解为去尝试学习英语的过程。我们要构建的这一模型代表了如何用英语交流。把莎士比亚的所有作品作为训练数据,把在纽约的对话作为测试集(testing set)。如果我们把社会认可程度来衡量这一模型的表现的话,那么事实表明我们的模型将不能够有效推广到测试集上。但是,模型中的方差和偏差又是什么呢?

方差可以理解为为了响应训练集时模型所产生的变化。若我们只是单纯的去记忆训练集,我们的模型将具有高方差:它高度取决于训练集数据。如果我们读的所有作品来自J.K. 罗琳 而不是莎士比亚, 这个模型将变得完全不同。当这样一个具有高方差的模型应用到一个新的测试集上时,这个模型将无法获得很好的表现。因为在没有训练集数据的情况下模型将迷失方向。就好比一个学生只是单纯复习了教科书上列出的问题,但这却无法帮助他解决一些实际的问题。

偏差(bias),作为与方差相对的一个概念,表示了我们基于数据所做出的假设的强度(有效性)。在前文我们尝试学习英语的例子中,我们基于一个没有初始化的模型,并把作家的作品当作学习语言的教科书。低偏差看似是一个正向的东西,因为我们可能会有这样的想法:我们并不需要去带着倾向性思维看待我们的数据。然而我们却需要对数据表达的完整性持怀疑态度。因为任何自然处理流程都会生成噪点,并且我们无法自信地保证我们的训练数据涵盖了所有这些噪点。所以我们在开始学习英语之前需要明白,我们无法通过死记硬背莎士比亚的名著来熟练掌握英语。

总体来说,偏差关系到数据被忽略的程度,而方差则关系到模型和数据的依赖程度。在所有的建模过程中,偏差和方差之间永远存在着一个权衡问题,并且需要我们针对实际情况找到一个最佳的平衡点。偏差和方差这两个概念可应用于任何从简单到复杂的模型算法,对于数据科学家来说,它们至关重要。

刚才我们了解到了过度拟合的模型具有高方差、低偏差的特点。那么相反的情况:一个低方差、高偏差的模型又会是什么样呢?这被称作欠拟合。相较于之前与训练数据紧密贴合的模型,一个欠拟合模型忽视了从训练数据中获得的信息,进而使其无法找到输入和输出数据之间的内在联系。让我们用之前尝试学习英语的例子来解释它,这一次我们试着去对之前我们用到的模型做出一些假设,并且我们改成使用《老友记》全集作为这一次学习英语的训练数据。为了避免我们之前犯过的错误,这次我们提前作出假设:只有那些以最常用的词--the, be, to, of, and, a—为开头的句子才是重要的。当学习的时候,我们不去考虑别的句子,并且我们相信这能够构建更有效的模型。

经过了漫长的训练后,我们又再一次站在了纽约的大街上。这一次,我们的表现相对好了一点点,但是别人依然无法听懂我们,最后,我们还是以失败告终。尽管我们学习到了一些英语知识,并且能够组织一些数量有限的句子,由于从训练数据上造成的高偏差,我们无法从中学到英语的基础结构和语法。虽然这个模型没有受到高方差带来的影响,但是相对于之前的尝试来说,显得又太矫枉过正,拟合不充分!

机器学习模型初印象:一文区分什么是「过拟合」和「欠拟合」?

对数据的过度关注会导致过度拟合,对数据的忽视又会导致欠拟合,那么我们到底该怎么办呢?一定有一个能找到最佳平衡点的办法!值得庆幸的是,在数据科学中,有一个很好的解决方案,叫作“验证(Validation)”。用上面的例子来说,我们只使用了一个训练集和一个测试集。这意味着我们无法在实战前知道我们的模型的好坏。最理想的情况是,我们能够用一个模拟测试集去对模型进行评估,并在真实测试之前对模型进行改进。这个模拟测试集被称作验证集(validation set),是模型研发工作中非常关键的部分。

两次失败的英语学习过后,我们学聪明了,这一次我们决定使用一个测试集。我们这次同时使用Shakespeare的作品和《老友记》,因为我们从过去的经验中认识到越多的数据总是能够改善这个模型。不同的是,在这次训练结束以后,我们不直接走到街上,我们先找到一群朋友,每周和他们相聚,并以用英语来和他们交谈的形式来评估我们的模型。刚开始的第一周,由于我们的英语水平还很差,我们很难融入到对话当中。然而这一切仅仅是被模拟成一个验证集,每当我们意识到错误后,就能够调整我们的模型。最后,当我们能够适应并掌控与朋友们的对话练习时,我们相信已经是准备好面对测试集的时候了。于是,我们再一次大胆的走了出去,这一次我们成功了!我们非常适应在真实的情况下和别人交谈,这得益于一个非常关键的因素:验证集,是它改善并优化了我们的模型。

英语学习只是一个相对简易的例子。在众多真实的数据科学模型中,考虑到在一个验证集上出现过度拟合的可能性,通常会使用到非常多的验证集!这样的解决办法称之为交叉验证(corss-validation),这个方法要求我们将训练集拆分成多个不同的子集,或者在数据足够多的条件下来使用多个验证集。交叉验证法这一个概念涵盖着问题的方方面面。现在当你碰到一个和过度拟合 vs. 欠拟合,偏差 vs. 方差这几个概念有关的问题的时候,你脑海中将会浮现出一个概念框架,这个框架将有助于你去理解并且解决这个问题!

数据科学看似复杂,但它其实都是通过一系列基础的模块搭建而成的。其中的一些概念已经在这篇文章中提到过,它们是:

过度拟合:过度依赖于训练数据

欠拟合:无法获取训练数据中的存在的关系

高方差:一个模型基于训练数据产生了剧烈的变化

高偏差:一个忽视了训练数据的模型假设

过度拟合和欠拟合造成对测试集的低泛化性

使用验证集对模型进行校正可以避免实际过程中造成的欠拟合和过度拟合

数据科学和其它科技领域其实与我们的日常生活息息相关。在一些与现实有关的例子的帮助下,我们可以很好地解释并理解这些概念。一旦我们了解了一个框架,我们就能够用技术来处理所有的细节,从而解决难题。

上一篇:Machine Box—企业迅速布局AI的解决方案
下一篇:浅析数据标准化和归一化 优化机器学习算法输出结果

本周栏目热点

期待已久的Ubuntu 18.04 LTS正式发布 适用于机器学习

[2018-04-27]  Canonical于伦敦时间26日正式发布了Ubuntu 18 04 LTS版,Canonical的CEO称,Ubuntu 18 04 LTS在云计算领域效率极高,特别适用于机器学习这样的存储密集型和计算密集型任务。...

机器学习的工作原理和表达方式

[2018-05-28]  模式识别是一种优点,如果适当运用,可以为企业带来巨大的收益。它可以使业务预测高效并有效决策。机器学习(ML)研究这些模式,并将人类决 ...

深度学习之生成式对抗网络(GAN)入门指南

[2017-12-25]  本文将介绍GAN的基础概念及其工作方式,并辅之以有趣案例的实现方法和重要资源,方便初学者训练、使用。2014年Ian J Goodfellow等人首先提出生成对抗网络(Generative Ad......

实用:用深度学习方法修复医学图像数据集

[2018-05-04]  医学图像数据很难处理,经常包含旋转倒置的图像。这篇文章介绍如何利用深度学习以最小的工作量来修复医疗影像数据集,缓解目前构建医疗 AI 系统中收集和清洗数据成本大的问题...

Graphcore 研发出AI芯片让机器学习提速百倍

[2017-12-15]  作为英国最热门的创业公司之一,Graphcore专注于加速复杂机器学习模型的训练以及推断过程。他们正在开发人工智能芯片,以降低企业数据中心和云端使用AI应用程序的成本,并将性......

上交大&南科大最新PRL论文:成功用机器学习实现量子态分类器

[2018-06-15]  机器之心发布机器之心编辑部据机器之心了解,近日,上海交通大学金贤敏研究团队在人工智能与量子信息技术交叉领域取得重要突破。金贤敏研究 ...

【Science重磅】DeepMind生成查询网络GQN 无监督学习展现3D场景

[2018-06-15]  DeepMind今天在Science发表论文,提出生成查询网络(Generative Query Network,GQN),能够在无监督的情况下,抽象地描述场景元素,并通过“想象”渲染出场景中没有见到的......

从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)

[2018-06-19]  近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 520 页的学习教程(英文版),详细、明了地介绍了机器学习中的相关概念、数学知识和各......

精选推荐

担心机器换人?自1950年以来只有一个职业被机器彻底取代

[2017-03-21]  虽然有很多关于机器人取代工人的担心,但哈佛经济学家James Bessen的论文指出,在过去的67年里机器人仅仅淘汰掉人类工作中的一个。在1950 ...

什么是机器人学?机器人学简介
什么是机器人学?机器人学简介

[2017-12-14]  机器人学是工程学与科学的交叉学科,包括机械工程,电气工程,计算机科学等。机器人技术涉及机器人的设计、制造、操作和应用,以及用于控制、感官反馈和信息处理的计算机系统。...

谷歌在中国成立一个新的人工智能(AI)研究中心
谷歌在中国成立一个新的人工智能(AI)研究中心

[2017-12-13]  谷歌正在中国建立一个新的人工智能(AI)研究中心,希望进一步扩展到中国,以充分利用中国高度重视的人工智能技术。人工智能是目前地球上最具竞争力的领域之一,亚马逊,微软......

2017年:AI渗入云端
2017年:AI渗入云端

[2017-12-29]  云中的人工智能不仅仅是科技巨头的权力游戏,它也可能是人工智能领域的下一个飞跃。加利福尼亚州的Rigetti Computing公司刚刚使用其原型量子芯片之一在其云平台上运行机器学......

亚马逊CEO杰夫·贝佐斯操控巨型有人驾驶机器人(巨型机甲)
亚马逊CEO杰夫·贝佐斯操控巨型有人驾驶机器人(巨型机甲)

[2017-03-21]  近日,亚马逊CEO杰夫·贝佐斯实现了每一个6岁儿童都会有的梦想,他控制了一个巨大的机甲机器人。据国外媒体Verge报道,前天(3月19日),贝 ...

机器人灵巧手将成为智能机器人的下一个重大突破
机器人灵巧手将成为智能机器人的下一个重大突破

[2018-01-25]  计算机科学教授兼东北地区助手机器人实验室负责人罗伯特·普拉特(Robert Platt)说:“机器人手操作是下一步要解决的问题。想象一下,一个机器人可以在现实世界中用手去做事......

科学家从蟑螂获得启发 教机器人更好地走路
科学家从蟑螂获得启发 教机器人更好地走路

[2017-12-11]  Weihmann指出:“我特别感到惊讶的是,动物运动稳定机制的变化与腿部协调的变化是一致的。昆虫的慢运行非常稳定,因为它的重心很低,三条腿总是以协调的方式运动。...

机器人iCub作为嵌入式AI的标准机器人研究平台的重要性
机器人iCub作为嵌入式AI的标准机器人研究平台的重要性

[2017-12-24]  机器人的研究在过去10年中得益于一个具有嵌入式人工智能(AI)的标准化开源平台——人形机器人iCub。iCub最初在意大利被创建,如今在欧洲、美国、韩国、新加坡和日本的实验室......