数据分析 | Boosting与Bagging的区别

Boosting与Bagging的区别

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

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

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

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

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

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

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

相关推荐
普美瑞生物前沿4 小时前
创新药物发现:基于机器学习的虚拟筛选发现新型CYP19A1抑制剂
人工智能·机器学习·虚拟筛选
All The Way North-4 小时前
一文系统性理清PyTorch多分类任务交叉熵损失:从 Softmax 到 CrossEntropyLoss
人工智能·pytorch·深度学习·机器学习·交叉熵损失·多分类损失
foxsen_xia4 小时前
go(基础01)——协程
开发语言·算法·golang
稚辉君.MCA_P8_Java4 小时前
Gemini永久会员 Go 返回最长有效子串长度
数据结构·后端·算法·golang
jyyyx的算法博客4 小时前
LeetCode 面试题 16.22. 兰顿蚂蚁
算法·leetcode
TL滕4 小时前
从0开始学算法——第五天(初级排序算法)
数据结构·笔记·学习·算法·排序算法
Q741_1474 小时前
C++ 高精度计算的讲解 模拟 力扣67.二进制求和 题解 每日一题
c++·算法·leetcode·高精度·模拟
夏乌_Wx4 小时前
练题100天——DAY19:含退格的字符串+有序数组的平方
算法
Ayanami_Reii4 小时前
进阶数据结构应用-线段树扫描线
数据结构·算法·线段树·树状数组·离散化·fenwick tree·线段树扫描线
leoufung4 小时前
LeetCode 98 Validate Binary Search Tree 深度解析
算法·leetcode·职场和发展