集成算法是我们将不同的分类器组合起来,而这种组合结果就被称为集成方法或者是元算法。使用集成方法时会有多种形式:可以是不同算法的集成,也可以是同意算法在不同设置下的集成,还可以是数据集不同部分分配给不同分类器之后的集成。
两种形式:
bagging方法:从原始数据集选择S次后得到S个新数据集,之后将某个学习算法分别作用于数据集,就得到了S个分类器,在对新的数据集进行分类时,使用这些分类器进行分类,同时,选择分类器投票结果中最多的类别作为最后的分类结果。不同的分类器是通过串行训练而获得的,每个新分类器都根据已训练出来的分类器的性能来进行训练。分类器的权重是相等的。
例子:随机森林
boosting方法:使用多个分类器,它是通过集中关注被已有分类器错分的那些数据来获得新的分类器,boosting分类的结果是基于所有分类器的加权求和结果的,权重不相等,每个权重代表的是其对应分类器在上一轮迭代中的成功度。
例子:Adaboost,GBDT
AdaBoost的思想:
1.训练数据中的每一个样本,并赋予一个权重,初始化为相等值,这些权重构成了向量D
2.首先在训练数据上训练出一个弱分类器并计算该分类器的错误率,然后在同一个数据集上再次训练弱分类器。在分类器的第 二次训练中,将会重新调整每个样本的权重。其中第一次分对的样本的权重会降低,而第一次分错的样本的权重会提高。
3.为了从所有弱分类器中得到最终的分类结果,Adaboost为每个分类器分配了一个权重alpha,这些alpha值是基于每个弱分类器的错误率进行的
4.计算出alpha值后,可以对权重向量D进行更新,以使得那些正确分类的样本的权重降低而错分样本的权重升高。








暂无数据