adaboost算法浅析

  adaboost = ada+boost,其实是一种自适应的boosting算法,主要思想是利用同一组训练样本训练不同的弱分类器,所有弱分类器的分类结果叠加要可以counter住所有样本点的正确分类,并将这些弱分类器以不同的权值组合起来构成一个强分类器。

和SVM一样,adaboost也善于解决非线性分类问题。

另外,adaboost只是提供的训练框架,可以往里套各种训练算法,是不是特别贴心?

算法浅析

  算法由Valiant大神提出,在他的论文中有算法的流程描述,不到20行,堪称经典:


翻译:

1.给定一个训练样本集(x1,y1)....(xm,ym) 其中x属于X样本域,y为标签,值取+1或-1

2.初始化样本集中各样本点的训练权重为均值 :

3.做如下迭代,直到所有样本点都被正确分类过,假设第t次迭代:

   1)利用权重分布Dt训练弱分类器

   2)统计所有被分类错误的样本点的训练权重之和为Et:

   3)计算该弱分类器在强分类器中的权重at:

   4)更新训练样本点的训练权重:

    其中Z用于归一化

4.输出强分类器:

强分类器是各弱分类器与其权重at相乘之和。


Adaboost训练示例

举一个网上的二维非线性分类问题实例来看看adaboost的实现过程:


图中的+和-是已经打上了标签的训练样本,各个样本点的初始训练权重都相等,我们用直线作为分类器进行分类:


得到了弱分类器h1,将其运用于训练样本测试,发现有3个样本点分类错误,用圆圈标记出来。

计算得到该次迭代的E1,并以此计算得到分类器h1的权重at,再以此计算更新各个训练样本点的训练权重,权重的大小用样本点大小体现出来如上右图所示,分类错误的样本点得到了更大的训练权重值。

同理有第二次迭代:


再以此得到子分类器h3:


最后将带权重的弱分类器整合:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值