Bagging(Bootstrap AGGregatlNG)
思维导图
原理和算法描述
Bagging的思想如上图所示,对于给定的m个样本训练集,通过随机采样得到T个样本集,对每个样本集进行训练,得到T个学习器,通过选择结合策略得到最后的结果。
Bagging算法的伪代码如上图所示,输入一个包含m个样本的训练集、一个基学习算法以及需要训练的轮数T,训练T次,输出为最终的强分类器。
- 对于t=1,2…,T:
对训练集进行第t次随机采样,共采集m次,得到包含m个样本的采样集 D b s D_{bs} Dbs
用采样集 D b s D_{bs} Dbs训练第t个弱学习器 h t h_t ht(x) - 如果是分类算法预测,则T个弱学习器投出最多票数的类别或者类别之一为最终类别。如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。
自助采样法
给定包含m 个样 本的数据集 D , 我们对它进行采样产生数据集 D’:
每次随机从 D 中挑选一个 样本, 将其拷贝放入 D‘, 然后再将该样本放回初始数据集 D 中,使得该样本在 下次采样时仍有可能被采到;这个过程重复执行m 次后,我们就得到了包含 m 个样本的数据集 D’。
每次采样中,样本不被采样到的概率为 1 − 1 m 1-\frac{1}{m} 1−m1,经过m次采样后,数据集中不被采样到的概率为 ( 1 − 1 m