一、集成学习概述
集成学习(Ensemble Learning)有时也被称为多分类器系统(multi-classfier system),是指将多个个体学习器集成或组合在一起,共同完成学习任务,现在已经被广泛用于分类和回归任务中。
集成学习的思想来源于“三个臭皮匠赛过诸葛亮”:使用一些(不同的)方法改变原始训练样本的分布,从而构建多个不同的分类器,并将这些分类器线性组合得到一个更强大的分类器,来做最后的决策。现实中我们也经常使用“集成学习”的思想来进行可靠的决策,比如投票、开会、头脑风暴等。
如下图所示,集成学习的结构是:对于训练数据集,通过训练若干个不同的个体学习器,通过一定的结合策略(比如投票法、平均法等),最终得到一个强学习器,从而得到更好的学习结果。
要使集成学习的结果可行,需达到两个条件:
1、分类器之间要有差异性,否则集成学习得到的结果与个体学习器学习的结果一样;
2、个体分类器的分类误差率要小于0.5,如下图所示,当误差率大于0.5时,集成规模越大,分类误差率也增大;而当误差率小于0.5时,则集成误差率可逐渐趋于0。
集成学习有两个关键点:
1、如何构建具有差异性的个体分类器;
2、如何对这些个体分类器进行集成/组合。
二、集成学习之个体学习器
集成学习的个体学习器通常由决策树(Decision Tree)、支持向量机(Support Vector Machine)、KNN、神经网络等算法训练而成。
集成学习的个体学习有两类,一类是同质个体学习器,即集成学习中所有个体学习器都是由一种学习算法训练而成的;另一类是异质个体学习器,即集成学习中个体学习器不都由同一种学习算法训练而成。
目前应用较广泛的是同质个体学习器。
三、集成学习之学习方法
集成学习的学习方法主要有三种:Bagging方法、Boosting方法、Stacking方法