转自:Bagging和Boosting 概念及区别:http://www.cnblogs.com/liuwu265/p/4690486.html

(仅作为笔记,如有侵权请告知)

Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。

首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。

1、Bagging (bootstrap aggregating)

Bagging即套袋法,其算法过程如下:

A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

2、Boosting

其主要思想是将弱分类器组装成一个强分类器。在PAC(概率近似正确)学习框架下,则一定可以将弱分类器组装成一个强分类器。

关于Boosting的两个核心问题:

1)在每一轮如何改变训练数据的权值或概率分布?

通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

2)通过什么方式来组合弱分类器?

通过加法模型将弱分类器进行线性组合,比如AdaBoost通过加权多数表决的方式,即增大错误率小的分类器的权值,同时减小错误率较大的分类器的权值。

而提升树通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型。

3、Bagging,Boosting二者之间的区别

Bagging和Boosting的区别:

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

4、总结

这两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。

下面是将决策树与这些算法框架进行结合所得到的新的算法:

1)Bagging + 决策树 = 随机森林

2)AdaBoost + 决策树 = 提升树

3)Gradient Boosting + 决策树 = GBDT

参考文献

[1] 林轩田,机器学习技法。

[2] IRLAB, http://www.cnblogs.com/guolei/archive/2013/05/21/3091301.html

[3] 百度技术,http://baidutech.blog.51cto.com/4114344/743809/

Bagging和Boosting 策略及其区别相关推荐

  1. Bagging和Boosting 概念及区别

    Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法.即将弱分类器组装成强分类器的方法. 首先介绍Boot ...

  2. 集成模型Bagging和Boosting的区别

    Bagging和Boosting的主要区别 Bagging(套袋法) Boosting(提升法) Bagging,Boosting二者的区别 总结 基本概念--偏差.方差 为什么说bagging是减少 ...

  3. 【集成学习】:bagging和boosting算法及对比

    参考:bagging和boosting算法(集成学习算法) Bagging算法和Boosting区别和联系 机器学习笔记-集成学习之Bagging,Boosting,随机森林三者特性对比 目录 1. ...

  4. bagging 与boosting

    Bagging和Boosting 概念及区别 Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法.即将弱 ...

  5. bagging和boosting算法(集成学习算法)

    一.集成学习简介   在讲boosting和bagging算法之前,首先需要了解一下集成学习的概念.集成学习是指将若干弱分类器组合之后产生一个强分类器.弱分类器(weak learner)指那些分类准 ...

  6. Bagging和Boosting的区别(面试准备)

    Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好. Bagging: 先介绍Bagging方法: Bagging ...

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

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

  8. 【机器学习】Bagging和Boosting的区别(面试准备)

    Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好. Bagging: 先介绍Bagging方法: Bagging ...

  9. 三分钟让面试官满意系列 - Bagging和Boosting 的联系及区别

    联系 Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法.即将弱分类器组装成强分类器的方法. 介绍 1. ...

最新文章

  1. PHP基础入门(五)---PHP面向对象实用基础知识
  2. 【转】TechEd第一课:新一代关系管理系统XRM**
  3. 年仅48岁,985高校教授离世
  4. apache htpasswd.exe创建密码
  5. creo管道设计教程_Creo产品设计教程:握力器弹簧建模,一个技巧轻松搞定
  6. C#LeetCode刷题之#326-3的幂(Power of Three)
  7. 将汇编语言翻译成C语言,如何把汇编语言转换成C语言
  8. html5语法参考图片,CSS属性参考 | background-image
  9. 数据结构之散列表实现
  10. 梦幻之旅--深入大规模芯片设计全过程
  11. orcale linux卸载,Linux下卸载ORACLE的多种方法(转)
  12. C语言自己写代码实现的strcmp函数
  13. matlab 正则化表达式_MatLab归一化(正则化)函数
  14. 学报格式和论文格式一样吗_工大学报论文格式要求
  15. 7kyu Jaden Casing Strings
  16. G 蛋白偶联受体与小分子化合物的相互作用
  17. vscode的leetcode插件无法账号登陆([ERROR] Login failed. Please make sure the credential is correct)
  18. 某计算机系统的内存储器由cache,计算机组成原理习题课1讲解
  19. C++中 char* 、string、 char、char[]在各种情况下的输入与输出
  20. 微信小程序 默认第一个选中变色

热门文章

  1. 用Python画论文折线图、曲线图?几个代码模板轻松搞定!
  2. 人民币换算美元java计算_美元和人民币换算(人民币转换美元计算)
  3. 密码学与网络安全课程习题集及参考答案(一些思考题)
  4. SDTM submission - 如何处理split domain
  5. Pubmedy的使用教程
  6. Oulipo HDU - 1686 (使用扩展kmp进行讨伐!)
  7. 我在哪?要到哪里去?怎么去?
  8. JAVA实现简单的猜数字游戏
  9. 把下列c语言的语句改写成汇编语言的程序片段,其中变量都为整形变量,汇编程序设计读书笔记(4)...
  10. 着色Shading(1)(光照、着色)(笔记)