diabetes数据集_数据分析模型11——机器学习兵器中的大杀器:集成学习算法(ENSEMBLE METHODS)...

965ade52dc0bea480da4d38c26813374.png

今天我们来学习机器学习中的一个重量级的武器,集成学习算法。基本上集成学习法是一个多分类器整合方法,传统的机器学习模型只会建立一个分类器,集成学习法通过构建多个分类器,对多个分类器的预测结果进行聚合,提高分类精度。集成方法根据训练数据构造一组基分类器,并通过对每个基分类器的预测进行投票来进行分类。

未经许可请勿转载

更多数据分析内容参看这里

一、基本概念

下面我们看一下集成学习算法的过程。

5e044d8091c01d95ccc1205af97a8f58.png

原始的训练数据,通过一些取样方法,会被分成多个不同的数据集,每个数据集生成各自的分类器,最后会把t个分类器的结果进行整合,基本上采用的是投票机制。集成学习法后面隐含的逻辑就是三个臭皮匠胜过诸葛亮。

集成学习法在分类上有两种方式。第一类是在训练数据上进行处理,建立多个模型。还有一大类是从输入字段上进行处理,产生多个模型。

基于训练数据的处理,主要通过不同的取样方式来决定哪些样本会被选作训练集,每一个训练集都会产生一个特定学习算法的分类器。这种方式主要由两种集成学习算法:袋装法Bagging 和提升法Boosting。

基于输入字段的处理,输入字段的一个子集会被挑选出来,构建单独的训练集。这种方式中一个主要方法是随机森林(Random forest)。 随机森林是决策树分类算法的改良,会建立一系列的决策树,通过投票决定结果。传统的决策树通过挑选最好的属性来进行分类,而随机森林会从最好的K个属性里面随机选择1个来进行分类,这时就会产生很多不同的决策树。这种方式在有冗余变量时效果尤佳。

二、集成学习模型构建

1. 袋装法(Bagging)原理

我们先看一下下面的数据集(x是输入字段,y是目标字段)

b2c5ac30f18538dab9c0c87af7ea60dc.png

假定我们构建一个分类器,并且限制为单层的二元树,怎么样才能得到最佳的分类的一层二元树?这边有两个选择(1)将X<=0.35的预测为1,X>0.35的预测为-1.(2)X<=0.75,预测为-1,X>0.75,预测为1。这两种方式,预测的准确率最多均为70%。

下面我们来看一下,使用袋装法怎么提升预测的准确率。我们采用有放回式的抽样,抽取十笔样本。在每一次抽样中,我们都构建一个二元分类树,如下所示。

7c0faa75d8a0a25c84d40fe04d3831de.png

581a31abe7b9bc08a5bf6355087680dc.png

这时候神器的事情发生了,我们再次把原始的0.1到1这是个数据放入上面构建的10个二元树分类器,结果如下:

476ec0c1aec459980844d7bb80b3b1dc.png

结果是,预测的准确率达到了100%,超越了单层分类树70%的限制。从这个例子可以看出,即便每个分类器是一个基本的二元树,把所有的分类器结果整合后,就形成了一个二层的决策树的效果。基本上Bagging的方法可以套用任何分类模型,这边使用了决策树,比较常见的方式。

由于每个样本都有相同的概率被抽取,bagging方式不需要对特定的训练集进行权重处理。也就是说,这种方式不会存在过拟合问题。

2. 提升法(Boosting)原理

提升法也是对训练数据进行处理,和Bagging不同,它会根据实际情况去调整每个训练数据被抽中的概率,开始大家被抽取的概率是一样的,但是一直被分类错误的数据会被加重权重,在后续的基础分类器中这些一直分错的数据会被更多的抽中,目标是希望比较难分类的数据再下一次的分类中能够分类正确。也就是说Boosting会给每一个训练范例赋予一个权重,每一轮的分类器都可能改变权重值。

初始,每个训练数据的权重都是1/N, 他们都会以相同的概率被抽取。根据1/N的权重,我们第一次会抽取样本建立一个训练集,并在此基础上构建一个分类器。建完分类器后,会对原始的训练数据去进行分类,并判断分类的正确率。分类正确的降低该训练数据的权重,错误的进行提升。然后开始下一轮的循环,这种方式将注意力放在难以分类的数据上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值