集成方法之Bagging装袋法:三个臭皮匠投票、少数服从多数

本文已收录于 机器学习笔记 系列,共计 20 篇,本篇是第 8 篇

前序文章:集成算法

Bagging算法(英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种集成学习算法。

 

如何生成多个臭皮匠?

本质是放回式采样。

现在我们有一组数据,其中70%是训练数据,剩下的30%是测试数据。测试数据是为了验证我们模型的正确率的,我们在实现模型的时候不能碰。那么我们从70%的训练数据入手。

首先,我们将数据进行放回式采样。从70%的训练集中随机取出一个小球将其放入到第一个篮子M1中,然后将其放回Data的70%训练集中。下一步再从训练集中随机取出一个小球将其放入到第二个篮子M2中,然后同样的将小球放回… … 以此类推。我们得到了k个篮子。

我们现在得到了新的若干个篮子。

 

为什么要重复采样?——让数据变得更清晰

加入我们的原始数据Data长这个样子:这个图看起来似乎有点怪,它的左下角和右上角以及右下角黄色圆圈的点,这三个点显得不是那么和谐。他们会不会是噪声点呢?

如果我们进行了一个重复采样,可能就会得到下面的一个篮子,有些噪声可能就不会被采到了

如果再次采集,奇怪的噪声可能就会没有了:

通过这样的重复采集,我们可以知道原始的数据Data可能并不是一个很复杂的,东拐西拐弯的数据,他可能就是一个简单的聚集在一堆的红叉叉和绿色的叉叉。

 

质量不够,数量来凑——使用多个臭皮匠

我们以决策树方法为例,我们现在拥有三个决策树,他们是由不同的数据点得到的三棵树。

现在这个新的模型与之前的不同,它拥有三颗决策树,与之前的一棵决策树不同,现在进进来一个数据需要做分类,我们在使用这个模型的时候可以让三颗决策树进行投票。例如第一颗决策树T1认为新来的数据应该是红色,第二颗树也认为是红色,而第三颗树说是绿色。红色和绿色的投票结果是2:1,少数服从多数,即最后我们输出的结果认为,这个新进来的数据应该被划分为红色。

 

总结:

  1. 原始数据通过不断的放回式采样得到三个决策树,这三个决策树(三个分类器)(臭皮匠)都对新加入的值做判断,最后投票决定到底这个数据是哪一类(诸葛亮)。另外我们还认为三个分类器的权重相同
  2. 上面的图用到了Random Forest(随机森林)算法。
  3. Bagging最大的特点是可以并行处理数据,再不同的计算机上面分布式处理。

 

参考文献:

https://www.bilibili.com/video/BV1Sk4y1m7Dy?p=7

作者: 高志远

高志远,23岁,男生,毕业于上海杉达学院电子商务系。

发表评论

邮箱地址不会被公开。