集成模型的五个基础问题

引言

如果你曾经参加过数据科学竞赛,你一定意识到集成模型(Ensemble Modeling)举足轻重的作用。事实上,集成模型提供了最有说服力的方式之一,来建立高度精确的预测模型。Bagging和Boosting算法进一步加强了这一方法的精确性。

所以,你下次构建预测模型的时候,考虑使用这种算法吧。你肯定会赞同我的这个建议。如果你已经掌握了这种方法,那么太棒了。我很想听听你在集成模型上的经验,请把你的经验分享在下面的评论区。

对于其他人,我将会分享一些集成模型中常见的问题。如果你想评估一个人对集成模型方面的知识程度,你可以大胆地提出这些问题,来检查他/她的知识水平。另外,这些都是最简单的问题,因此你不希望他们回答错误!

哪些是常见的问题(关于集成模型)?

在分析各种数据科学论坛后,我已经确定了5个集成模型最常见的问题。这些问题与刚接触集成模型的数据科学家高度相关。以下就是这些问题:

  1. 什么是集成模型?
  2. 什么是bagging,boosting和stacking?
  3. 我们可以集成多个具有相同机器学习算法的模型吗?
  4. 我们如何确定不同模型的权重?
  5. 集成模型的好处是什么?

1、什么是集成模型?

我们先从解决一个分类问题来理解它。

场景问题:建立垃圾邮件过滤规则。

解决方案:我们可以制定各种垃圾邮件分类规则,我们来看看其中的几个:

1、垃圾邮件

  • 邮件少于20个单词;
  • 只有图片(宣传图片);
  • 具有某些关键词,比如“赚大钱”和“减肥”;
  • 许多拼写错误的单词。

2、非垃圾邮件

  • 从经过验证域名发来的邮件;
  • 来自家庭成员或者邮件联系人的邮件

在上面,我已经列出了一些过滤垃圾邮件的常见规则。你认为这些规则能单独预测正确的分类吗?

大部分人可能都会认为不能——事实也是这样!与使用单个规则进行预测相比,结合使用这些规则会产生鲁棒的预测效果。这就是集成模型的原则。集成模型集合使用多个“单独的”(不同的)模型,并提供出色的预测能力。

如果用现实生活中的例子说明集成模型,就比如一群人总能做出比单个人要好的决策,特别是当群成员的背景各不相同时。对于机器学习来说也是这样。基本上,集成是一种监督式学习技术,它将多个弱学习模块/模型集成起来,产生强学习模块。如果我们集成低相关性模型的话,集成模型的工作效果会更好。

集成方法常用于解决数据科学问题方面的一个非常好的例子就是随机森林算法(使用多层分类回归树模型)。在分类新对象上,比使用单个分类回归树性能要更好,每一棵树都给类进行“投票”,然后森林选择得票最高(在森林所有的树中)的作为目标分类。如果是回归问题,那么将取不同树的输出均值。

你也可以参考这篇文章《集成学习基础通俗简介》来了解更多集成模型知识。

2、什么是Bagging,Boosting和Stacking?

让我们分别来看看这三个是什么,并了解这些术语之间的区别:

Bagging(Bootstrap汇总)是一种集成方法。首先,我们创建随机训练数据集样本(训练数据集的子集)。然后我们为每个样本建立分类器。最后,这些多分类器的结果将结合起来,使用平均或多数投票。Bagging有助于降低方差。

Boosting提供了预测模块的连续学习功能。第一个预测模块从整个数据集上学习,下一个预测模块在前一个的性能基础上在训练数据集上学习。首先对原始数据集进行分类,并给每个观测给予同样的权重。如果第一个学习模块错误预测了类,那么将会赋予错误分类观测较高的权重。这个过程将反复迭代,不断添加分类学习模块,直到达到模型数量或者某个准确度。Boosting有比Bagging更好的预测精准度,但它有时也会过度拟合训练数据。

Boosting最常见的例子是AdaBoost和梯度提升。你也可以看看这些文章来进一步了解Boosting算法。

  • Getting smart with Machine Learning – AdaBoost and Gradient Boost
  • Learn Gradient Boosting Algorithm for better predictions (with codes in R)

Stacking工作分为两个阶段。首先,我们使用多个基础分类器来预测分类。然后,一个新的学习模块与它们的预测结果结合起来,来降低泛化误差。

3、我们可以集成多个具有相同机器学习算法的模型吗?

是的,我们可以集成多个具有相同机器学习算法的模型,但是结合多个不同算法生成的预测结果通常会得到更好的预测。这是由于彼此间的多样化或独立性的本质。比如,结合随机森林,KNN,朴素贝叶斯得到最终的预测结果集比结合三个随机森林模型得到的结果要更强。创建一个强大的集成模型的关键是模型的多样性。一个由两种非常相似技术组成的集成模型性能要比由具有多样性模型集组成的集成模型差。

