集成学习基础通俗入门

【编者按】集成建模是一种提高模型性能的强大方式。本文作为通俗入门教程,首先通过一个例子快速引入集成学习的基础知识,介绍如何真正得到不同的学习模块,并着重讨论了几种在行业内广泛使用的集成技术,包括Bagging、Boosting、Stacking等。

导论

集成建模是一种提高模型性能的强大方式。在你可能构建的各种模型上使用集成学习通常卓有成效。一次又一次,人们在 Kaggle这样的比赛中使用集成模型,并且从中受益。

集成学习是一个广泛的话题,广到超出你的想象力。对于本文,我将涵盖集成建模的基本概念和思想。这应该足以让你在自己的机器上开始建立集成模型。像往常一样,我们试图让事情尽可能的简单。

让我们通过一个例子来快速了解集成学习的基础知识。这个例子将会带出我们每天是如何在毫无察觉的情况下使用集成学习的。

案例:我想投资一家公司XYZ。我还不知道它的业绩。所以我想有人给我些意见,看看这家公司的股票价格是否会每年增加6%以上。我打算与具有不同领域经验的专家交流。

1、XYZ公司职员:此人知道公司内部运作方式,并且知道该公司的内部消息。但是他并不了解竞争对手的创新情况,技术将如何发展,并且这种发展会对XYZ公司产品有何影响。在过去,他有70%的时候判断是正确的。

2、XYZ公司的财务顾问:此人非常了解在激烈竞争环境下公司的战略将会得到怎样的效果。但是,他对公司内部政策会有何结果并不了解。在过去,他有75%的时候判断是正确的。

3、股市操盘手:此人过去三年一直在关注该公司的股票。他知道周期性趋势,以及整体股市的表现。他还形成了关于股票可能会如何随时间推移而变化的强烈直觉。在过去,他有70%的时候判断是正确的。

4、竞争对手的职员:此人知道该竞争公司的内部运作方式,并且意识到已经发生的变化。他对公司缺乏焦点认识,并且对于竞争对手相关的外部因素认识不佳。在过去,他有60%的时候判断是正确的。

5、同一领域的市场研究团队:这个团队会分析XYZ公司产品与其他公司产品的用户体验差异,并且这一情况随着时间如何改变。因为他们与客户打交道,并且基于他们自己的目标,他们不知道XYZ公司将会发生什么样的变化。在过去,他们有75%的时候判断是正确的。

6、社交媒体专家:此人可以帮助我们了解XYZ公司对它们产品市场定位如何。并且了解随着时间推移客户对此公司看法如何。除了数字营销领域,其它领域的细节他不太关注。在过去,他有65%的时候判断是正确的。

通过各方面的了解,我们可以结合所有的信息,并作出明智的决定。

如果所有的6位专家/团队都认为这是个很好的决定(假设所有预测都是相互独立的),我们将得到组合准确率:

1 - 30%*25%*30%*40%*25%*35%

= 1 - 0.07875 = 99.92125%

假设:这里使用的所有预测是完全独立的假设略微极端,因为它们预期相关。但是,我们可以看出将不同预测结合起来我们会对问题有多大把握。

现在来改变下场景。这一次,我们有6个专家,它们都是XYZ公司的员工,并且都在同一个部门工作。每个人都有差不多70%正确率。

如果我们将这些建议结合起来,还会得到99%以上的准确率吗?

很明显不会,因为这次的预测都是在相似的信息集上做出的。他们都会受到相似信息集的影响,并且他们建议中唯一的不同是每个人对公司有不同的看法。

停下来思考:你从这个案例中得到什么结论?是不是很深奥?在评论栏中写下你的看法。

什么是集成学习?

集成是结合不同的学习模块(单个模型)来加强模型的稳定性和预测能力。在上面的例子中,我们将所有预测结合在一起的方式被称为集成学习。

在这篇文章中,我们将讨论几种在行业内广泛使用的集成技术。在我们讲述技术之前,让我们先来了解如何真正得到不同的学习模块。模型会因为各种原因而彼此不同,从训练模型的样本数据集到模型的构造方法都会导致差异。

下面是导致模型不同的4个主要因素。这些因素的组合也可能会造成模型不同:

1、不同种类

2、不同假设

3、不同建模技术

4、初始化参数不同

集成建模中的误差(方差vs偏置)

任何模型中出现的误差都可以在数学上分解成三个分量。如下:

在目前的情况下这为什么很重要?为了了解集成模型背后发生的情况,我们首先要了解模型中是什么造成了误差。我们会简要介绍这些误差,然后对每一个集成学习模块进行分析。

偏置误差是用来度量预测值与实际值差异的平均值,高偏置误差意味着我们的模型表现欠佳,不断丢失重要的趋势。

方差则是度量基于同一观测值,预测值之间的差异。高方差模型在你的训练集上会过拟合,并且在训练之外的任何观察表现都不佳。下图会让你更明白(假设红点是真实值,蓝点是预测值):

图自:Scott Fortman

通常情况下,当你增加模型的复杂性时,由于模型的低偏置,你会发现错误减少。但是,这只在某个特定点才发生。当你继续增加模型复杂性时,模型最终会过拟合,因此模型开始出现高方差。

一个优良的模型应该在这两种误差之间保持平衡。这被称为偏置方差的折衷管理。集成学习就是执行折衷权衡的一种方法。

图自:Scott Fortman

一些常用的集成学习技术

1、Bagging:Bagging试图在小样本集上实现相似的学习模块,然后对预测值求平均值。对于Bagging一般来说,你可以在不同数据集上使用不同学习模块。正如你所期望的那样,这样可以帮助我们减少方差。

2、Boosting:Boosting是一项迭代技术,它在上一次分类的基础上调整观测值的权重。如果观测值被错误分类,它就会增加这个观测值的权重,反之亦然。Boosting一般会减少偏置误差然后构建强大的预测模型。但是,有些时候它们也会在训练数据上过拟合。

3、Stacking:用它来结合模型是种有趣的方式。下面我们用一个学习模块与来自不同学习模块的输出结合起来。取决于我们使用的学习模块。这样做可以减少偏置误差和方差。

结束语

集成技术正被用于每一个 Kaggle问题 之中。选择合适的集成模块与其说是纯粹的科研问题不如说是一种艺术。随着经验的积累,你可以根据不同的场景和基础学习模块使用不同的集成学习模块。

原文链接: Basics of Ensemble Learning Explained in Simple English (译者/刘翔宇 审校/赵屹华、朱正贵、李子健 责编/仲浩)

延伸阅读集成学习:机器学习兵器谱的“屠龙刀”

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2015-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

AI大行其道,你准备好了吗?——谨送给徘徊于转行AI的程序员

作者 | 章华燕(金桥智慧科技) 前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT...

34850
来自专栏数据科学与人工智能

【机器学习】一文读懂机器学习,大数据/自然语言处理/算法全有了……

作者:计算机的潜意识 在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是...

495100
来自专栏CDA数据分析师

一文读懂机器学习,大数据/自然语言处理/算法全都有!

在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外...

27680
来自专栏小文博客

性感与色情有多远——你不知道的图片鉴黄那些事儿

50550
来自专栏人称T客

人工智能、机器学习、深度学习的区别在哪?|编译

编者:T 客汇 杨丽 张苏月 关键词:人工智能,机器学习,深度学习 网址:www.tikehui.com 有人说,人工智能(Artificial Intell...

33950
来自专栏数据科学与人工智能

【机器学习】读懂机器学习

在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外...

24590
来自专栏人工智能LeadAI

关于机器学习的知识,这篇文章都有

前言 机器学习[Machine Learning]在当今社会的火热程度有目共睹,自己也一直想写一下自己对Machine Learning(简称ML)的认识,今天...

38280
来自专栏AI研习社

用两万篇论文告诉你:机器学习在过去五年中发生了什么

arXiv.org 很多人都知道,是一个专门收集物理学、数学、计算机科学与生物学论文预印本的网站。数据显示,截至 2014 年底的时候,arXiv 已经达到了一...

425160
来自专栏华章科技

一文读懂机器学习,大数据/自然语言处理/算法全有了……

机器学习是什么,为什么它能有这么大的魔力,这些问题正是本文要回答的。同时,本文叫做“从机器学习谈起”,因此会以漫谈的形式介绍跟机器学习相关的所有内容,包括学科(...

14510
来自专栏人工智能头条

集成学习基础通俗入门

18430

扫码关注云+社区

领取腾讯云代金券