本文结构:

  • 基本流程
  • 有放回抽样的好处
  • 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 使用例子:

from sklearn.ensemble import BaggingClassifier
from sklearn.neighbors import KNeighborsClassifier
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


推荐阅读
历史技术博文链接汇总
也许可以找到你想要的:
[入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]

Bagging 简述相关推荐

  1. 【机器学习笔记之六】Bagging 简述

    本文结构: 基本流程 有放回抽样的好处 Bagging 特点 sklearn 中 Bagging 使用 Bagging 和 Boosting 的区别 bagging:bootstrap aggrega ...

  2. 机器学习、人工智能 博文链接汇总

    [入门问题]  [TensorFlow]  [深度学习]  [好玩儿的算法应用实例]  [聊天机器人]  [神经网络]  [机器学习]  [机器学习算法应用实例]  [自然语言处理]  [数据科学]  ...

  3. 简述计算机科学的核心内容,北京大学-计算机科学与技术(2018秋)作业及复习

    59.(第十章)外排序是指在排序前后,数据在外存上,排序时数据调入内存进行的排序方法. 60.(第十章)在选择排序.冒泡排序.归并排序中, 归并排序是空间复杂度最大的. 三.简答和程序题(共10题,每 ...

  4. 设计模式学习1:设计模式简述和设计模式原则

    设计模式简述 什么是设计模式? 软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案. 设计模式的目的: 代码高可用(相同作用的代码能重复 ...

  5. Java中常见的锁简述

    在Java的应用中,或多或少的都会接触到一些锁,那么问题就来了,在Java中,常见的锁有哪些,都有什么样的作用?? 这里给大家简单的简述一下这些学常见的锁. 本文件所涉及到的锁: 1.公平锁 / 非公 ...

  6. 简述DataInputStream和DataOuputStream

    2019独角兽企业重金招聘Python工程师标准>>> Java开发中经常会用到IO流,那么就会碰到DataInputStream和DataOuputStream这两个包装类.下面就 ...

  7. 集成学习之Bagging

    集成学习之Bagging 1 Bagging集成原理 目标:把下面的圈和方块进行分类 [此时用直线很难把圈和方块分开的] 实现过程: 1.采样不同数据集 2.训练分类器 3.平权投票,获取最终结果 4 ...

  8. Bagging与随机森林算法原理小结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boos ...

  9. 机器学习中Bagging和Boosting的区别

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Bagging和Boosting都是将已有的分类或回归算法通过一定 ...

最新文章

  1. 使用Docker-Compose,如何执行多个命令
  2. C++中成员函数和成员变量的隶属问题
  3. MySQL-在线处理大表数据 在线修改大表的表结构
  4. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)
  5. codeforces 650B - Image Preview
  6. Ubuntu20.04更换为国内源
  7. 使用CNN进行情感分类
  8. 两层卷积网络实现手写数字的识别(基于tensorflow)
  9. MySQL 5.7--多源复制(非GTID模式)
  10. 【??链表】LeetCode 92. Reverse Linked List II
  11. 安卓Gallery配合ImageSwitcher不显示图片
  12. 佳能ir2002g无法扫描到计算机,佳能ir2002g扫描驱动官方版
  13. 按照 ASCII 码从小到大进行排序
  14. docker daemon配置阿里云加速器
  15. 前端实现在线预览word(docx),pdf,excel类型的文件
  16. 磁环介绍与应用(转)
  17. 花了1晚上diy的matlab解数独算法,很好理解!
  18. QorIQ LX2160A安全引擎操作模式
  19. 写一段关于等离子杀菌技术的商业模式规划
  20. HTML5新特性浅谈

热门文章

  1. cucumber的hooks
  2. Tomcat部署war包
  3. 内网穿透工具--natapp
  4. 最近发现的新型门店,生意会火么?
  5. 搭建CMDB系统——概述
  6. 密码学安全--踪迹隐藏和加密通信
  7. 微信控制家庭智能小管家机器人(附语音聊天、人脸检测)
  8. 数据库事务、隔离级别及其应用
  9. lab anycast rp
  10. Homebrew安装与配置