Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。
每个样本都有一个初始的权重(长方形长度为权重大小),通过h1模型的训练后,2、3号样本分类错误,所以需要增大2、3号样本的权重,减小正确分类样本1、4的权重
将更改了权重的数据喂入h2模型,不断更新,能够得到比较好的分类结果
Adaboost根据已有模型的分类结果,动态更新样本权重,使得新模型能够基中处理那些难分类的样本,直观的讲,后面的弱分类器集中处理前面被错分的样本,这样使得分类器犯的错误各不相同,因此综合之后能够得到较好的结果
所以一下的公式推导都是围绕着如何调节数据权重和调节弱分类器的权重来进行的。
adaboost的推导:
https://github.com/aespresso/a_journey_into_math_of_ml
Z保证了所有权重的和为1