初识集成学习

时光总嘲笑我的痴心妄想 提交于 2020-02-17 14:55:27

假设随机问很多人同一个问题,然后将许多份回答整合起来,通常情况下会发现这个合并的答案比一个专家的答案还要好。这就如同俗语所说“三个臭皮匠,顶个诸葛亮”,也好比对某个问题进行民主投票一样。机器学习中集成学习的思想与之类似。

在分类问题中,传统机器学习方法是在一个由各种可能的函数构成的假设空间中寻找一个最接近实际分类函数的分类器 ,单个的分类器模型到如今已经发展了不少,有的甚至成为了经典分类算法,如决策树、支持向量机以及朴素贝叶斯等。

集成学习的思路是:在对新样本进行分类时,把若干个单个分类器集成起来,通过对这些单个分类器的预测结果进行某种组合来决定最终的分类,从而取得比任意一个单个分类器更好的性能。如果把单个分类器比作一个决策者的话,集成学习的方法相当于多个决策者共同进行决策。

经典的分类器———随机森林,就是在决策树的基础上通过集成学习衍生而来,并且是集成方法bagging的代表模型。著名的集成方法包括 bagging, boosting, stacking 和其他一些算法。需要注意的是:并不是任意的集成都是有效的,还要考虑到中和效应,即一些分类性能差的分类器会拉低整体的分类能力。

示例如下:

例中将随机森林、支持向量机以及逻辑回归模型视为三个单个分类器,并将三者集成为一个 voting_clf 集成分类器,结果表明集成分类器的分类表现优于构成它的两个单个分类器,但劣于逻辑回归,所以选择恰当的集成手段也是保证集成方法奏效的关键。

本文只是初步感受集成学习的流程,虽然代码简单,但也是运用集成方法的案例(尽管失败了)。后面将详细介绍前文提到的三种主流集成算法bagging, boosting, stacking。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!