一、概述
1. 什么是集成学习?
集成学习(ensemble learning)是用多种学习方法的组合来获取比原方法更优的结果。
使用于组合的算法是弱学习算法,即分类正确率仅比随机猜测略高的学习算法,但是组合之后的效果仍可能高于强学习算法,即集成之后的算法准确率和效率都很高。
“三个臭皮匠顶个诸葛亮”
2. 例子
考虑一个简单的例子,在二分类问题中,假定3个分类器在三个样本中的表现如下图所示,其中√ 表示分类正确,X 号表示分类错误,集成的结果通过投票产生。
集成个体应:好而不同,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”,即学习器间具有差异
3. 聚类的两大算法
(1)个体学习器存在强依赖性、必须串行生成的序列化方法,典型代表是Boosting
(2)个体学习器之间不存在强依赖性、可同时生成的并行化方法,典型代表是Bagging和随机森林(Random Forest)
二、Boosting(提升方法)
1. 概述
主要思想是将弱分类器组装成一个强分类器。
在分类问题中,主要思想是将弱分类器组装成一个强分类器。具体地,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称基分类器),然后组合这些弱分类器,构成一个强分类器。
大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。