AdaBoost是Boosting这类算法中的著名代表,它有多种推导方式,比较容易理解的就是基学习器的线性组合来最小化指数损失函数。

【AdaBoost算法过程】

输入:训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xiXRn,标记yiY={1,+1}
输出:最终分类器G(x)
(1)初始化原始训练数据集的权值分布D1
    D1=(w11,w12,...,w1N)w1i=1N

(2)对m=1,2,...,M

①使用具有权值分布Dm的训练数据集学习,得到基分类器Gm(x):X{1,+1}

②计算Gm(x)在训练数据集上的分类误差率em
    em=i=1NP(Gm(xi)yi)=Gm(xi)yiwmii=1Nwmi=i=1NwmiI(Gm(xi)yi)
wmimiemGm(x)

1i=1Nwmi=1emGm(xi)yiwmi

③计算Gm(x)的系数αm
    αm=12ln1emem
αmGm(x)em12
αm0αmem

④更新训练数据集的权值分布Dm+1
    Dm+1=(wm+1,1,wm+1,2,...,wm+1,N)
:
    wm+1,i=    {wmiZmeαm,Gm(xi)=yiwmiZmeαm,Gm(xi)yi
yiGm(xi)1+1
Gm(xi)=yiyiGm(xi)=1;Gm(xi)yiyiGm(xi)=1
:
    wm+1,i=wmiZmeαmyiGm(xi)
Zm使Dm+1
    Zm=i=1NwmieαmyiGm(xi)

(3)对第(2)步中学习到的M个基分类器进行线性组合得到最终分类器
线性组合:f(x)=m=1MαmGm(x)
最终分类器:G(x)=sign(f(x))=sign(m=1MαmGm(x))

算法过程如下图:
【机器学习】集成学习(二)----AdaBoost算法

【AdaBoost算法的训练误差分析】

AdaBoost算法最基本的性质就是在学习过程中不断减少训练误差,即减少训练数据集上的分类误差率。对于AdaBoost算法来说,其最终分类器的训练误差是有上界的。而对于下界,我们不需要知道。
其训练误差界为:
1Ni=1NI(G(xi)yi)1Ni=1Neyif(xi)=m=1MZm
1Ni=1NI(G(xi)yi)N个样本中被误分类的样本个数N

前半部分:1Ni=1NI(G(xi)yi)1Ni=1Neyif(xi)
G(xi)yiyif(xi)<0,eyif(xi)1

后半部分:1Ni=1Neyif(xi)=m=1MZm
已知f(xi)=m=1MαmGm(xi)Zmwm+1,i=wmieαmyiGm(xi)
1Ni=1Neyif(xi)=1Ni=1Nem=1MαmyiGm(xi)=1Ni=1Nm=1MeαmyiGm(xi)
=i=1Nw1im=1MeαmyiGm(xi)1Nw1iw1i
=i=1Nw1ieα1yiG1(xi)m=2MeαmyiGm(xi)
(i=1Nw1ieα1yiG1(xi)Z1i=1Nw2i)
=Z1i=1Nw2im=2MeαmyiGm(xi)=Z1i=1Nw2ieα2yiG2(xi)m=3MeαmyiGm(xi)
=Z1Z2i=1Nw3im=3MeαmyiGm(xi)
=...=Z1Z2...ZM1i=1NwMieαMyiGM(xi)=m=1MZm

我们根据这样的结论可以在每一轮选取适当的Gm使得Zm最小,从而使训练误差下降最快。Zm使Zm

对于二类分类的AdaBoost的训练误差界为:
由于Zm=i=1NwmieαmyiGm(xi)=yi=Gm(xi)wmieαm+yiGm(xi)wmieαm
yi=Gm(xi)wmi=1em
yiGm(xi)wmi=em
eαm=e12ln1emem=em1em
eαm=e12ln1emem=1emem
所以Zm=2em(1em),令γm=12em,则Zm=14γm2
m=1MZm=m=1M2em(1em)=m=1M14γm2e2m=1Mγm2
e2m=1Mγm2ex1xx=0:
exx=0
    ex=1+x+12x2+o(x2)
    e2γm2=12γm2+12(2γm2)2=12γm2+2γm4
1xx=0
    1x=112x18x2+o(x2)
    14γm2=1124γm218(4γm2)2=12γm22γm4 
14γm2e2γm2  
γ>0mγmγ1Ni=1NI(G(xi)yi)e2Mγ2
AdaBoost
     
下一篇会讨论前向分步算法和提升树,其实感觉前向分步算法加基函数线性组合就是一个框架,而AdaBoost算法和提升树都是利用这个框架来实现的。它们的不同点大多在于损失函数,而对于难以优化的损失函数我们会用梯度提升(最速下降的近似方法)来求解,这也就是梯度提升树的由来。

参考文献:《统计学习方法》

相关文章:

  • 2021-05-18
  • 2021-06-07
  • 2021-08-16
  • 2021-08-29
  • 2021-05-02
  • 2021-08-04
  • 2021-05-10
  • 2021-10-05
猜你喜欢
  • 2021-10-05
  • 2021-05-21
  • 2021-05-28
  • 2021-04-06
  • 2022-01-05
  • 2021-05-21
  • 2021-07-02
相关资源
相似解决方案