概念、定义
集成学习 : 通过构建并结合多个学习器来完成学习任务。分为同质集成和异质集成。
集成学习通过将多个学习器结合,常可获得比单一学习器显著优越的泛化能力,这对弱学习器(指单一学习器)尤为明显。
问题1:集成学习把多个学习器集合起来,如何能获得比最好的单一学习器更好性能?
以二分类任务为例:
已知条件
假设有3个分类器h1、h2、h3, 3个测试测试样本 测试例1、测试例2、测试例3。其中 √ 代表分类正确,×代表分类错误, f 为真实分类结果。集成学习的结果通过投票法产生,即“少数服从多数”。
实验结果
分类器/测试例 | 测试例1 | 测试例2 | 测试例3 | acc |
---|---|---|---|---|
h1 | √ | √ | × | 66.6% |
h2 | × | √ | √ | 66.6% |
h3 | √ | × | √ | 66.6% |
集成 | √ | √ | √ | 100% |
分类器/测试例 | 测试例1 | 测试例2 | 测试例3 | acc |
---|---|---|---|---|
h1 | √ | √ | × | 66.6% |
h2 | √ | √ | × | 66.6% |
h3 | √ | √ | × | 66.6% |
集成 | √ | √ | × | 66.6% |
分类器/测试例 | 测试例1 | 测试例2 | 测试例3 | acc |
---|---|---|---|---|
h1 | √ | × | × | 33.3% |
h2 | × | √ | × | 33.3% |
h3 | × | × | √ | 33.3% |
集成 | √ | √ | × | 0 |
结论
要获得好的集成,基学习器要有一定的“准确度”,并且学习器间要具有差异。
问题2:数学层面分析集成学习的错误率
同样以二分类问题为例,分析集成学习的错误率。
设分类正确为+1,分类错误为-1,则 y∈{-1, +1} 。f为真实函数。假设基分类器的错误率为
ξ
\xi
ξ,则每个基分类器hi, 有
假设集成使用T个基分类器并通过简单投票法,则有超过一半的基分类器正确,则集成分类正确。
假设基分类器的错误率相互独立,假设X为T个基分类器的分类正确的次数,则随机变量服从二项分布X~B(T, 1- ξ \xi ξ), 同时结合Hoeffding不等式可知,集成的错误率为:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/03a32734432410158f93dfe5218f724b.jpeg)
可见,随着集成中个体分类器数目T的增多,集成的错误率将指数级下降,最终趋向于零。但是在实际中,个体训练器都是为解决同一个任务解决的,很难满足相互独立这个条件。一般来说,准确性很高之后,增加多样性就需要牺牲准确性。因此一个好的集成需要兼顾多样性和准确性。
注:
Hoeffding不等式定义如下: