数据分析 | Boosting与Bagging的区别

Boosting与Bagging的区别

Bagging思想专注于降低方差,操作起来较为简单,而Boosting思想专注于降低整体偏差来降低泛化误差,在模型效果方面的突出表现制霸整个弱分类器集成的领域。具体区别体现在如下五点:

  • 弱评估器:Bagging相互独立、并行构建;Boosting相互关联,按照顺序依次构建,先建弱分类器的效果影响后续模型的建立

  • 建树前的抽样方式:Bagging和Boosting都是样本有放回抽样和特征无放回抽样;但Boosting先建弱分类器的预测效果可能影响抽样细节

  • 集成的结果:Bagging对回归进行平均,对分类取众数,即少数服从多数;Boosting每个算法都有自己独特的规则,一般表现为某种分数的加权平均和使用输出函数进行分类,如sigmoid和softmax函数

  • 目标:Bagging降低方差来提高模型整体的稳定性来提高泛化能力;Boosting降低偏差提高模型整体的精度来提高泛化能力,众多弱分类器叠加后可以等同于强学习器

  • 单个评估器效力较弱时:Bagging可能失效,需要单个评估器准确率大于50%;Boosting则大概率会提升模型表现

如果说Bagging不同算法之间的核心区别在于靠以不同方式实现随机性,那Bosting的不同算法之间的核心区别就在于上一个弱评估器的评估结果具体如何影响下一个弱评估器的建立过程。

相关推荐
cpp_25012 分钟前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
Hugh-Yu-1301236 分钟前
二元一次方程组求解器c++代码
开发语言·c++·算法
编程大师哥30 分钟前
C++类和对象
开发语言·c++·算法
郝学胜-神的一滴1 小时前
神经网络参数初始化:从梯度失控到模型收敛的核心密码
人工智能·pytorch·深度学习·神经网络·机器学习·软件构建·软件设计
加农炮手Jinx1 小时前
LeetCode 146. LRU Cache 题解
算法·leetcode·力扣
Rabitebla1 小时前
C++ 和 C 语言实现 Stack 对比
c语言·数据结构·c++·算法·排序算法
加农炮手Jinx1 小时前
LeetCode 128. Longest Consecutive Sequence 题解
算法·leetcode·力扣
旖-旎1 小时前
递归(汉诺塔问题)(1)
c++·学习·算法·leetcode·深度优先·递归
深邃-1 小时前
【数据结构与算法】-顺序表链表经典算法
java·c语言·数据结构·c++·算法·链表·html5
努力学习的小廉1 小时前
我爱学算法之—— 前缀和(上)
c++·算法