数据分析 | Boosting与Bagging的区别

Boosting与Bagging的区别

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

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

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

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

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

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

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

相关推荐
在猴站学算法2 小时前
机器学习(西瓜书) 第二章 模型评估与选择
人工智能·机器学习
Tiandaren4 小时前
Selenium 4 教程:自动化 WebDriver 管理与 Cookie 提取 || 用于解决chromedriver版本不匹配问题
selenium·测试工具·算法·自动化
岁忧5 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
chao_7895 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
秋说7 小时前
【PTA数据结构 | C语言版】一元多项式求导
c语言·数据结构·算法
Maybyy7 小时前
力扣61.旋转链表
算法·leetcode·链表
卡卡卡卡罗特9 小时前
每日mysql
数据结构·算法
chao_78910 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
lifallen11 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
lixzest11 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法