Bagging, Boosting, Bootstrap
Bagging 和 Boosting 都属于机器学习中的元算法(meta-algorithms)。所谓元算法,简单来讲,就是将几个较弱的机器学习算法综合起来,构成一个更强的机器学习模型。这种「三个臭皮匠,赛过诸葛亮」的做法,可以帮助减小方差(over-fitting)和偏差(under-fitting),提高准确率。
狭义的理解:Bagging,Boosting 为这种元算法的训练提供了一种采样的思路。
Boosting
Boosting 最著名的实现版本应该是 AdaBoost 了。
Boosting 的流程一般为:
- 从数据集 D 中,无放回地、随机地挑选出一个子集 d1,训练一个弱的分类器 C1;
- 从数据集 D 中,无放回地、随机地挑选出一个子集 d2,再加上一部分上一步被错分类的样本,训练一个弱分类器 C2;
- 重复步骤 2,直到所有分类器都训练完毕;
- 综合所有的弱分类器,并为每个分类器赋予一个权值。
Bagging
采用 Bagging 原理的机器学习算法,代表的有 Random Forest(有些许改进)。
理解 Bagging 之前,需要先简单了解一下 Bootstrap 的概念。Bootstrap 是一种有放回的随机采样过程(注意,Boosting 是无放回的)。
Bagging 指的其实是 Bootstrap AGGregatING,「aggregating」是聚合的意思,也就是说,Bagging 是 Bootstrap 的增强版。
Bagging 的流程一般为:
- 根据 bootstrap 方法,生成 n 个不同的子集;
- 在每个子集上,单独地训练弱分类器(或者说,子机器学习模型);
- 预测时,将每个子模型的预测结果平均一下,作为最终的预测结果。
Bagging 和 Boosting 对比
Bagging 这种有放回的采样策略,可以减少 over-fitting,而 Boosting 会修正那些错分类的样本,因此能提高准确率(但也可能导致 overfitting )。
Bagging 由于样本之间没有关联,因此它的训练是可以并行的,比如 Random Forest 中,每一棵决策树都是可以同时训练的。Boosting 由于需要考虑上一步错分类的样本,因此需要顺序进行。
参考
- What's the difference between boosting and bagging?
- Bagging, boosting and stacking in machine learning
- bootstrap, boosting, bagging 几种方法的联系
Bagging, Boosting, Bootstrap的更多相关文章
- 快速理解bootstrap,bagging,boosting,gradient boost-三个概念
1 booststraping:意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法. 其核心思想和基本步骤如下: (1 ...
- Jackknife,Bootstrap, Bagging, Boosting, AdaBoost, RandomForest 和 Gradient Boosting的区别
Bootstraping: 名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统 ...
- Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting的区别
引自http://blog.csdn.net/xianlingmao/article/details/7712217 Jackknife,Bootstraping, bagging, boosting ...
- 【机器学习】Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting 这些术语,我经常搞混淆, ...
- Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
Booststrap aggregating (有些地方译作:引导聚集),也就是通常为大家所熟知的bagging.在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法,常用于统计分类和回归中. ...
- 机器学习 - 算法 - 集成算法 - 分类 ( Bagging , Boosting , Stacking) 原理概述
Ensemble learning - 集成算法 ▒ 目的 让机器学习的效果更好, 量变引起质变 继承算法是竞赛与论文的神器, 注重结果的时候较为适用 集成算法 - 分类 ▒ Bagging - bo ...
- 机器学习入门-集成算法(bagging, boosting, stacking)
目的:为了让训练效果更好 bagging:是一种并行的算法,训练多个分类器,取最终结果的平均值 f(x) = 1/M∑fm(x) boosting: 是一种串行的算法,根据前一次的结果,进行加权来提高 ...
- 集成算法(Bagging & Boosting)
用多种分类器一起完成同一份任务 Bagging策略(有放回的,随机的,子集大小一样的,m个训练集用同一个模型) Boosting-提升策略(串联) AdaBoost算法
- 转载:bootstrap, boosting, bagging 几种方法的联系
转:http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, ja ...
随机推荐
- 给笔记本更换SSD硬盘
给笔记本更换SSD硬盘... ---------- 给笔记本更换SSD硬盘 带活动字样的一个新的系统盘,一个之前的主分区的系统盘 ----------------------------
- Shell的Posix字符分类
[:alnum:] 匹配范围为 [a-zA-Z0-9] [:alpha:] 匹配范围为 [a-zA-Z] [:blank:] 匹配范围为 空格和TAB键 [:cntrl:] 匹配控制键 例如 ^M 要 ...
- 【XShell】xshell评估过期解决办法
1.登录网景官网的下载页面: 官网:https://www.netsarang.com/download/down_form.html?code=522 2.填写基本信息 licensetype 必须 ...
- net-snmp开发教程
目录 1................................................................................................ ...
- SNMP支持IPv6
SNMP Trap 网上好像很少提到ipv6的配置文件格式,这个配置文件的格式应该为: trap2sink udp6:[fec0::]:: 创建监听的函数入口:netsnmp_udp_transp ...
- Ruby页面,循环赋值方法(类似java EL表达式赋值)
------------前台代码--------------- <% @form_hash.each_with_index do |f,index| %> <% item = f[: ...
- HDU 1064(求平均数 **)
题意是求 12 个浮点数的平均数,这题不用读题,看到运行时间为 200 ms 再看下样例就能猜出题目的要求了,代码如下: #include <bits/stdc++.h> using na ...
- C#中连接MySQL数据
小结一下MySQL在C#中是如何连接的,并做一些简单的选择(SELECT).插入( INSERT).更新( UPDATE).删除(DELETE ) (一)连接 a) Firstly, you shou ...
- python科学计算
windows下python科学计算库的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/(由于C运行库的问题,scipy在linux下可以用pip安装,而 ...
- 百度编辑器 ueditor 会屏蔽过滤 body html head DOCTYPE ... 的解决办法
百度编辑器很强,但有时候复制到html里时,会带有 body html head 等标签,切到视图时,内容都不见了 是因为白名单 解决办法: 我测的是1.4.3版本 在 ueditor.config ...