本文结构:

  • 基本流程
  • 有放回抽样的好处
  • Bagging 特点
  • sklearn 中 Bagging 使用
  • Bagging 和 Boosting 的区别

bagging:bootstrap aggregating 的缩写。
是一种并行式集成学习方法,可用于二分类,多分类,回归等任务。

基本流程:

  1. 对一个包含 m 个样本的数据集,有放回地进行 m 次随机采样,这样得到具有 m 个样本的采样集。
  2. 取 T 个这样的采样集。
  3. 每个采样集训练一个基学习器。
  4. 结合:分类任务,使用简单投票法。回归任务,使用简单平均法。

有放回抽样的好处

这种有放回抽样会有 63.2% 的样本出现在采样集中,而剩下的 36.8% 样本可以作为验证集对模型的泛化性能进行包外估计。

当基学习器是决策树时,可以用包外样本来辅助剪枝,
还可以用于估计决策树中各结点的后验概率来辅助对零训练样本结点的处理。

基学习器是神经网络时,用包外样本来辅助早期停止来减小过拟合。


Bagging 特点

Bagging 主要关注降低方差,是要降低过拟合,而不会降低偏差,因此最好不要用高偏差的模型。
在不剪枝决策树,神经网络等易受样本扰动的学习器上效用更为明显。例如当基学习器是决策树时,Bagging 是并行的生成多个决策树,此时可以不做剪枝,这样每个都是强学习器,就会有过拟合的问题,但是多个学习器组合在一起,可以降低过拟合。


scikit-learn 中 Bagging 使用例子:

1 from sklearn.ensemble import BaggingClassifier
2 from sklearn.neighbors import KNeighborsClassifier
3 model=BaggingClassifier(KNeighborsClassifier(), max_samples=0.5,max_features=0.5)

Bagging 和 Boosting 的区别

  1. 样本选择:Bagging 的训练集是在原始集中有放回选取的,各轮训练集之间是独立的,每个样例的权重相等;Boosting 的训练集不变,只是每个样例在分类器中的权重发生变化,错误的样本会得到更大的重视;
  2. Bagging 的预测函数没有权重之分;Boosting 的预测函数是有权重之分,效果好的函数权重大;
  3. Bagging 的各个预测函数并行产生,容易 map-reduce ,Boosting 的预测是顺序产生,后一个模型参数需要前一轮模型的结果。

学习资料:
《机器学习》
http://f.dataguru.cn/thread-301569-1-1.html
http://scikit-learn.org/stable/modules/ensemble.html#bagging
http://www.cnblogs.com/liuwu265/p/4690486.html
http://www.jianshu.com/p/708dff71df3a

【机器学习笔记之六】Bagging 简述相关推荐

  1. 机器学习笔记 - YOLOv7 论文简述与推理

    一.概述 YOLO 系列对象检测模型已经取得了长足的进步. YOLOv7 是这个著名的基于锚的单次目标检测器系列的最新成员. 它带来了一系列改进,包括最先进的准确性和速度. 以 COCO 数据集为基准 ...

  2. 机器学习笔记 - YOLO家族简介

    一.背景概述 目标检测是计算机视觉中最重要的课题之一.大多数计算机视觉问题都涉及检测视觉对象类别,如行人.汽车.公共汽车.人脸等.这一领域不仅限于学术界,而且在视频监控.医疗保健.车载传感和自动驾驶. ...

  3. 机器学习笔记十四:随机森林

    在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式.  而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...

  4. Python机器学习笔记:sklearn库的学习

    自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...

  5. python网格搜索核函数_机器学习笔记——模型调参利器 GridSearchCV(网格搜索)参数的说明...

    算法 数据结构 机器学习笔记--模型调参利器 GridSearchCV(网格搜索)参数的说明 GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数.但是这个 ...

  6. 机器学习笔记——神经网络与深度学习

    机器学习笔记--神经网络与深度学习 一.神经网络引言 二.神经元模型与激活函数 2.1 神经元模型 2.2 激活函数 2.2.1 sigmoid & tanh 2.2.2 ReLU激活函数 2 ...

  7. 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

    [机器学习笔记]可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning) 目录 [机器学习笔记]可解释机器学习-学习笔记 Interpre ...

  8. 机器学习笔记-Logistic分类

    机器学习笔记-Logistic分类 作者:星河滚烫兮 我们知道,回归模型一般是去根据已有的标记数据去预测新事物.Logistic回归模型因为历史原因有"回归"二字,但其实是一个分类 ...

  9. 机器学习笔记之前馈神经网络(一)基本介绍

    机器学习笔记之前馈神经网络--基本介绍 引言 从机器学习到深度学习 频率学派思想 贝叶斯学派思想 深度学习的发展过程 引言 从本节开始,将介绍前馈神经网络. 从机器学习到深度学习 在机器学习笔记开始- ...

最新文章

  1. 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
  2. 集成学习(Bagging和AdaBoost和随机森林(random forest))
  3. openssl 自建CA签发证书 网站https的ssl通信
  4. java 重写set方法_Java程序设计-方法的重写(override)(笔记)
  5. 学习JS基本数据类型与对象的valueOf方法
  6. 金明的预算方案(分组背包)
  7. 【深度一键还原】我的台式机
  8. python2.0 s12 day8 _ python线程python进程
  9. vue 事件调用 传参_高效开发小程序,Vue 和微信小程序的区别你该了解一下
  10. python numpy 里面的[:, None]是个什么鬼?[..., None]呢?
  11. matlab设置图片背景透明_Matlab保存透明图片程序
  12. SAP ABAP 教程大全之 01 面向初学者的 SAP ABAP介绍(含hello world 源码)
  13. App Store审核规范
  14. visual studio出现的0xc0000135问题
  15. 全民一起玩Python提高篇第十二课:面向对象基本原理与语法(三)
  16. 趁着双11,写个京东商品自动下单
  17. Rman Crosscheck删除失效归档(转)
  18. 蚁群优化算法(ACO)
  19. 【javascript】车标JSON格式--汽车品牌JSON格式
  20. JAVA计算机毕业设计抑郁症患者博客交流平台Mybatis+源码+数据库+lw文档+系统+调试部署

热门文章

  1. java数据库打包_java程序需要连接数据库 如何打包
  2. java mysql limit分页,MySQL limit使用方法以及超大分页问题解决
  3. python生成器函数的使用(模拟cycle函数)
  4. 485通讯线是几芯的_RS485协议 电脑与stm32单片机通信 keil编程 在485的硬件错误中徘徊...
  5. 安卓选择多张图片上传_微信7.0.5更新!安卓客户端领先ios发布,新增多项实用功能...
  6. shiro中ini配置文件
  7. vb中SendMessage函数
  8. VB 打开文件夹,并选中指定的文件
  9. 我是京东智能配送机器人,已抵达您的楼下
  10. 马斯克自曝特斯拉渣产能原因:我错了,过分信任自动化机器人