最新AdaBoost算法原理与理解

1、基本概念

元算法meta-algorithm,又称为集成方法(ensemblemethod):是对其余一些算法进行组合的一种方式(当下最流行的元算法是AdaBoost算法),使用集成方法时会有多种形式,能够是不一样的算法的集成,也能够是同一种算法在不一样设置下的集成,还能够是数据集不一样部分分给不一样分类器以后的集成。算法

自举汇聚法(bootstrap aggregating),也称为bagging方法,是在从原始数据集选择S次后获得S个新数据集的一种技术,不一样的分类器是经过串行训练而得到的,每一个新分类器都根据已经训练出的分类器来进行训练。bootstrap

boosting:是一种与bagging很相似的技术,经过集中关注被已有分类器错分的那些数据来得到新的分类器。api


bagging和boosting算法的不一样之处:性能

(1):得到新分类器的方法不一样;测试

(2):分类器权重不一样,bagging中分类器的权重是相等的,而boosting中的分类器权重并不相等。ui


2、AdaBoost算法的原理理解

2.1:AdaBoost算法的通常流程

(1):收集数据,能够使用任意方法。spa

(2):准备数据,依赖于所使用的弱分类器类型,本章使用的是单层决策树,这种分类器能够处理任何类型的数据,固然也能够使用任意分类器做为弱分类器,做为弱分类器,简单的分类器效果更好。.net

(3):分析数据,能够使用任意方法。blog

(4):训练算法,AdaBoost的大部分时间都用在训练上,分类器将屡次在同一数据集上训练弱分类器。ci

(5):测试算法,计算分类的错误率。

(6):使用算法,同SVM同样,AdaBoost预测两个类别中的一个,若是想把他应用到多个类别的场合,那么就要象多类SVM中的作法同样对AdaBoos进行修改。


2.2:训练算法,基于错误提高分类器的性能

AdaBoost是adaptive boosting(自适应boosts)的缩写,其运行过程以下:训练数据中的每一个样本,并赋予其一个权重,这些权重构成了向量D。一开始,这些权重都初始化成相等值。首先在训练数据上训练出一个弱分类器并计算该分类器的错误率,而后在同一数据集上再次训练弱分类器。在分类器的第二次训练当中,将会从新调整每一个样本的权重,其中第一次分对的样本的权重将会下降,而第一次分错的样本的权重将会提升。为了从全部弱分类器中获得最终的分类结果,AdaBoost为每一个分类器都分配了一个权重值alpha,这些alpha值是基于每一个弱分类器的错误率进行计算的。其中,错误率£的定义为:

0?wx_fmt=png

alpha的计算公式以下:     

0?wx_fmt=png

AdaBoost算法的流程以下:                                   0?wx_fmt=png

AdaBoost算法的示意图

左边是数据集,其中直方图的不一样宽度表示每一个样例上的不一样权重。

在通过一个分类器以后,加权的预测结果会经过三角形中的alpha进行加权。

每一个三角形中输出的加权结果在圆形中求和,从而获得最终的输出结果。


计算出alpha值以后,能够对权重向量D进行更新,以使得那些正确分类的样本的权重下降而错分样本的权重升高。D的计算方法以下。若是某个样本被正确分类,那么该样本的权重更改为:

 0?wx_fmt=png

而若是某个样本被错分,那么该样本的权重更改为: 

 0?wx_fmt=png

                                                                         

在计算出alpha以后,Adaboost又开始进入下一轮迭代。AdaBoost算法会不断地重复训练和调整权重的过程,直到训练错误率为0或者弱分类器的数目达到用户的指定值为止。

接下来,咱们将创建完整的Adaboost算法。在这以前,咱们首先必须经过一些代码来创建弱分类器及保存数据集的权重。


2.3:基于单层决策树构建弱分类器

单层决策树(decision stump , 也称决策树桩)是一种简单的决策树。前面咱们已经介绍了决策树的工做原理,接下来将构建一个单层决策树,而它仅基于单个特征来彳故决策。因为这棵树只有一次分裂过程,所以它实际上就是一个树桩。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------