AdaBoost简介

 

AdaBoost对于每个弱分类器的准确率要求并不高,即便是低于50%的随机实验的准确率水平也可以。最后通过对训练所得的弱分类器进行线性加权组合就可以得到一个强分类器。

AdaBoost的运行过程如下:先对数据集中的一部分样本训练。赋予这部分样本中的每一个样本一个相同的权重,并构成权重向量D。这些权重在一开始都被初始化赋予相等的值,如图4.2最左上方的正方体所示。先在根据这部分训练数据训练出一个弱分类器。该弱分类器可以是任何一种分类器,但是最好是简单分类器,例如决策树等。得到第一个弱分类器后计算其错误率。其中,错误率ε的定义为:

                                                         

为了最终实现对所有弱分类器进行整合的目的,AdaBoost为每个弱分类器都配备了一个权重值α。得到第一个弱分类器的错误率之后,根据此错误率,计算第一个弱分类器的权重α。计算公式如下:

                                                                                                                     

之后,根据情况更新每个样本的权重,第一个弱分类器分类正确的样本权重会降低,分类错误的样本权重会升高,得到新的样本权重D。

得到α的值之后,为了使正确分类的样本权重降低,错误分类的样本权重升高,再次对权重向量D进行更新,更新方法如公式4.5以及4.6所示:

如果样本被正确分类,则权重变为:

                                                                             4.5                                   

而如果样本被错误分类,则权重变为:

                                                                         4.6                      

当弱分类器权重α以及样本权重D都进行了更新之后,AdaBoost会重复以上训练过程进行新一轮弱分类器的训练等步骤,每次都会调整权重,直到训练错误率为0或者弱分类器的数目达到设定值为止,最终训练出多个弱分类器并得到相应的权重[24]。

                                      

猜你喜欢

转载自blog.csdn.net/sunflower_sara/article/details/81214290