机器学习笔记
集成学习之个体与集成(来自周志华老师的机器学习)
集成学习
(ensemble
learning)
通过构建并结合多个学习器来完成学习任 务,有时也被称为多分类器系统(multi-classifier
system)
、基于委员会的学 (committee-based learning)
等
.
集成学习的一般结构:先产生一组"个体学习器" (individual
learner)
,再用某种策略将它们结合起来.
个体学习器通常由一个现有的学习算法从训练数据产生,
集成中只包含同种类型的个体学习器的集成是“同质”的,相应的学习算法称为“基学习算法”。同质集成中的个体学习器亦称"基学习器"
集成中只包含不同种类型的个体学习器的集成是“异质”的,异质集成中的个体学习器由不同的学习算法生成,这时就不再有基学习算法;相应的,个体学习器一般不称为基学习器,常称为"组件学习器" (component learner) 或直接称为个体学习器.
![](https://i-blog.csdnimg.cn/blog_migrate/72cfeab63ee9a8ddd364f783c3209fd5.png)
我们来做个简单的分析.考虑二分类问题 y∈
{-1 ,+1} 和真实函数f,假定基分类器的错误率为
,即对每个基分类器 hi都有
![](https://i-blog.csdnimg.cn/blog_migrate/b5f8f7490fb23d193a6ade4b78c6485a.png)
假设集成通过简单投票法结合 T个基分类器,若有超过半数的基分类器正确, 则集成分类就正确:
假设基分类器的错误率相互独立,则由
Hoeffding
不等式可知,集成的错误率为
![](https://i-blog.csdnimg.cn/blog_migrate/30c08a7c61a34d0f33595ef09dc18460.png)
上式显示出,随着集成中个体分类器数目 T
的增大,集成的错误率将指数级下
降,最终趋向于零.
然而我们必须注意到,上面的分析有一个关键假设:基学习器的独立.在现实任务中,个体学习器是为解决同一个问题训练出来的,它们显然不 可能相互独立.事实上,个体学习器的"准确性"和"多样性"本身就存在冲突.一般的,准确性很高之后,要增加多样性就需牺牲准确性.事实上,如何产生并结合"好而不同"的个体学习器,恰是集成学习研究的核心.
根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即 个体学习器问存在强依赖关系、必须串行生成的序列化方法,以及个体学习器 间不存在强依赖关系、可同时生成的并行化方法;前者的代表是 Boosting
,后者的代表是 Bagging
和"随机森林"
(Random Forest).