集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时候也被称为多分类器系统(multi-classifier system)、基于委员会学习(committe-based learning)等。
集成学习的一般结构:先产生一组“个体学习器”(individual learner),再用某种策略将它们结合起来。个体学习器通常有一个现有的学习算法从训练数据中产生,集成学习中个体学习器可以相同也可以不同。
基层成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。
如上图,在二分类任务中,三个分类器在三个测试样本上的表现,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法(voting)产生,即“少数服从多数”。
从图上可以知道,要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”(diversity),即学习器之间具有差异。
随着集成中个体分类器数目T的增大,集成的错误率将指数级下降,最终趋向于零。(基学习器的误差相互独立)
根据个体学习器的生成方式,目前的集成学习方法大致可以分为两类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表为Boosting;以及个体学习器间不存在强依赖关系、可同时生成的并行方法,代表为Bagging和“随机森林”(Random Forest)。
参考
- 《机器学习》—— 周志华