Boosting(AdaBoost、GBDT)

Boosting

Boosting也是Ensemble Learning(集成学习)中重要的一类,和Bagging的并行式不同,Boosting的核心思想是按顺序去训练分类器,每一个都要尝试修正前面的分类。其中最具有代表性的是的是Adaboost(适应性提升, Adaptive Boosting)Gradient Boosting(梯度提升)
对于Boosting方法来说,有两个非常重要的问题:

1. 在每一轮如何改变训练数据的权值或概率分布,修改的策略是什么?
2. 如何将弱分类器组合成一个强分类器?


Adaboost

对于上面两个问题,AdaBoost的做法是:
1.提高那些被前一轮弱分类器错误分类的样本的权值,而降低那些被正确分类样本的权值。这样一来,那些被分错的数据,在下一轮就会得到更大的关注。所以,分类问题被一系列的弱分类器“分而治之”。
2. 对弱分类器的组合,AdaBoost采取加权多数表决的方法。即加大分类误差率小的弱分类器的权值,使其在表决中起较大作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

算法流程
1.初始化数据权值分布

假设训练数据集中有均匀的权值分布(只有初始是均匀,后面要按照误差率进行更新):
D 1 = ( w 11 , w 12 , . . . , w 1 N ) , w 1 i = 1 N , i = 1 , 2 , . . . , N D_1=(w_{11},w_{12},...,w_{1N}),w_{1i}=\frac{1}{N}, \quad i=1,2,...,N D1=(w11,w12,...,w1N)w1i=N1,i=1,2,...,N

2.基于权值分布 D m D_m Dm得到基本分类器

G m ( x ) : x → { − 1 , 1 } G_m(x):x\rightarrow\{-1,1\} Gm(x):x{ 1,1}

3.计算分类误差率

G m ( x ) G_m(x) Gm(x)在训练数据集上的分类误差率为(注意不要忘记数据权值):
e m = ∑ i = 1 N P ( G m ( x i ) ̸ = y i ) = ∑ i = 1 N w m i I ( G m ( x i ) ̸ = y i ) e_m=\sum_{i=1}^NP(G_m(x_i) \not= y_i)=\sum_{i=1}^Nw_{mi}I(G_m(x_i)\not=y_i) em=i=1NP(Gm(xi)̸=yi)=i=1NwmiI(Gm(xi)̸=yi)

4.计算 G m ( x ) G_m(x) Gm(x)的系数

a m = 1 2 log ⁡ 1 − e m e m a_m=\frac{1}{2}\log\frac{1-e_m}{e_m} am=21logem1em

5.更新数据集的权值分布

D m + 1 = ( w m + 1 , 1 , w m + 1 , 2 , . . . , w m + 1 , N ) D_{m+1}=(w_{m+1,1},w_{m+1,2},...,w_{m+1,N}) Dm+1=(wm+1,1,wm+1,2,...,wm+1,N)
w m + 1 , 1 = w m i Z m exp ⁡ ( − a m y i G m ( x i ) ) , i = 1 , 2 , . . . , N w_{m+1,1}=\frac{w_{mi}}{Z_m}\exp(-a_my_iG_m(x_i)), \quad i=1,2,...,N wm+1,1=Zmwmiexp(amyiGm(xi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值