集成学习(2)——Adaboost(分类问题)

集成学习一般来说可分为以下3个步骤:

  1. 找到误差互相独立的基分类器
  2. 训练基分类器
  3. 合并基分类器的结果

注意:不稳定的学习器更适合作为基分类器

Adaboost算法原理

AdaBoost算法针对不同的训练集训练同一个基本分类器(弱分类器),然后把这些在不同训练集上得到的分类器集合起来,构成一个更强的最终的分类器(强分类器)。理论证明,只要每个弱分类器分类能力比随机猜测要好,当其个数趋向于无穷个数时,强分类器的错误率将趋向于零。AdaBoost算法中不同的训练集是通过调整每个样本对应的权重实现的

最开始的时候,每个样本对应的权重是相同的,在此样本分布下训练出一个基本分类器h1(x)。对于h1(x)错分的样本,则增加其对应样本的权重;而对于正确分类的样本,则降低其权重。这样可以使得错分的样本突出出来,并得到一个新的样本分布。同时,根据错分的情况赋予h1(x)一个权重,表示该基本分类器的重要程度,错分得越少权重越大。在新的样本分布下,再次对基本分类器进行训练,得到基本分类器h2(x)及其权重。依次类推,经过T次这样的循环,就得到了T个基本分类器,以及T个对应的权重。最后把这T个基本分类器按一定权重累加起来,就得到了最终所期望的强分类器。

  • 确定基分类器
  • 训练基分类器:假设训练集为 x i , y i , i = 1 , . . . , N {x_i,y_{i}},i=1,...,N xi,yi,i=1,...,N,其中 y i ∈ { − 1 , 1 } y_i\in\{-1,1\} yi{ 1,1},并且有T个基分类器,则可以按照如下过程来训练基分类器。
    1. 初始化采样分布 D 1 ( i ) = 1 / N D_1(i)=1/N D1(i)=1/N;
    2. t = 1 , 2 , . . . , T t=1,2,...,T t=1,2,...,T循环
      1. 从训练集中,按照 D t D_t Dt分布,采样出子集 S t = { x i , y i } , i = 1 , . . . N t S_t=\{x_i,y_i\},i=1,...N_t S
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值