目录
一、adaboost简介
adaboost算法,英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出,是一种属于boosting方法的二分类算法。它的基本思想是前一个学习器分类错误的样本要被后一个学习器更加重视,前一个分类器分错的样本的权重会得到加强,权重加强后的全体样本再次被用来训练下一个基本分类器。这样不断的进行分类器组合与更新,最终会达到一个很好的效果。
adaboost在分类器组合时采用多数投票法,但是是不等额投票,分类错误率越小的弱分类器在表决中占的比重越大,分类错误率大的弱分类器在表决中占的比重较小。
二、adaboost基本思想
1、初始化样本权重,对于有N个数据的样本集,每个样本的权重为
2、训练弱学习器进行分类。对于分错的样本,在下一个弱学习器中,加大其权重,使学习器更重视,对于分类正确的样本,减少其权重。更新完权重后继续训练,重复整个过程。
3、对于所有的弱学习器进行线性组合,每个学习器都带有自身的权重,投票时为带权投票,输出最终投票结果。
具体流程为:
1、初始化权重:
2、进行多轮迭代:首先用初始化的权重训练弱分类器:
计算其分类错误率:
计算在投票时G1的权重: (或者换成log以2为底也可以)
更新训练集权重: