adaboost原理

一般来说 adaboost算法包括三步:

1 初始化训练数据的权值,对于有N个样本的数据集,所有样本的初始权值都是1/N

2 训练弱分类器,将前一个弱分类器错误分类的样本的权值加大,减小被正确分类的样本的权值,这样下一个弱分类器就会重新重视被误分类的样本

3 弱分类器组合成强分类器,减小分类误差率大的弱分类器的权值,使之拥有较小的表决权,加大分类误差率小的弱分类器的权值,使它拥有较大的表决权

adaboost算法流程:

(1)给定训练集T 初始化训练集的权值分布

         D1=(w11,w12,w13,...,w1n) w1i=1/N

(2)对于第m个弱分类器,通过学习得到基本分类器

         Gm(x):->{-1,1}

(3)计算Gm(x)在训练集上的分类误差率em

        em=∑i=1 to nwmiI(Gm(xi)!=yi)

(4)计算Gm(x)的权值αm

        αm=1/2log(1-em)/em

(5)更新下一个弱分类器的数据样本权值

         Dm+1=(wm+1,1,wm+1,2,...wm+1,n)

        wm+1,i=wmiexp(-αmyiGm(xi))/Zm

        其中Zm是规范化因子

         Zm=∑i=1 to nwmiexp(-αmyiGm(xi))

(6)m个弱分类器的组合

       f(x)=∑αmGm(x)

得到分类器 G(x)=sign(∑αmGm(x))

原文地址:https://www.cnblogs.com/semen/p/6810051.html