AdaBoost

AdaBoost概述

在这里插入图片描述

AdaBoost训练过程

建模

f ( x ) = ∑ m = 1 M α m G m ( x ) = α 1 G 1 ( x ) + ⋯ + α m G m ( x ) + ⋯ + α M G m ( x ) \begin{aligned} f(x) &=\sum_{m=1}^{M} \alpha_{m} G_{m}(x) \\ &=\alpha_{1} G_{1}(x)+\cdots+\alpha_{m} G_{m}(x)+\cdots+\alpha_{M} G_{m}(x) \end{aligned} f(x)=m=1MαmGm(x)=α1G1(x)++αmGm(x)++αMGm(x)
G为基分类器, M为基分类器个数,阿尔法是基分类器的权重

初始化参数

D 1 = ( w 11 , ⋯   , w 1 i , ⋯   , w 1 N ) , w 1 i = 1 N , i = 1 , 2 , ⋯   , N D_{1}=\left(w_{11}, \cdots, w_{1 i}, \cdots, w_{1 N}\right), \quad w_{1 i}=\frac{1}{N}, \quad i=1,2, \cdots, N D1=(w11,,w1i,,w1N),w1i=N1,i=1,2,,N
这是一个基分类器的参数,w参数是数据集中每个数据的权重,假设数据集中有N个参数,初始化每个数据的权重为1/N,每个数据的权重初始都相同。

训练当前基分类器

1.首先要有二分类数据集
2.因为提升算法是串行训练,先训练第一个基分类器时,只需要初始化数据的参数,在训练完后才能计算第一个基分类器的权重和对要输入下一个基分类器的数据做出权重改变,然后再训练第二个基分类器,如此循环。

权重的计算与更新

1.首先计算基分类器的分类误差率em
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 ) = ∑ G m ( x i ) ≠ y i w m i e_{m}=\sum_{i=1}^{N} P\left(G_{m}\left(x_{i}\right) \neq y_{i}\right)=\sum_{i=1}^{N} w_{m i} I\left(G_{m}\left(x_{i}\right) \neq y_{i}\right)=\sum_{G_{m}\left(x_{i}\right) \neq y_{i}} w_{m i} em=i=1NP(Gm(xi)=yi)=i=1NwmiI(Gm(xi)=yi)=Gm(xi)=yiwmi
分类误差率是所有基分类器判断错误的样本的权重之和

2.根据分类误差率计算基分类器的权重系数阿尔法
α m = 1 2 log ⁡ 1 − e m e m \alpha_{m}=\frac{1}{2} \log \frac{1-e_{m}}{e_{m}} αm=21logem1em

3.更新训练数据的权值

w m , i = w m − 1 , i Z m − 1 exp ⁡ ( − α m − 1 y i G m − 1 ( x i ) ) , i = 1 , 2 , ⋯   , N w_{m, i}=\frac{w_{m-1, i}}{Z_{m-1}} \exp \left(-\alpha_{m-1} y_{i} G_{m-1}\left(x_{i}\right)\right), \quad i=1,2, \cdots, N wm,i=Zm1wm1,iexp(αm1yiGm1(xi)),i=1,2,,N

Zm是规范化因子:

Z m − 1 = ∑ i = 1 N w m − 1 , i exp ⁡ ( − α m − 1 y i G m − 1 ( x i ) ) Z_{m-1}=\sum_{i=1}^{N} w_{m-1, i} \exp \left(-\alpha_{m-1} y_{i} G_{m-1}\left(x_{i}\right)\right) Zm1=i=1Nwm1,iexp(αm1yiGm1(xi))

它使D成为一个概率分布,即值的范围在0~1之间

得到最终分类器

G ( x ) = sign ⁡ ( f ( x ) ) = sign ⁡ ( ∑ m = 1 M α m G m ( x ) ) \begin{aligned} G(x) &=\operatorname{sign}(f(x)) \\ &=\operatorname{sign}\left(\sum_{m=1}^{M} \alpha_{m} G_{m}(x)\right) \end{aligned} G(x)=sign(f(x))=sign(m=1MαmGm(x))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值