92-Bagging和Pasting

本文介绍了集成学习的概念,强调通过创建多个具有差异性的子模型来提高整体预测准确率。通过举例说明,即使每个子模型的准确率不高,大量子模型的集成也能显著提升整体性能。文中提到了两种创建子模型差异性的方式——放回取样(Bagging)和不放回取样(Pasting),并详细解释了Bagging的工作原理。最后,通过代码示例展示了如何运用Bagging进行样本重采样。
摘要由CSDN通过智能技术生成

Bagging 和 Pasting

  
  之前介绍了什么是集成学习,其实就是集成多个算法对同一组数据进行分析得到结果,最终投票来看哪个结果是大家公认的最好的结果。但是这样的机器学习还是有一个问题,虽然有很多机器学习的方法,但是从投票的角度来看,仍然是不够多的。如果我们想要尽量保证一个好的结果的话,我们希望有更多的投票者(成百上千甚至上万)才能保证最终的结果更加的可信。所以我们就要创建更多的子模型,集成更多的子模型的意见,而且子模型之间不能一致,要具有差异性
  
  那么怎样才能创建出更多的子模型,而且子模型之间还具有差异性呢?一个简单的方法就是每个子模型只看数据样本的一部分。举一个简单的例子,假如一共有 500 个样本数据,那么训练的时候就让每个子模型只看 100 个样本数据,每个子模型使用的算法可以是相同的算法。这样就做到了可以创建很多个子模型,并且子模型之间还存在差异。那么你可能会存在一个问题,如果我们这样做,那么不是每个子模型的准确率就会变得很低吗?事实确实如此。与此同时,这也恰好是集成学习算法的一个威力。集成学习继承了诸多的子模型来投票决定我们最终的分类结果,在这个过程中,每个子模型并不需要太高的准确率。
  
  下面举个简单的例子说明为什么每个子模型并不需要太高的准确率。假设每个子模型只有 51% 的准确率,如果我们的集成学习里只有一个子模型,那么整体的准确率就为 51%。如果我们有 3 个子模型呢,那么它的整体准确率为:

在这里插入图片描述
  
  我们的模型数从 1 到 3,整体准确率有了提高,虽然提高幅度不大。如果我们有 500 个子模型呢?整体准确率为:

在这里插入图片描述
  
  那么相应的,我们就会发现随着子模型数量的增加,整体的准确率也在提升。而且我们上面举出的每个子模型的准确率是比较极端的,只比扔硬币的概率高了 1%,如果我们每个子模型的准确率达到了 60%,我们仍然有 500 子模型,那么我们整体的准确率就可以达到:

在这里插入图片描述
  
  虽然这只是一个理论的计算。我只是想通过这个例子让大家看到集成学习的威力,其实每个子模型的准确率并不需要太高,而整体合在一起就可以形成非常高的准确率。其实我们在实际应用的时候,我们并不能保证每个子模型都拥有 60% 的准确率。

  
  前面提到说我们每个子模型只看样本数据的一部分,那么我们每个子模型怎么只看样本数据的一部分呢?我们这里有两种方式只看样本数据的一部分。一种方式是放回取样(Bagging)的方式,另一种是不放回取样(Pasting)的方式。通常 Bagging 是更常用的,比如500个样本,每次取出 100 个样本,我们使用 Pasting 只能训练 5 个子模型,而使用 Bagging 能够训练成百上千个子模型。其实在统计学中,把放回取样这种方式叫做 bootstrap。
  
  下面我们具体看一下怎么使用 Bagging 这种方式进行放回取样的。
  
在这里插入图片描述
在这里插入图片描述


  
  具体代码见 92 Bagging 和 Pasting.ipynb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值