八、bagging的原理和案例分析
目录
来源
Datewhle24期__集成学习(中) :
https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning
作者:李祖贤、薛传雨、赵可、杨毅远、陈琰钰
论坛地址:
http://datawhale.club/t/topic/1574
8.1 Bagging
8.1.1 Bagging概念原理
-
首先一张靶图回顾下方差(Variance)和偏差(Bias):
Bias
和Variance
分别代表准和确两个概念。 -
Bagging是一种降低方差的技术
-
Bagging是Bootstrap aggregating的缩写。中文意思是自助聚合。而Bootstrap本身是一种有放回的抽样方法(可能抽到重复的样本)
-
Bagging是一种并行式的集成学习方法,即基学习器的训练之间没有前后顺序可以同时进行,Bagging使用**“有放回”采样的方式选取训练集**,对于包含m个样本的训练集,进行m次有放回的随机采样操作,从而得到m个样本的采样集,这样训练集中有接近36.8% [1] 的样本没有被采到。按照相同的方式重复进行,我们就可以采集到T个包含m个样本的数据集,从而训练出T个基学习器,最终对这T个基学习器的输出进行结合。
lim m ↦ ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim _{m \mapsto \infty}\left(1-\frac{1}{m}\right)^{m} \mapsto \frac{1}{e} \approx 0.368 m↦∞lim(1−m1)m↦e1≈0.368… [1]
9.1.2 Bagging流程
Bagging算法的流程:
- 另一形式:
- 从原始样本集中有放回随机采样。共进行k轮抽取,得到k个训练集。(bootstrap的过程,由于是有放回抽样,所以k个训练集之间相互独立)
- 每次使用一份训练集训练一个模型,k 个训练集共得到 k 个基模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
- 利用这k个基模型对测试集进行预测,将k个预测结果进行聚合。(aggregating的过程)
1. 分类问题:将上步得到的k个模型采用投票的方式得到分类结果
2. 回归问题:计算上述模型的均值作为最后的结果。(所有模型的重要性相同)
9.1.2 Bagging算法特点:
1、可并行的集成方法。每个基模型可以分别、独立、互不影响地生成。
2、主要降低 Variance,对 Bias 无明显作用。因此,适用于 High Variance & Low Bias 的模型。
- 偏差角度:Bagging后的偏差与单个模型相近。
由于 B i a s = 1 k ∑ i = 1 k b i a s i Bias=\frac{1}{k} \sum_{i=1}^{k}bias_{i} Bias=k1∑i=1