1. 什么是集成算法
集成算法(集成学习)本身不是一种单独的机器学习算法,而是在一个数据集上构建多个机器学习模型,并将所有模型的建模结果按照特定的规则作为该集成算法的最终建模结果。
其中,由多个模型共同构成的模型称为集成评估器,组成集成评估器的模型叫做基评估器。
集成算法包含三类:Bagging,Boosting,stacking
2. Bagging类的集成算法
2.1 Bagging
概述:这种类型的集成算法中个个模型之间相互独立,也就是说每个基评估器的评估结果互不影响,集成评估的最终结果是依靠少数服从多数或者进行平均的原则来确定。比如一个集成评估器中有10个基评估器,这10个基评估器对某数据的输出结果为:6个输出1,4个输出0,则按照少数服从多数的原则集成评估器应该输出1。
构建方法:对于给定含有m个样本数据集,每次从中抽取一个样本放入到采样集中,然后又将该样本放回到原数据集中,继续进行采样抽取,也就是做有放回抽样,在采样结束后可以根据每个采样集中的样本分别进行对基评估器进行训练。
Bagging中的代表就是随机森林。
2.2 随机森林
随机森林则是基于决策树而实现的集成算法,它使用决策树作为基评估器。但是随机森林中的决策树在构建方法与传统的决策树稍有不同。传统的决策树的分支节点是基于样本的所有特征进行信息熵等的计算来确定,而随机森林中的单棵决策树的分支则是基于整体特征的一个子集进行选取。
2.3 有放回随机抽样
对于含有n个样本的训练集进行有放回抽样,也存在一个问题:有的样本可能被多次抽到,有的样本可能自始至终都没有被抽到,这部分数据叫做袋外数据。其中每一个样本被抽到的概率为:
p
=
1
−
(
1
−
1
n
)
n
p = 1-(1-\frac{1}n)^n
p=1−(1−n1)n当
n
n
n足够大时,
p
p
p约等于0.632,也就意味着会有37%的数据没有对模型的建立做出贡献,这部分袋外数据就可以作为测试数据而利用。
2.4 Bagging的另一个要求
Bagging要求各个基评估器之间尽量要独立,不仅如此,Bagging还需要基评估器的准确率要达到50%以上才能显示出集成算法的优势。假设集成评估器中含有11个基评估器,单个评估器评估正确的概率为
p
p
p,则当有6,7,8,9,10,11个基评估器判断正确的时候最终结果才是正确的,那么正确的概率为:
P
=
∑
i
=
6
11
C
11
i
p
i
(
1
−
p
)
11
−
i
P = \sum_{i=6}^{11}C_{11}^ip^i(1-p)^{11-i}
P=i=6∑11C11ipi(1−p)11−i当
p
=
0.5
p=0.5
p=0.5时
P
=
0.5
P = 0.5
P=0.5,详细结果如下图所示:
未完待续