集成学习简明介绍

我们生活中做出的许多决定都基于他人的意见。

这包括根据评论选择要阅读的书籍,根据多位医生的建议选择行动方案,以及判断是否有罪。

通常,一群人做出的决策比群体中任何一个人做出的决策效果更好。这通常被称为群体智慧。

我们可以通过结合多个机器学习模型对回归和分类预测建模问题的预测来达到类似的效果。这通常被称为集成机器学习,或简称**集成学习**。

在这篇文章中,您将了解集成学习的入门知识。

阅读本文后,你将了解:

  • 我们做的许多决定都涉及到他人的意见或投票。
  • 群体做出比个人更好的决策的能力被称为群体智慧。
  • 集成机器学习涉及结合多个熟练模型的预测。

通过我的新书《使用 Python 的集成学习算法》**启动您的项目**,其中包括所有示例的**分步教程**和**Python 源代码**文件。

让我们开始吧。

A Gentle Introduction to Ensemble Learning

集成学习简明介绍
图片由土地管理局提供,保留部分权利。

概述

本教程分为三个部分;它们是:

  1. 做出重要决定
  2. 群体智慧
  3. 集成机器学习

做出重要决定

考虑您生活中做出的重要决定。

例如:

  • 接下来购买和阅读哪本书。
  • 上哪所大学。

候选书籍是那些听起来有趣的书,但我们购买的书可能是评价最有利的。候选大学是那些提供我们感兴趣的课程的大学,但我们可能会根据有第一手经验的朋友和熟人的反馈来选择一所大学。

我们可能会信任评论和星级评分,因为每个贡献评论的个体(希望)与这本书无关,并且独立于其他留下评论的人。如果情况并非如此,那么结果的信任度就会受到质疑,系统的信任度也会动摇,这就是为什么亚马逊努力删除书籍的虚假评论。

此外,考虑我们个人做出的重要决定。

例如,疾病的医疗治疗。

我们听取专家的建议,但我们寻求第二、第三甚至更多的意见,以确认我们正在采取最佳行动方案。

第二和第三意见的建议可能与第一意见相符,也可能不符,但我们非常重视它,因为它是不带偏见、客观和独立提供的。如果医生就他们的意见进行串通,那么我们就会觉得寻求第二和第三意见的过程失败了。

……每当我们面临需要做出重要决定的情况时,我们经常会寻求不同“专家”的意见来帮助我们做出决定……

— 第2页,《集成机器学习》,2012年。

最后,考虑我们作为一个社会所做的决定。

例如:

  • 谁应该在政府中代表一个地理区域。
  • 某人是否有罪。

代表的民主选举(以某种形式)基于公民的独立投票。

基于多个人或专家的意见做出决策是人类文明中常见的做法,也是民主社会的基础。

— 第v页,《集成方法》,2012年。

一个人严重罪行的有罪与否可能由一个由独立同伴组成的陪审团决定,这些同伴通常被隔离以确保他们解释的独立性。案件也可以在多个层面进行上诉,从而对结果提供第二、第三和更多意见。

许多国家的司法系统,无论是基于同伴陪审团还是法官小组,也都是基于集成决策。

— 第1-2页,《集成机器学习》,2012年。

这些都是通过结合低层次意见、投票或决策而得出的结果的例子。

……基于集成的决策对我们来说并不新鲜;作为人类,我们在日常生活中如此频繁地使用此类系统,以至于它可能已成为我们的第二天性。

— 第1页,《集成机器学习》,2012年。

在每种情况下,我们都可以看到低级决策的特性对于结果的有用性至关重要,例如对其独立性的信念以及每个决策本身都具有一定的有效性。

这种决策方法如此常见,以至于它有一个名称。

想开始学习集成学习吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

群体智慧

这种在人类进行低级别决策时使用的决策方法通常被称为“群体智慧”。

它指的是从一群人的总和中计算出的意见通常比群体中任何一个人的意见更准确、更有用或更正确的情况。

