集成学习
集成学习
ensemble learning
是通过构建并结合多个学习器来完成学习任务。其一般结构为:先产生一组“个体学习器”(
individual learner
) 。个体学习器通常由一种或者多种现有的学习算法从训练数据中产生。如果个体学习器都是从某一种学习算法从训练数据中产生,则称这样的集成学习是同质的
homogenerous
。此时的个体学习器也称作基学习器
base learner
,相应的学习算法称作基学习算法。如果个体学习器是从某几种学习算法从训练数据中产生,则称这样的集成学习是异质的
heterogenous
。
再使用某种策略将它们结合起来。集成学习通过将多个学习器进行组合,通常可以获得比单一学习器显著优越的泛化性能。
通常选取个体学习器的准则是:
- 个体学习器要有一定的准确性,预测能力不能太差。
- 个体学习器之间要有多样性,即学习器之间要有差异。
通常基于实际考虑,往往使用预测能力较强的个体学习器(即强学习器,与之对应的为弱学习器)。
强学习器的一个显著的好处就是可以使用较少数量的个体学习器来集成就可以获得很好的效果。
根据个体学习器的生成方式,目前的集成学习方法大概可以分作两类:
- 个体学习器之间存在强依赖关系、必须串行生成的序列化方法,每一轮迭代产生一个个体学习器。其中以
Boosting
为代表。 - 个体学习器之间不存在强依赖关系、可同时生成的并行化方法。其中以
Bagging
和随机森林Random Forest
为代表。
- 个体学习器之间存在强依赖关系、必须串行生成的序列化方法,每一轮迭代产生一个个体学习器。其中以