组合算法

组合算法是将若干个弱分类器组合成一个强分类器的一种策略。常用的组合算法包括bagging、RandomForest、AdaBoost、GBDT等。

Bootstrapping

Bootstrapping法就是利用有限的样本资料经由多次重复抽样,重新建立起足以代表母体样本分布之新样本。Bootstrapping是一种有放回的抽样方法,是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。

Bagging(Bootstrap aggregation,Breiman,1996)

一个贴近生活的例子

假设你是一个病人,希望根据你的症状,让医生做出诊断。正确的做法,你会看多个医生,根据这些医生的不同诊断结果,选择大多数医生都认同的诊断结果。当然,由于你不知道这些医生的医术水平的高低,所以,保险的做法就是认为,每个医生诊断结果的权威性都是相同的。同时,在你让医生诊断的过程中,由于医生的诊断习惯不同,他们会根据自己的特点,选择自认为可以判断你病情的症状作为自己的判断依据,有些医生可能会测量你的温度,也有些可能会看你的气色,当然,也不排除可能会看你的手相的江湖郎中。不管怎样,你都将通过上述的过程,得到你想要的诊断结果。这种结果,通常要比你只看一个医生而得到结果更加可信。

算法过程:

输入:D(d个训练元组的集合),k(组合分类器中的模型数),一种学习方法
输出:组合分类器
方法:
(1)for i = 1 to k do // 创建k个模型
(2)通过对D有放回抽样,创建自助样本 Di
(3)使用 Di 和学习方法导出模型 Mi
(4)endfor

使用组合分类器对元组x分类:让k个模型都对x分类并返回多数表决

AdaBoost(Freund & Schapire,1996)

AdaBoost是一种Boosting算法,Boosting算法的基本思想就是:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。Boosting算法可以认为是对Bagging算法的一种改进,还是让面看病的例子。Boosting算法会将不同医生根据其医术的高低,分别赋予一个权重,现实中也应该如此,对于那些妙手回春的医生,其给出的诊断结果理应更加可信。
AdaBoost算法是一种流行的Boosting算法,其算法步骤如下:

输入:D(类标记的训练元组集),k(轮数,每轮会产生一个分类器),一种分类学习方法
输出:组合分类器
方法:
(1)初试化训练数据的权重分布: D1=(w11,...,w1i,...,w1N),w1i=1N,i=1,2,...,N
(2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值