提升方法及AdaBoost



查看原文:http://www.wyblog.cn/2016/11/01/%e6%8f%90%e5%8d%87%e6%96%b9%e6%b3%95%e5%8f%8aadaboost/

提升方法


提升方法思路比较简单,它意在通过改变训练样本之间相对的权重,从而学习出多个分类器,并将这些分类器进行线性组合,从而提高分类的性能。 从以上思路可以看出,提升方法将一个复杂的任务分配给多个专家进行判断,并且对判断的结果进行综合,这样做要比只让一个专家来判断要好,毕竟大家说好才是真的好。

强可学习与弱可学习
  • 一个概念,如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个是强可学习的。
  • 一个概念,如果存在一个多项式的学习算法能够学习它,但正确率仅比随机猜略好,那么就称这个概念是弱可学习的。

而Boost,恰好就是将弱可学习方法提升为强可学习方法的途径,所以叫做提升方法。提升方法就是从弱可学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个强分类器。 根据以上描述,可以看到有两个问题需要考虑:

  1. 在每一轮学习中,训练数据的权重值如何确定?
  2. 组合强分类器时,线性组合的系数如何确定?

AdaBoost


对于第一个问题,AdaBoost算法是提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样做的结果就是,使得被错误分类的样本能得到更多关注。 对于第二个问题,AdaBoost采取加大分类误差率小的弱分类器的权值,使其起较大作用,并且减少分类误差率大的权值。可见,这里的决定因素就是这个分类误差率的大小。

算法

输入:训练数据集 图片 ,其中 图片;弱学习算法。 输出:最终分类器G(x)。

  1. 初始化训练数据的权值分布: 图片
  2. 对于m=1,2,3...M a). 使用具有权值分布Dm的训练数据集学习,得到基本分类器Gm(x)→{-1,+1} b). 计算Gm(x)在训练数据集上的误差率: 图片 c). 计算Gm(x)的系数: 图片 d). 更新训练数据集的权值分布: 图片 其中,Zm是规范化因子, 图片
  3. 构建基本分类器的线性组合并得到最终分类器: 图片

从以上算法可以看到: 最开始步骤1,我们假设了样本具有均匀的权重分布,它将产生一个基本分类器G1(x)。 步骤2是一个m从1到M的循环过程,每一次循环都可以产生一个弱分类器。

  1. 对于b).可以看到,分类误差率实际上就是被误分类点的权值之和。
  2. 对于c).是在计算当前弱分类器在线性组合中的系数,由其表达式可知,当e<=0.5时,α>=0,并且随着e的减小而增大,这正印证了我们需要使误差率小的弱分类器的权值更大这个事实。
  3. 对于d).可以看到,每一个样本的权值ω,都与它原来的标签yi以及预测的标签Gm(xi)有关,当预测正确即它们同号时,exp指数是一个负值,这样就会减小原来样本点的权重;当预测不正确即它们异号时,exp指数是一个正值,它会增加当前样本点的权重。这正印证了我们需要使被误分类样本的权值更大这个事实。

步骤3中要注意一点的是,所有αi之和并不是等于1的,其仅表示对应分类器的重要性。 f(x)的符号决定了实例x的类,它绝对值的大小,表示分类的确信度。

提升树


提升树是以分类树或者回归树为基本分类器的提升方法,它被广泛的应用,例如有名的梯度提升树GBDT,以及另一篇博文分析的XGBOOST。 提升树也是提升方法的一种,所以它的模型还是加法模型,只是选择了决策树作为基函数。则提升树的模型为$latex f_{M}(X)=\sum_{m=1}^{M} T(x:\theta_{m})$。 对于不同的应用情况,模型可以采用不同的损失函数。对于回归问题,可以采用平方误差损失,对于分类问题,可以采用指数损失函数,这里的损失函数一般都只包含了经验损失,并未关注结构风险,这是一个缺点。

梯度提升树算法

梯度提升树利用损失函数的负梯度在当前模型的值,即$latex -[\frac{\partial L_{(y,f(x_{i}))}}{\partial f(x_{i})}]_ {f(x)=f_{m-1}(x)}$,作为回归问题提升树算法中的残差的近似值而拟合回归树。 关于提升树,可参考XGBOOST博文。

http://www.wyblog.cn/2016/11/25/xgboost%E6%96%87%E7%8C%AE%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/



查看原文:http://www.wyblog.cn/2016/11/01/%e6%8f%90%e5%8d%87%e6%96%b9%e6%b3%95%e5%8f%8aadaboost/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值