赞
踩
Boosting是一类算法的统称,其基本思想很简单,就是”三个臭皮匠顶个诸葛亮”:针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。常见的分类算法,如kNN、线性分类器、决策树等,均可经过特殊约束构造弱分类器。
弱弱联合,变得更强!!!强在准确度上比较好理解,但是怎么提高效率就有点困惑了。因为本来只需训练单个强分类器便可以解决问题,现在却要多个弱分类器组合才能得到结果,计算次数和成本“明显”增加了。其实这块的优化是单个弱分类器的计算开销远远地低于单个强分类器,如判断一个新样本,单个强分类器可能需要对比十个属性才能得到分类结果,但每个弱分类器每次只需要对比一个属性,即使五个弱分类器组合,计算成本也远远小于单个强分类器。
对于Boosting算法,主要存在两个问题:
针对以上两个问题,1995年,Freund and Schapire改进了Boosting算法,取名为Adaboost算法。AdaBoost算法的调整主要是:
AdaBoost算法的具体步骤如下:
1.给定训练样本集S:
2.初始化样本权重为
3.对于T轮训练,For
(1)基于当前训练样本的概率分布
(2)计算弱分类器的错误率:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。