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与Boosting1
19_如何从偏差和方差的角度解释bagging和boosting的原理1
Bagging and boosting are well-known ensemble learning methods. we present simple online bagging and boosting algorithms that we claim perform as well as their batch counterparts.
ensemble learning bagging和boosting都可以有效地提高分类的准确性
关于机器学习方面的集成算法,包括boosting和bagging,里面讲解详细,值得下载
Bagging, Boosting, and C4.5 集成分类算法比较
主要是给新手熟悉bagging和boosting算法在虹膜中的运用。
集成学习Bagging ,Boosting等介绍的PPT。集成方法是构建一种对单个分类器进行集成的学习算法,将各分类器的分类结果以一定的方式集成起来实现对新数据点进行分类,其中单个分类器是独立的且不要求分类精度很高。...
Bagging and boosting are two of the most well-known ensemble learning methods due to their theoretical performance guarantees and strong experimental results. However, these algorithms have been used ...
1.Bagging之随机森林 2.Boosting之Adaboost 3.Boosting之GBDT 4.Boosting之Xgboost
前面博客分享,我们已经讲解了不少分类算法,有knn、决策树、朴素贝叶斯、逻辑回归、svm。我们知道,当坐重要决定时,大家可能都会考虑吸取多个专家而不是一个人的意见。机器学习处理问题时同样如此。...
1 Bagginghttp://blog.sina.com.cn/s/blog_4a0824490102vb2c.html个体学习器之间不存在强依赖关系。2 B
代表:Adaboost(Adaptive boosting)公式推导可见《机器学习》P174优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整缺点
在 Matlab 中实现的 Bagging、Boosting 和随机森林。 工具箱 使用以下工具箱: 37steps 制作的模式识别工具箱(PRTools): ://www.37steps.com/prtools/ 科学论文 这些算法基于以下研究论文: 新提升算法的实验:...
集成学习Boosting和Bagging综述,非常好的参考资料,推荐
Iterative Bagging和MultiBoosting 算法实现。并且比较了bias和variance的值。
带有决策树的 Bagging 方法的学习和测试功能的来源 带有决策树的 Adaboost.M1 方法的学习和测试功能的来源 Forest-RI 方法的学习和测试功能的来源 一个或多个允许运行所有这些函数的测试的函数(如为 TP3 提供的 ...
本文来自www.jiqizhixin.com,主要从以下几个方面介绍:Bagging,Boosting,Stacking从基础到性能,更多请看下文。集成学习(Ensemblelearning)通过组合几种模型来提高机器学习的效果。与单一模型相比,该方法可以...
文档第一部分为Bagging与boosting之间的区别,第二部分是为对五个数据集进行相关性分析,缺失性分析,和噪声数据发现,第三部分是使用随机森林,支持向量机等八个算法对五个数据集进行分类,对比八个算法对五个数据...