Adaboost算法

1.Adaboost算法简介

\hspace*{0.6cm} AdaBoost,英文全称为"Adaptive Boosting"(自适应增强),是一种机器学习方法,AdaBoost方法的自适应在于:AdaBoost方法对于噪声数据和异常数据很敏感。AdaBoost方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。
\hspace*{0.6cm} AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率。每一个训练样本都被赋予一个权重,表明它被某个分类器选入训练集的概率。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。通过这样的方式,AdaBoost方法能“聚焦于”那些较难分类的样本上。

2.原理推导

\hspace*{0.6cm} 假设训练集样本是:T={ ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . , ( x n , y n ) (x_{1},y_{1}),(x_{2},y_{2}),..,(x_{n},y_{n}) (x1,y1),(x2,y2),..,(xn,yn)},假设进行二分类,得到的结果为{+1,-1},初始化数据集的权重: D 1 D_{1} D1=( w 11 , w 12 , w 13 , . . . , w 1 n w_{11},w_{12},w_{13},...,w_{1n} w11,w12,w13,...,w1n),初始时 W 1 i = 1 n W_{1i}=\frac{1}{n} W1i=n1,i=1,2,3,…,n,下面迭代step1、step2步骤,设迭代K轮

step 1. 得到模型权重分布

\hspace*{0.6cm} 设在权重为 D m D_{m} Dm的数据集上得到的分类器结果为 G m ( x ) G_{m}(x) Gm(x),则错误率为 e m = P ( G m ( X ) ≠ y ) = ∑ i = 1 n w m i I ( G m ( x i ) ≠ y i ) ) e_{m}=P(G_{m}(X)\not=y)=\sum_{i=1}^{n}w_{mi}I(G_{m}(x_{i})\not=y_{i})) em=P(Gm(X)=y)=i=1nwmiI(Gm(xi)=yi)),取 G m ( x ) G_{m}(x) Gm(x)的权重系数为 α m = 1 2 l o g 1 − e m e m \alpha_{m}=\frac{1}{2}log\frac{1-e_{m}}{e_{m}} αm=21logem1em,由此可见 e m e_{m} em越小,权重系数越大。分类越准确,则模型权重越大。

step 2.更新数据集的权重分布

\hspace*{0.6cm} 对于第m+1个分类器的数据集权重为 w m + 1 , i = w k , i Z m e x p ( − α m y i G m ( x i ) ) w_{m+1,i}=\frac{w_{k,i}}{Z_{m}}exp(-\alpha_{m}y_{i}G_{m}(x_{i})) wm+1,i=Zmwk,iexp(αmyiGm(xi)),其中 z m = ∑ i = 1 n w k , i e x p ( − α m y i G m ( x i ) ) z_{m}=\sum_{i=1}^{n}w_{k,i}exp(-\alpha_{m}y_{i}G_{m}(x_{i})) zm=i=1nwk,iexp(αmyiGm(xi)),为规范化因子。当分类不正确时, y i G m ( x i ) = y_{i}G_{m}(x_{i})= yiGm(xi)=-1,所以对应的 w m + 1 , i w_{m+1,i} wm+1,i会更大,体现了对分类错误数据增加权重的思想。

重复上述的step1与step2共k轮,得到最终的f(x)=sign( ∑ i = 1 k α i G i ( x ) \sum_{i=1}^{k}\alpha_{i}G_{i}(x) i=1kαiGi(x))
上述的 α 、 G \alpha、G αG的优化有专门的推导,但是我暂时没写

3.算法实现

\hspace*{0.6cm}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值