案例:假如我们有三个模型(A,B和C)。A,B,C的预测准确率分别为85%,80%,55%。但是A和B高度相关,而C与A或B都不怎么相关。那么我们应该将A和B集成起来吗?不,我们不能这么做,因为这两个模型高度相关。因此,我们不能将这两者集成,因为这对降低泛化误差没有帮助。我更倾向于集成A和C或者B和C。

4、我们如何确定不同模型的权重?

集成模型的一个最常见的问题就是找到每个基础模型的最佳权重。在一般情况下,我们假定所有基础模型具有相同的权重,然后采取预测的平均值作为结果。但是,这是最好的解决方案吗?

找到各个基础学习模块的最佳权重集成有许多方法。这些方法对找到合适的权重提供了公平的依据。我在下面将它们罗列了出来:

  • 计算基础学习模块之间的共线性表,然后基于这张表来确定用于集成的基础模型。之后,根据确定的基础模型的交叉验证得分(得分之比)来确定权重。
  • 找到返回基础学习模块最优权重的算法。你可以参考这篇文章 Finding Optimal Weights of Ensemble Learner using Neural Network来了解此算法。
  • 我们同样可以使用以下方法来解决这个问题:
  • Forward Selection of learners
  • Selection with Replacement
  • Bagging of ensemble methods

你也同时可以看看Kaggle/数据科学竞赛胜出的解决方案,以了解解决此问题的其他方法。

5、集成模型的好处是什么?

集成模型有两大好处:

  • 更好的预测;
  • 更稳定的模型。

集成多个模型会比其他模型有更少的噪声。在金融领域,我们称为“多样化”,投资许多股票要比投资一个股票的变化风险要小。这也是为什么使用集成模型要比使用单独模型效果要好。使用集成模型需要注意的一个问题是避免过拟合,虽然Bagging在很大程度上对此进行了处理

后记

在这篇文章中,我们了解了5个关于集成模型常常被问及的问题。在回答这些问题时,我们讨论了“集成模型”,“集成方法”,“为什么我们要集成不同的模型”,“确定最优集成权重的方法”和“好处”。我建议你看看数据科学竞赛前5名的解决方案,看看他们的集成方式以获得更深入的理解,然后多多实践。这会帮助你理解什么方法行得通,什么方法行不通。

原文链接:5 Easy questions on Ensemble Modeling everyone should know(译者/刘翔宇 审校/赵屹华、朱正贵 责编/周建丁)

关于译者: 刘翔宇,中通软开发工程师,关注机器学习、神经网络、模式识别

原文发布于微信公众号 - 人工智能头条(AI_Thinker)

原文发表时间:2015-10-21

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

学好机器学习必备这12条经验 !(附资料)

本文总结了机器学习研究者和从业者的 12 个宝贵经验,包括需要避免的陷阱、需要关注的重点问题、常见问题的答案。

9720
来自专栏机器之心

业界 | 谷歌提出移动端AutoML模型MnasNet:精度无损速度更快

卷积神经网络(CNN)已被广泛用于图像分类、人脸识别、目标检测和其他领域。然而,为移动设备设计 CNN 是一项具有挑战性的工作,因为移动端模型需要体积小、速度快...

11540
来自专栏PPV课数据科学社区

讨论 | 机器学习和统计模型的差异

编者按:统计模型有时也被称作统计分析或者统计建模,是基于传统统计学的一种数据分析方法。机器学习是数据挖掘的一种方法,包含利用分布式计算能力进行数据处理和数据挖掘...

43760
来自专栏机器人网

学懂 12 个宝贵经验,更深入了解机器学习

华盛顿大学 Pedro Domingos 教授的“A Few Useful Things to Know about Machine Learning”这篇论文...

28550
来自专栏新智元

【一个神经元统治一切】ResNet 强大的理论证明

【新智元导读】MIT CSAIL的研究人员发现,隐藏层仅有一个神经元的ResNet就是一个通用的函数逼近器,恒等映射确实加强了深度网络的表达能力。研究人员表示,...

10100
来自专栏新智元

GAN如此简单的PyTorch实现,一张脸生成72种表情(附代码)

【新智元导读】随着GAN的发展,单凭一张图像就能自动将面部表情生成动画已不是难事。但近期在Reddit和GitHub热议的新款GANimation,却将此技术提...

33110
来自专栏量子位

Keras作者、谷歌研究员Chollet:深度学习的理论局限

王小新 编译自 Keras Blog 量子位 出品 | 公众号 QbitAI 从图像处理,到自然语言处理,再到语音识别等多个领域,深度学习都取得了很好的成绩,但...

35940
来自专栏目标检测和深度学习

VALSE 2018年度进展报告 | 物体检测与识别

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

【陆勤阅读】机器学习和统计模型的差异

在各种各样的数据科学论坛上这样一个问题经常被问到——机器学习和统计模型的差别是什么? 这确实是一个难以回答的问题。考虑到机器学习和统计模型解决问题的相似性,两者...

25280
来自专栏目标检测和深度学习

目标检测!200fps吗?!

13330

扫码关注云+社区

领取腾讯云代金券