[学习笔记]数据挖掘-week9

集成学习

学习视频:80240372X 数据挖掘:理论与算法(自主模式)

Ensemble

所谓集成学习,就是生成多个模型,并将这些模型有策略的结合在一起, 依据每个模型的结果来确定最终的输出内容。集成学习本身并不是一个算法。而集成学习又包含:Boosting, Bagging.

集成学习主要解决的问题:(1)如何选择模型。(2)如何将这些模型的结果组合起来。

集成学习结果较好的原因之一是选择的是不同的分类器做集成。或者使用同样的分类算法,但每个算法的训练集不同,初始参数不同或选择的特征集不同。分类器的能力不需要特别高

Bagging

基于bootstrap的分类器。这里的bootstrap是统计学中的一种采样方式——有放回的采样。例如,一个篮子有不同颜色的小球,每次取出一个,记录后放回。

算法过程:依照所需分类器的个数,在数据集中使用bootstrap采样的方式为每个分类器选择训练集,每个分类器独立训练。测试集上的分类结果采用投票机制,输出票数多的结果。

一般是使用同样一的分类算法,在不同的训练集上训练,得到不同的分类器。Bagging的一种具体实例就是随机森林(Random Forests)。Bagging中的分类器是相互独立的,可并行执行。

Stacking

类似于Bagging,在一个数据集上训练多个分类器,不同点在于,Bagging只是简单的将多个分类器的结果进行投票,选举票数最多的结果。Stacking则是将这些基础分类器的输出当作一个汇总分类器的输入,由该汇总分类器得到最终的分类结果。相当于对每个基础分类器的结果做了加权操作。分两次训练过程,先训练基础分类器,再训练汇总的分类器。

Boosting

不同与Bagging中的基础分类器,Boosting中的分类器是串行生成的,必须先生成前面的才能够产生之后的分类器。Boosting的核心思想流程为:在一个数据集中挑一部分数据训练一个分类器C1,用训练好的C1过一遍数据集,将所有分错的数据筛选出来,并随机挑选一些分对的数据组合成新的训练集,再用新的训练集训练一个分类器C2——重点关注C1分错的那些数据。训练完成后,让C2过一遍原始的数据集,筛选出与C1结果不同的数据,作为分类器C3的训练集,并训练C3。测试集的分类依据是:C1与C2的结果相同时,该结果为输出结果,否则,输出C3的结果。实际的算法中不一定只有三个分类器,可能50,100个。一般不会太多。

同样的Boosting中对于基础分类器的能力也要求不高,只需要比随机猜的结果好一些就可以。但最终得到的结果准确度会高。典型的算法有:AdaBoost(数据挖掘中十大算法之一),RegionBoost。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值