什么是集成学习
如现在你要买一台电脑,相信你大概率不会只听销售员的介绍,就下单的,你可能会询问一下身边的朋友,或是上网查阅有关电脑的品牌、配置、价格等问题。简单说,就是不会单一的做出决定,而是或经过都方面的意见与建议。
这便是集成算法的通俗理解,集成模型结合多个模型的决策,以提高整体性能。
对于训练集数据,我们通过训练多个个体学习器,通过一定的结合策略,就可以最终形成一个强学习器。也就是说,集成学习有两个主要的问题需要解决:第一是如何得到若干个个体学习器;第二是如何选择一种结合策略,将这些个体学习器集合成一个强学习器。
如何得到多个个体学习器
1、同质个体学习器:所有的个体学习器都是一个种类的,或者说是同质的。比如都是决策树个体学习器,或者都是神经网络个体学习器。
2、异质个体学习器:所有的个体学习器不全是一个种类的,或者说是异质的。比如我们有一个分类问题,对训练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器。
目前来说,同质个体学习器的应用是最广泛的,一般我们常说的集成学习的方法都是指的同质个体学习器。而同质个体学习器使用最多的模型是 CART 决策树和神经网络。
同质个体学习器按照个体学习器之间是否存在依赖关系可以分为两类:
1、第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,代表算法是 boosting 系列算法。
2、第二个是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是 bagging 和随机森林(Random Forest)系列算法。
集成学习常用算法
目前的集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是 Boosting ,后者的代表是 Bagging 和随机森林 (Random Forest)。(注意