4.1、组合方法一Bootstrap、bagging和boosting

Bootstrap、bagging和boosting

一)、Bootstrap

1、应用场景:回归分析

2、Bootstrap(自助法)算法思想:

Bootstraping:称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。

Bootstrap的基本思想是:因为观测样本包含了潜在样本的全部的信息,那么我们不妨就把这个样本看做“总体”。可以简单地概括为:既然样本是抽出来的,那我何不从样本中再抽样。

Bootstrap方法核心思想和基本步骤如下:

i)重复地从一个样本集合D中采样n个样本,此过程允许重复抽样

ii)针对每次采样的子样本集,进行统计学习,获得假设Hi

iii)将若干个假设进行组合,形成最终的假设Hfinal

iv)将最终的假设用于具体的分类任务

  应该说Bootstrap是现代统计学较为流行的一种统计方法,在小样本时效果很好。通过方差的估计可以构造置信区间等,其运用范围得到进一步延伸。

缺点:只是将分类器进行简单的组合,实际上,并没有发挥出分类器组合的威力来。

 

bootstrap方法简单说就是重抽样。为什么需要bootstrap方法呢?因为bootstrap方法使得我们无需分布理论的知识也可以进行假设检验,获得置信区间。当数据来自未知分布,或者存在严重异常点,又或者样本量过小,没有参数方法解决问题时,bootstrap方法将是一个很棒的方法。对于回归分析而言,bootstrap无疑对回归的正态性假设做了极大地放松,使得回归推断越来越好用,也更具有说服力。

对于参数统计,特别是在已知分布的参数估计,bootstrap并没有多大的意义,它的结果和矩估计或者极大似然估计的结果并没有多大的差别

 

3、与Jackknife刀切法的区别:和上面要介绍的Bootstrap功能类似,有一点细节不一样,即每次从样本中抽样时候只是去除几个样本,就像小刀一样割去一部分。

刀切法基本步骤是:每次从样本集中删除一个样本,剩余的样本成为“刀切”样本,由一组这样的刀切样本计算统计量的估计值。

二)、bagging

1、Bagging概念:对数据进行随机抽样、建立学习算法并且通过简单平均来得到最终概率结论的一种方法。

bagging: bootstrap aggregating的缩写,是第一批用于多分类集成算法。让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练例组成,初始训练例在某轮训练集中可以出现多次或根本不出现。训练之后可得到一个预测函数序列h,最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。

2、Bagging算法思想:bagging方法的主要过程

i)训练分类器:从整体样本集合中,抽样n<N个样本,针对抽样的集合训练分类器Ci;

ii)分类器进行投票,最终的结果是分类器投票的优胜结果

bagging算法如下:

循环K次,每次都从样本集D中有放回地抽取样本集Di,这样总共得到k个样本集,用这K个样本集进行决策树生成,获得K个决策树模型,再将要检测的数据用这K个决策树模型进行多数表决,获得票数多的结论。

缺点:只是将分类器进行简单的组合,实际上,并没有发挥出分类器组合的威力来。

3、Bagging方法的特点:

①对训练集多次重复采样(有放回)

②利用每次采样构建模型

将每个模型的预测进行平均

4、Bagging与Boosting的区别:

Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类都要优于Bagging。

Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostlng的训练集的选择是独立的,各轮训练集的选择与前面各轮的学习结果有关。

Bagging的各个预测函数没有权重,而Boosting是有权重的。

Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。对于像神经网络这样极为耗时的学习方法。Bagging可通过并行训练节省大量时间开销。

Bagging和Boosting都可以有效地提高分类的准确性。在大多数数据集中,Boosting的准确性比Bagging高。在有些数据集中,Boosting会引起退化overfitting。Boosting思想的一种改进型Adaboost方法在邮件过滤、文本分类方面都有很好的性能。

Random forest与bagging的区别:

1)Randomforest是选取输入样本的数目相同多的次数(可能一个样本会被选取多次,同时也会造成一些样本不会被选取到),而bagging一般选取比输入样本的数目少的样本;

2)bagging是用全部特征来得到分类器,而random forest是需要从全部特征中选取其中的一部分来训练得到分类器;一般Random forest效果比bagging效果好!

三)、boosting

1、应用场景:Boosting在人脸识别、文本分类中应用较多。

通常来说,可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法。人们更钟爱于Boosting算法,这是因为和其他方法相比,它在产生类似的结果时往往更加节约时间。

2、概念:

Boosting:与Bagging类似,但在样本选择方面显得更为聪明一些——在算法进行过程中,对难以进行分类的观测值赋予了越来越大的权重。Boosting 算法是近年来在机器学习领域中一种流行的用来提高学习精度的算法。

Boosting分类器属于集成学习模型,基本思想是把成百上千个分类准确率较低的树模型组合起来,成为一个准确率很高的模型。模型会不断地迭代,每次迭代就生成一颗新的树。

3、Boosting思想:

Boosting的思想:初始化时对每一个训练例赋相等的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练铡进行学习,从而得到一个预测函数序列h 一⋯h其中h.也有一定的权重,预测效果好的预测函数权重较大,反之较小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。( 类似Bagging方法,但是训练是串行进行的,第k个分类器训练时关注对前k-1分类器中错分的文档,即不是随机取,而是加大取这些文档的概率).

可以通过下面的图来了解其中的思想(假设训练集数据有三维特征:X、Y、Z): 

从上图可以看到,每一次迭代过后都会对训练集中的样本给予不同的权重。红色框框部分绿色面积较小的样本表示的是权重较小,表明在此次迭代中它被正确划分了。可以看到弱学习机的弱假设每一次都是针对某一特征进行假设,实际上就像是一个偏科的小孩(如语文好,数学英语较差,总体成绩较差)。但是有3个偏科的小孩,他们每人都有擅长的学科,那么经过分工合作,作为一个整体是有可能达到一个好成绩的。

 

根本思想在于通过多个简单的弱分类器,构建出准确率很高的强分类器。大概是,对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好的成绩。

 

4、Boosting算法的过程:

i)从样本整体集合D中,不放回的随机抽样n1<n个样本,得到集合D1来训练弱分类器C1

ii)从样本整体集合D中,抽取 n2 < n 个样本,其中合并进一半被 C1 分类错误的样本。得到样本集合 D2——》训练弱分类器C2

iii)抽取D样本集合中,C1 和 C2 分类不一致样本,组成D3——》训练弱分类器C3

iv)用三个分类器做投票,得到最后分类结果

Boosting更像是一个人学习的过程,开始学一样东西的时候,会去做一些习题,但是常常连一些简单的题目都会弄错,但是越到后面,简单的题目已经难不倒他了,就会去做更复杂的题目,等到他做了很多的题目后,不管是难题还是简单的题都可以解决掉了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值