一、集成学习概念
集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。
二、集成学习的组成
2.1、集成学习的一般结构
1. 先产生一组 “个体学习器”
2. 再用某种策略将它们结合起来
个体学习器通常由一个现有的学习算法从训练数据产生,例如 C4.5决策树算法、BP 神经网络算法等,此时集成中只包含同种类型的个体学习器,例如 “决策树集成” 中全是决策树,“神经网络集成” 中全是神经网络,这样的集成是 “同质” 的。“同质” 集成中的个体学习器亦称为 “基学习器”,相应的学习算法称为 “基学习算法”。
集成也可包含不同类型的个体学习器,例如同时包含决策树和神经网络这样的集成是 “异质” 的,“异质” 集成中的个体学习器由不同学习算法生成,这时就不再有基学习算法;相应的,个体学习器一般不称为基学习器,常称为 “组件学习器” 或直接成为 “个体学习器”。
2.2、弱学习器
弱学习器常指泛化性能略优于随机猜测的学习器;例如在二分类问题上精度略高于50%的分类器。
集成学习通过将多个学习器结合,常可获得比单一学习器显著优越的泛化性能。这对于 “弱学习器” 尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器。
但需注意,虽然从理论上来说使用弱学习器集成足以获得好的性能,但在实践中会有很多影响因素,例如希望使用较少的个体学习器,或是重用关于常见学习器的一些经验,人们常常会使用比较强的学习器。
2.3、集成学习组合多个学习器后怎样获得比最好的单一学习器更好的性能?
例
在二分类任务中,假设三个分类器在三个测试样本上的表现如下图,其中对号表示分类正确,叉号表示分类错误,集成学习的结果通过 “投票法” 产生,即 “少数服从多数”。图中 a 中每个分类器的精度都是66.6%,但集成学习却达到了100%;图 b 中三个分类器没有差别,集成后性能没有提高;图 c 中每个分类器的精度只有33.3%,集成学习的结果变得更糟。
这个例子显示:要获得好的集成个体学习器应 “好而不同”,即个体学习器要有一定的 “准确性”,基学习器不能太坏,并且要有 “多样性”,即学习器之间要有差异。
三、集成学习误差
考虑二分类问题
y
∈
y\in
y∈ {
−
1
,
+
1
{-1,+1}
−1,+1} 和真实函数
f
f
f ,假定基分类器的错误率为
ϵ
\epsilon
ϵ,即对每个基分类器
h
i
h_i
hi 有
P
(
h
i
(
x
)
≠
f
(
x
)
)
=
ϵ
(
3.1
)
P(h_i(x)\not=f(x))=\epsilon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(3.1)
P(hi(x)=f(x))=ϵ (3.1)
假设集成通过简单投票法结合
T
T
T 个基分类器,若有超过半数的基分类器正确,则集成分类就正确
H
(
x
)
=
s
i
g
n
(
∑
i
=
1
T
h
i
(
x
)
)
(
3.2
)
H(x)=sign\left(\sum_{i=1}^{T} h_i(x)\right)~~~~~~~~~~~~~~~~~~~~~~~~~(3.2)
H(x)=sign(i=1∑Thi(x)) (3.2)
假设基分类器的错误率相互独立,则由 Hoeffding 不等式可知,集成的错误率为
P
(
H
(
x
)
≠
f
(
x
)
)
=
∑
k
=
0
⌊
T
/
2
⌋
(
T
k
)
(
1
−
ϵ
)
k
ϵ
T
−
k
P(H(x)\not=f(x))=\sum_{k=0}^{\lfloor T/2\rfloor} \begin{pmatrix} T \\ k \end{pmatrix}(1-\epsilon)^k \epsilon^{T-k}~~~~~~~~~~~~~~~~~~~~~~~~~~~
P(H(x)=f(x))=k=0∑⌊T/2⌋(Tk)(1−ϵ)kϵT−k
≤
e
x
p
(
−
1
2
T
(
1
−
2
ϵ
)
2
)
(
3.3
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\leq exp\left(-\frac{1}{2}T(1-2\epsilon)^2\right)~~~~~~~~~~~~~~~~~~~(3.3)
≤exp(−21T(1−2ϵ)2) (3.3)
上式显示出,随着继承中个体分类器数目T的增大,集成的错误率将指数级下降,最终趋向于零。
⌊ ⌋:floor函数,向下取整。
上面的分析有一个关键假设:基学习器的误差相互独立。
- 实际上个体学习器是为了解决同一个问题训练出来的,而且可能是同一类算法从同一个训练集中产生。
这样个体学习器的错误率显然不能相互独立。
- 实际上个体学习器的准确性和多样性本身就存在冲突。
(1)通常个体学习器的准确性很高之后,要增加多样性就需要牺牲准确性。
(2)实际上如何产生并结合”好而不同“的个体学习器就是集成学习研究的核心。
- 根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类。
(1)个体学习器间存在强依赖关系,必须串行生成的序列化方法,代表是Boosting。
(2)个体学习器间不存在强依赖关系,可同时生成的并行化方法,代表是Bagging和随机森林(Random Forest)。