一个著名的案例发生在100多年前,经常被引用,那就是在英国普利茅斯的一个集市上举行的估测牛体重比赛。参赛者做出自己的猜测,猜得最接近实际体重的人赢得牛肉。

统计学家弗朗西斯·高尔顿事后收集了所有猜测,并计算了猜测的平均值。

……他把所有参赛者的估计加起来,然后计算出这群人猜测的平均值。你可以说,这个数字代表了普利茅斯人群的集体智慧。如果这群人是一个人,那么它就会猜测这头牛重多少。

— 第xiii页,《群体智慧》,2004年。

他发现参赛者猜测的平均值非常接近实际体重。也就是说,将800名参与者的所有数值权重平均值作为一个准确的方法来确定真实体重。

这群人猜测,这头牛在被宰杀并处理后,将重1197磅。在被宰杀并处理后,这头牛重1198磅。换句话说,这群人的判断基本上是完美的。

— 第xiii页,《群体智慧》,2004年。

这个例子出现在詹姆斯·苏罗维基2004年出版的《群体智慧》一书的开篇,该书探讨了人类群体做出决策和预测的能力,这些决策和预测通常优于群体中的个体成员。

这种智慧,或者我称之为“群体智慧”,以许多不同的方式在世界上发挥作用。

— 第xiv页,《群体智慧》,2004年。

这本书鼓励在做出一些重要决策时,倾向于对一群人的猜测、投票和意见进行平均,而不是寻找并咨询一位单一的专家。

……我们觉得有必要“追逐专家”。这本书的论点是,追逐专家是一个错误,而且是一个代价高昂的错误。我们应该停止寻找,转而向大众(当然,这包括天才和所有人)寻求意见。很可能,他们知道。

— 第xv页,《群体智慧》,2004年。

该书接着强调了任何基于群体做出决策的系统的一些特性,这些特性在Lior Rokach 2010年出版的《使用集成方法进行模式分类》一书(第22页)中得到了很好的总结,如下:

  • 意见多样性:每个成员都应该拥有私人信息,即使它只是对已知事实的特殊解释。
  • 独立性:成员的意见不受周围人意见的影响。
  • 去中心化:成员能够根据本地知识进行专业化并得出结论。
  • 聚合:存在某种机制将私人判断转化为集体决策。

作为一种决策系统,这种方法并非总是最有效的(例如股市泡沫、时尚等),但在结果很重要的各种不同领域中,它可能很有效。

我们可以在应用机器学习中使用这种决策方法。

集成机器学习

应用机器学习通常涉及在数据集上拟合和评估模型。

鉴于我们无法事先知道哪个模型在数据集上表现最佳,这可能需要大量的试错,直到我们找到一个对项目表现良好或最佳的模型。

这类似于使用单个专家做出决定。也许是我们能找到的最好的专家。

一种补充方法是准备多个不同的模型,然后结合它们的预测。这被称为集成机器学习模型,或简称集成,而寻找性能良好的集成模型的过程被称为“**集成学习**”。

集成方法模仿了我们的第二天性,即在做出关键决定之前寻求多种意见。

— 第vii页,《使用集成方法进行模式分类》,2010年。

这类似于利用多位专家的意见做出决策。

最常见的集成类型涉及以确保每个集成成员不同(例如,在训练数据集的不同子样本上拟合的决策树)的方式训练相同机器学习模型的多个版本,然后使用平均或投票结合预测。

一种不太常见但同样有效的方法是在相同数据上训练不同的算法(例如决策树、支持向量机和神经网络),并结合它们的预测。

就像结合人群中人类的意见一样,集成的有效性取决于每个模型都具有一定的技能(优于随机)并且与其他模型具有一定的独立性。后一点通常被解释为该模型以与集成中其他模型不同的方式熟练。

希望集成能比任何贡献成员产生更好的模型。

核心原则是权衡多个单独的模式分类器,并将它们结合起来,以达到比单独使用其中任何一个都更好的分类效果。

— 第vii页,《使用集成方法进行模式分类》,2010年。

最糟糕的情况是,集成通过减少预测的方差来限制最坏的预测情况。模型性能会因训练数据(在某些情况下,学习算法的随机性)而异,导致任何特定模型的性能更好或更差。

……集成系统的目标是创建几个偏差相对固定(或相似)的分类器,然后通过平均等方式组合它们的输出,以减少方差。

— 第2页,《集成机器学习》,2012年。

集成可以平滑这一点,并确保所做的预测更接近贡献成员的平均表现。此外,减少预测的方差通常会导致集成技能的提升。这会带来拟合和维护多个模型而不是单个模型的额外计算成本。

尽管集成预测的方差会较低,但不能保证其性能优于任何单个贡献成员。

……计算智能和机器学习社区的研究人员已经研究了共享这种联合决策过程的方案。这些方案通常被称为集成学习,已知可以减少分类器的方差并提高决策系统的鲁棒性和准确性。

— 第v页,《集成方法》,2012年。

有时,表现最好的模型,例如最佳专家,相对于其他模型具有显著优势,以至于将其预测与其他模型结合可能会导致性能下降。

因此,选择模型,甚至是集成模型,仍然需要在稳健的测试工具上进行仔细控制的实验。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

书籍

文章

总结

在这篇文章中,您了解了集成学习的入门知识。

具体来说,你学到了:

  • 我们做的许多决定都涉及到他人的意见或投票。
  • 群体做出比个人更好的决策的能力被称为群体智慧。
  • 集成机器学习涉及结合多个熟练模型的预测。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

掌握现代集成学习!

Ensemble Learning Algorithms With Python

在几分钟内改进您的预测

...只需几行python代码

在我的新电子书中探索如何实现
使用 Python 实现集成学习算法

它提供**自学教程**,并附有关于以下内容的**完整工作代码**:
堆叠、投票、提升、装袋、混合、超级学习器等等……

将现代集成学习技术带入
您的机器学习项目


查看内容

集成学习入门的18条回复

  1. Saad Zaheer 2020年10月23日上午10:54 #

    文笔极佳。写得很好,引用也很到位。

  2. Ekow Quansah 2020年10月23日下午3:17 #

    写得真好。我喜欢这样的文章,它们让机器学习离我们更近。

  3. Jarek 2020年10月23日下午4:44 #

    对EL的精彩介绍。祝贺您,感谢您,Jason。

  4. Matthias 2020年10月23日下午6:09 #

    又一篇精彩的贡献。在开始技术项目之前,Jason总能指导我们了解为什么以这种方式进行,并且这个过程源于现实。非常感谢!

  5. SanjayKumar 2020年10月23日下午6:11 #

    示例展示得非常好,易于理解。

  6. Esteban 2020年10月25日上午2:25 #

    很棒的帖子!谢谢

  7. shaheen 2020年10月25日下午6:47 #

    很棒的介绍,做得很好

  8. Sandeep 2020年10月27日下午5:59 #

    一如既往的精彩文章。您能否就何时应该使用集成学习以及何时应该避免集成学习提供一些指导?另外,在第一次解决问题时,是最好从集成模型开始,然后在对领域有更好的理解后切换到单个专家模型吗?

    • Jason Brownlee 2020年10月28日上午6:43 #

      谢谢!

      只要你有时间,并且它比你尝试过的任何单个模型表现更好,就尝试它。

  9. Chris L. Fleshner 2020年10月29日上午4:58 #

    我很欣赏您整合了牛的故事,以及集成学习(与专家组)能够实现显著准确性的确切原因。我想关键在于,专家必须熟悉模型……

    • Jason Brownlee 2020年10月29日上午8:07 #

      我认为重点是,一群非专家的平均值与专家一样好或更好。

      或者也许不是“非专家”,而是次级专家——在不同领域或目标领域部分方面拥有专业知识的专家。

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。