Adaboost(Adaptive Boosting)是一种原理简单,但很实用的有监督机器学习算法。说Boosting算法之前,先说下Bagging算法,他们两个都是把一些弱分类器组合起来进行分类的方法,统称为集成方法(Ensemble Method),虽然每个弱分类器分类的结果不那么准确,但是如果把多个弱分类器组合起来却可以得到相当不错的结果。同时集成方法还可以组合不同的分类器。Bagging算法大致思路是:从整体样本集合中,抽样n<N个样本,针对抽样的集合训练分类器,然后分类器进行投票,最终的结果是分类器投票的优胜结果。代表例子就是随机森林(Random Forest)。随机森林的每个弱分类器是决策树(Decision Tree),输出的类别由多个决策树分类的类别投票决定。但是,这种方法只是将分类器进行简单的组合,实际上并没有发挥出分类器组合的威力来。直到后来Freund and schapire提出了Adaboost算法,这个简单,有效的算法。Adaboost算法不同于Bagging算法的地方是:AdaBoost算法的每个弱分类器组合起来的权重不一样,而Bagging的每个弱分类器的组合权重是相等的。Adaboost原理如下图:

弱分类器权重计算完成后可以更新样本数据的权重,其实也可以说样本数据的权重间接靠