AdaBoost算法原理

                                            AdaBoost算法原理

前言

1、AdaBoost(Adaptive Boosting)是boosting类算法最著名的代表。

2、Kearns 和 Valiant首先提出了“强可学习” 和 “弱可学习”的概念。指出:在概率近似正确学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确的概率很高,那么就称这个概念是强可学习的;一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么就称这个概念是弱可学习的。后来Schapire证明一个概念强可学习的充分必要条件是这个概念是弱可学习的

3、发现弱学习算法通常要比发现强学习算法容易的多。这样一来,如果已经发现了“弱可学习算法”,如何将其提升为“强学习算法”。具体的实施办法便成为开发提升方法时所要解决的问题。关于提升方法的研究有很多,有很多算法被提出。最具代表性的是AdaBoost算法。

4、大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。这样对提升方法来说,有两个问题需要回答:1、每一轮如何改变数据的权值或概率分布?2、如何将弱分类器组合成一个强分类器?关于第一个问题,Adaboost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而且降低那些被正确分类样本的权值,这样,那些没有得到正确分类的数据由于其权重加大而受到后一轮的弱分类器的更大关注。关于第二个问题,Adaboost采取加权多数表决的方法。具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用;减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

算法的详细实施过程如下:

第一步:初始化训练数据的权值分布。

第二步:对  m = 1,2,…,M。

(a)、使用具有权值分布Dm的训练数据集学习,得到基本分类器Gm(x)

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

(c)、计算Gm(x)的系数(这里的对数是自然对数)

(d)、更新训练数据集的权值分布(Zm是规范化因子,它使Dm+1成为一个概率分布)

第三步:构建基分类器的线性组合,得到最终的分类器。

 

图解算法:待添加

详细例子:待添加

参考文章:

李航《统计学习方法》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章