Bagging和Boosting 概念及区别

摘要:
2) 样品重量:装袋:采用均匀取样,每个样品的重量相等增压:根据误差率不断调整样品重量。错误率越大,权重越大。4) 并行计算:装袋:每个预测函数都可以并行生成Boosting:每个预测功能只能按顺序生成,因为最后一个模型参数需要上一个模型的结果。

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

免责声明:文章转载自《Bagging和Boosting 概念及区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇goodFeaturesToTrack——Shi-Tomasi角点检测使用 esxcli storage vmfs unmap 命令在精简置备的 LUN 上回收 VMFS 删除的块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UML2.0之类图详解

UML 2 中的阴和阳 参考 UML 基础系列的其他文章和教程 统一建模语言(UML) 版本 2.0 UML基础: 统一建模语言简介 UML 基础: 序列图 UML 基础: 组件图 绘制整洁的 UML 图 用例建模技巧 UML 序列图简介 养成良好的绘制 UML 序列图的习惯 利用 UML 进行实体关系建模 订阅 UML 相关文章和教程...

ML基础06-数据不平衡问题

0、什么是数据不平衡问题 在机器学习的分类问题中,不同类别的样本数据量存在差异。在某些场景,比如网页点击率预估(网页点击率低),购物推荐(浏览产生的购买少),信用卡欺诈,网络攻击识别等,这种差异可能会较大。传统的学习算法,对不同类别的数据一视同仁地处理,会产生在多数类样本效果较好,但是在少数类样本上效果差的问题。而在上述的四种场景中,我们更关注的是少数类的...

解释深度学习在安全领域中的应用

摘要: 虽然深度学习在各个领域显示出巨大的潜力,但缺乏透明度限制了它在安全或关键安全领域的应用。现有的研究试图开发解释技术,为每个分类决策提供可解释的解释。不幸的是,当前的方法是针对非安全性任务(例如,图像分析)进行优化的。它们的关键假设在安全应用程序中经常被违反,导致解释的保真度很差。 本文提出了一种用于安全应用的高保真度解释方法LEMNA。给定一个输入...

AUC指标深度理解

AUC 指标 直观意义 AUC 指标用于评价分类器对于正、负样例的辨别能力,对出结果的排序位置(按照预测为正例的概率)敏感。 为什么提出这个指标? 一般来讲,精确率、召回率等指标,都需要设定一个阈值去判别是属于正类还是负类,例如预测分大于等于0.5判别为正类,小于0.5判别为负类。如何设定这个阈值,是个问题。而AUC这个指标则不需要设阈值。(或者说,每种...

(转)OpenCV 基本知识框架

以下是对《学习OpenCV》一书知识框架的简单梳理 转自:http://blog.chinaunix.net/uid-8402201-id-2899695.html 一、基础操作 1. 数据类型 数据结构了解 图像相关:cvArr cvMat IplImage 数据数组的维数, 与数据的通道数 见P46 (76) 2. 常见的矩阵操作熟悉 3. 数据的保...

用cart(分类回归树)作为弱分类器实现adaboost

在之前的决策树到集成学习里我们说了决策树和集成学习的基本概念(用了adaboost昨晚集成学习的例子),其后我们分别学习了决策树分类原理和adaboost原理和实现, 上两篇我们学习了cart(决策分类树),决策分类树也是决策树的一种,也是很强大的分类器,但是cart的深度太深,我们可以指定cart的深度使得cart变成强一点的弱分类器。 在决策树到集成学...