集成学习 Bagging和Boosting的区别与联系

1,Bagging

Bagging即套袋法,其算法过程如下:
1,从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法(有放回)抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
2,每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
3,对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;
对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)
4,其代表算法为随机森林。

Boosting:

Boosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。
使用所有样本?
其代表算法为AdaBoost、GBDT、XGBoost。
AdaBoosting方式每次使用的是全部的样本,每轮训练改变样本的权重。下一轮训练的目标是找到一个函数f 来拟合上一轮的残差。当残差足够小或者达到设置的最大迭代次数则停止。Boosting会减小在上一轮训练正确的样本的权重,增大错误样本的权重。(对的残差小,错的残差大)
梯度提升的Boosting方式是使用代价函数对上一轮训练出的模型函数f的偏导来拟合残差。梯度提升决策树,其核心思想是,每一棵树学的是之前所有树结论和的残差,这个残差就是一个加预测值后能得真实值的累加量。

2 Bagging和Boosting的区别:

Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好。
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
5)偏差和方差角度:Boosting方法是通过逐步聚焦于基分类器分错的样本,减小集成分类器的偏差。Bagging方法则是采取分而治之的策略,通过对训练样本多次采样,并分别训练出多个不同模型,然后做综合,来减小集成分类器的方差。

3.什么是偏差和方差?什么是偏差和方差?

在有监督学习中,模型的误差来源于两个方面——偏差和方差。
偏差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的平均值和真实模型输出之间的偏差。偏差通常是由于我们对学习算法做了错误的假设所导致的,比如真实模型是某个二次函数,但我们假设模型是一次函数。由偏差带来的误差通常在训练误差上就能体现出来。
方差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的方差。方差通常是由于模型的复杂度相对于训练样本数m过高导致的,比如一共有100个训练样本,而我们假设模型是阶数不大于200的多项式函数。由方差带来
的误差通常体现在测试误差相对于训练误差的增量上。

4,为什么说bagging是减少variance,而boosting是减少bias?p283

偏差主要是由于分类器的表达能力有限导致的系统性错误,表现在训练误差不收敛。
方差是由于分类器对于样本分布过于敏感,导致在训练样本数较少时,产生过拟合。
Boosting方法是通过逐步聚焦于基分类器分错的样本,减小集成分类器的偏差。
Bagging方法则是采取分而治之的策略,通过对训练样本多次采样,并分别训练出多个不同模型,然后做综合,来减小集成分类器的方差。
Bagging能够提高弱分类器性能的原因是降低了方差,Boosting能够提升弱分类器性能的原因是降低了偏差。
bagging减少variance:
Bagging对样本重采样(有放回),对每一重采样得到的子样本集训练一个模型,最后取平均。
由于子样本集的相似性以及使用的是同种模型,因此各模型有近似相等的bias和variance(事实上,各模型的分布也近似相同,但不独立)
不妨认为各个子模型的bias和variance完全相等。
1,偏差在这里插入图片描述所以bagging后的bias和单个子模型的接近。
2,方差:
若各子模型独立,则有在这里插入图片描述,此时可以显著降低variance。
若各子模型完全相同,则在这里插入图片描述,此时不会降低variance。bagging方法得到的各子模型是有一定相关性的,属于上面两个极端状况的中间态,因此可以一定程度降低variance。
2.1如何保证模型间的独立性:
bagging训练集的重采样;随机森林特征选取的随机性
为了进一步降低variance,Random forest通过随机选取变量子集做拟合的方式de-correlated了各子模型(树),使得variance进一步降低。用公式可以一目了然:设有i.d.(同分布)的n个随机变量,方差记为在这里插入图片描述,两两变量之间的平均相关性为在这里插入图片描述,则在这里插入图片描述的方差为在这里插入图片描述,bagging降低的是第二项,random forest是同时降低两项

2.2如何理解各个子模型是不独立的?
bagging相当于从1,2,…,m个样本里抽n个样本出来,形成模型f(Xk1,Xk2,…Xkn),那么这样选取的随机变量集合有交叠,就会导致两个模型是两组重叠的随机变量集合的函数,从而不独立。
可以考虑一个极端的情形,样本总量是n+1个,每一次重采样取n个样本,那么任意两次的样本都几乎一样,模型也因此几乎一样。

boosting减少bias:
在训练好一个基分类器后,计算其错误和残差,作为下一个分类器的输入,这个过程会迭代不断减小损失函数,使模型预测不断逼近,偏差逐渐降低。而各分类器是迭代强相关缺乏独立性,所以不会降低模型方差。

5.集成学习有哪些基本步骤?请举几个集成学习的例子

集成学习一般可分为以下3个步骤。
(1)找到误差互相独立的基分类器。
(2)训练基分类器。
(3)合并基分类器的结果。合并基分类器的方法有voting和stacking两种。前者是用投票的方式,将获得最多选票的结果作为最终的结果。后者是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。
Adaboost为例,其基分类器的训练和合并的基本步骤如下。
(1)确定基分类器:这里可以选取ID3决策树作为基分类器。事实上,任何分类模型都可以作为基分类器,但树形模型由于结构简单且较易产生随机性所以比较常用。
(2)训练基分类器:假设训练集为{xi,yi},i=1,…,N,其中yi {−1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。
在这里插入图片描述

6.常用的基分类器是什么?

最常用的基分类器是决策树,主要有以下3个方面的原因。
(1)决策树可以较为方便地将样本权重整合到训练过程中,而不需要使用过采样的方法来调整样本权重。
(2)决策树的表达能力和泛化能力,可以通过调节树的层数来做折中。
(3)数据样本的扰动对于决策树的影响较大,因此不同子样本集合生成的决策树基分类器随机性较大,这样的“不稳定学习器”更适合作为基分类器。此外,在决策树节点分裂的时候,随机地选择一个特征子集,从中找出最优分裂属性,很好地引入了随机性。
除了决策树外,神经网络模型也适合作为基分类器,主要由于神经网络模型也比较“不稳定”,而且还可以通过调整神经元数量、连接方式、网络层数、初始权值等方式引入随机性。

7.可否将随机森林中的基分类器,由决策树替换为线性分类器或K-近邻?

随机森林属于Bagging类的集成学习。Bagging的主要好处是集成后的分类器的方差,比基分类器的方差小。Bagging所采用的基分类器,最好是本身对样本分布较为敏感的(即所谓不稳定的分类器),这样Bagging才能有用武之地。线性分类器或者K-近邻都是较为稳定的分类器,本身方差就不大,所以以它们为基分类器使用Bagging并不能在原有基分类器的基础上获得更好的表现,甚至可能因为Bagging的采样,而导致他们在训练中更难收敛,从而增大了集成分类器的偏差。

https://web.stanford.edu/~hastie/ElemStatLearn//printings/ESLII_print10.pdf

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值