简述boosting和bagging的基本流程,对比两者异同
时间: 2023-10-21 16:07:16 浏览: 140
Boosting和Bagging都是集成学习中常用的方法,基本流程如下:
Bagging(Bootstrap Aggregating)的基本流程:
1. 随机有放回地从原始数据集中抽取m个样本,共抽取k次,得到k个新的样本集合;
2. 对于每个新的样本集合,使用同一个学习算法来训练一个基学习器,得到k个基学习器;
3. 将得到的k个基学习器进行结合,通常使用简单投票法来决定分类问题的最终结果,使用平均法来决定回归问题的最终结果。
Boosting的基本流程:
1. 初始化训练集的权值分布,使每个样本的权值相等;
2. 使用当前权值分布训练一个基学习器,得到一个分类器;
3. 根据分类器的分类准确率更新每个样本的权值,使得分类错误的样本权值增加;
4. 根据更新后的权值分布重新训练分类器,得到一个新的分类器;
5. 重复步骤3、4直到分类器的数量达到预设的值T,或者达到某个终止条件。
Boosting和Bagging的异同:
1. 总体思路不同:Bagging是通过随机抽样的方式建立多个基学习器,再通过投票的方式来决定最终的结果;Boosting则是通过多个基学习器的组合来逐步提高分类器的准确性,每个基学习器的权重与其表现有关。
2. 样本权重分配不同:Bagging中每个样本在每个基学习器中的权重是一样的,而Boosting中每个样本在每个基学习器中的权重会根据前一个基学习器的错误率进行动态调整。
3. 基学习器的数量不同:Bagging中基学习器的数量是固定的,而Boosting中基学习器的数量是可变的,直到达到预设的数目或达到某个终止条件。
4. 基学习器的类型不同:Bagging中的基学习器通常选取的是同一种类型的学习器,而Boosting中的基学习器通常选取的是不同类型的学习器,例如决策树、神经网络等。
阅读全文