集成学习是通过将多个分类器组合在一起的方式,构建出一个强分类器。
1.Boosting、Bagging
Bagging方法是通过构造不同的训练样本集来构造不同的分类器,具体采用Bootstrap方法对样本进行有放回的采样,经过M次采得到M个分类器,采用投票机制组合多个分类器的结果。
Boosting方法是通过重赋权重的方法为训练样本赋予一个权重,在上一轮分类错误的样本会获得更高权重,经过M次迭代后得到M个分类器,对其进行加权组合,分类误差越小的模型权重越大。
算法对比
算法 | 样本选择 | 样本权重 | 预测函数 | 并行计算 | 经典算法 |
Bagging | 随机抽样,样本独立 | 权重相同 | 投票原则 | 可以并行 | 随机森林 |
Boosting | 样本完全相同 | 对分类效果差的样本加大权重 | 基分类器加权组合 | 顺序生成 | Adaboost |
2. Adaboost
实施步骤:
(1)初始化样本的权值分布为均匀分布
(2) 遍历样本集的所有特征及其取值,并带入权重计算相应的分类误差率。
(3) 选择2中分类误差最小的特征及其取值,构建单层基分类器,计算该分类器的权重系数。
(4) 对所有基分类器进行加权组合。