Boosting和Bagging的区别

  最近开始学习机器学习和数据挖掘的知识 对boosting和bagging算法进行了部分比较  在此做个总结 分享给大家。  初学不久 如果有哪里地方理解的不到位或者错误的地方 欢迎大家不吝指正。

      言归正传。决策树可以分为分类树和回归树两大类。分类树以信息增益(率)来选择feature,构建树,用作分类;而回归树则是以均方差来选择feature,构建树,用作预测。boosting思想和bagging思想 都是属于回归树。这两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法

框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。

下面主要谈谈两者的不同:

1.样本的选择上

bagging:有放回的抽样,多个训练集时间是相互独立的,使用多个独立的训练集训练出多颗回归树

Boosting:每次都是用相同的训练集,只是改变训练集中训练数据的权重

2.样本的权重

bagging:bagging中所有的样本都是相同权重的

boosting:boosting中的样本权重一般不是都相同的,算法是通过增大错误数据的权重来修正分类器的。

3.预测函数的权重:

bagging:bagging的思想在于完全随机的线性无关的样本、完全相等的概率,所以得到的预测函数权重也是一样的

boosting:它的思想是通过增大错误样本的权重让分类器把重点放在分类错误的样本上来提高准确率;在预测函数权重上,给正确率高的分类器更高的权重以保证整体的正确性。


4.计算的并行性

bagging:由于训练样本是完全独立的,所以多个分类器的训练可以并行执行。

boosting:由于下一个分类器的训练要依赖上一个分类器的分类结果,所以训练只能是顺序进行。


5.树的深度

bagging:一般来讲bagging树深度较大,常常大于15甚至更高

boosting:构建的树深度较小。一般为6即可。

5的解释:泛化误差一般包括两部分:偏差和方差。偏差是指预测值和实际值之间的差距,表征目标函数的准确性;而方差是衡量数据的离散程度,或者说预测函数能不能很好的拟合具有一定离散度的训练数据,它表征着目标函数的抗干扰性(泛化能力)。所以:

(a) bagging算法在样本选择初期就选择了很多的样本,所以能一定程度上保证预测函数的抗干扰性即方差,在整体方差得到了保证的基础上,它就把每个分类器的重点放在了尽量的降低偏差,即提高准确性,提高准确性就需要做更细致的分类和拟合,所以bagging算法可能会把树建的非常深。

(b):boosting算法刚好相反,boosting算法一直使用一组训练数据,通过错误数据的权重来重点关注分类出错的数据,层层迭代,最后能够得到很高的拟合度,即偏差非常低。所以在偏差得到保证的情况下,每个单独的分类器需要保证方差即泛化能力。所以就把树建立的比较浅。



     


### 回答1: Boosting是一种用于提升模型预测准确性的机器学习算法,它将多个弱学习器结合成一个强学习器。Bagging是一种组合模型,它将多个模型结合起来,以提高预测准确性。两者之间的主要区别在于,Boosting将多个弱学习器结合起来,而Bagging则将多个模型结合起来。 ### 回答2: BoostingBagging是两种常见的集成学习方法,它们的区别主要体现在以下几个方面。 首先,它们对数据的采样方式不同。对于Bagging来说,它采用的是自助采样(bootstrap)的方式,即从原始数据集中有放回地随机抽取样本来构建多个子数据集。而Boosting则是通过调整样本权重的方式,使得在前一个基学习器分类错误的样本,在后续学习中得到更多的关注纠正。 其次,它们对于基学习器的使用方式不同。Bagging是通过并行地训练多个基学习器,并最终通过投票或取平均的方式来确定最终分类结果。而Boosting是通过依次训练多个基学习器,每个基学习器都在前一个学习器的基础上进行训练,并通过集中关注分类错误的样本,逐渐提升分类性能。 此外,它们对于样本权重的更新方式也不同。在Bagging中,每个基学习器都是独立地进行训练,样本的权重没有变化。而在Boosting中,每个基学习器的训练都会调整样本的权重,将前一个学习器分类错误的样本权重增加,以使得后续学习中更加关注这些难以分类的样本。 最后,它们对于多样性的利用也有所区别Bagging通过自助采样引入了样本的随机性,从而产生多样的基学习器。而Boosting则通过调整样本权重关注难以分类的样本,不同的基学习器关注不同的难以分类的样本,从而产生多样的基学习器。 综上所述,BoostingBagging区别主要包括采样方式、基学习器的使用方式、样本权重的更新方式以及对多样性的利用方式等。 ### 回答3: BoostingBagging是两种常见的集成学习方法。 首先,Bagging(Bootstrap aggregating)是一种将弱学习器集成为强学习器的方法。在Bagging中,我们通过对原始数据集进行有放回的抽样,得到B个样本集。然后,每个样本集独立地训练一个基学习器,最后将这B个基学习器的输出进行平均或投票来决定最终预测结果。Bagging能够减小模型的方差,提高模型的稳定性。 其次,Boosting是一种迭代的方法,通过训练一系列的弱学习器来构建一个强学习器。在Boosting中,每个基学习器的训练都会根据前一个基学习器的表现来调整样本权重,即对于前一个基学习器预测错误的样本,会增加其权重,使得下一个基学习器更关注这些样本。最终,将所有基学习器的预测结果进行加权累加来得到最终的预测结果。Boosting能够减小模型的偏差,提高模型的拟合能力。 总结一下,关于两者的区别: 1. Bagging是通过对原始数据集进行有放回抽样,构建多个独立的基学习器,而Boosting是通过迭代调整样本权重来训练一系列的基学习器。 2. Bagging是通过平均或投票来决定最终预测结果,而Boosting是通过加权累加来得到最终预测结果。 3. Bagging主要减小模型的方差,提高模型的稳定性,而Boosting主要减小模型的偏差,提高模型的拟合能力。 需要注意的是,两者在构建基学习器时都是通过使用原数据集的某种扰动版本(如有放回采样或权重调整)来增加数据集的多样性,从而提高模型表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值