3.1.2 AdaBoost算法原理
AdaBoost算法针对不同的训练集训练同一个基本分类器(弱分类器),然后把这些在不同训练集上得到的分类器集合起来,构成一个更强的最终的分类器(强分类器)。理论证明,只要每个弱分类器分类能力比随机猜测要好,当其个数趋向于无穷个数时,强分类器的错误率将趋向于零。AdaBoost算法中不同的训练集是通过调整每个样本对应的权重实现的。最开始的时候,每个样本对应的权重是相同的,在此样本分布下训练出一个基本分类器h1(x)。对于h1(x)错分的样本,则增加其对应样本的权重;而对于正确分类的样本,则降低其权重。这样可以使得错分的样本突出出来,并得到一个新的样本分布。同时,根据错分的情况赋予h1(x)一个权重,表示该基本分类器的重要程度,错分得越少权重越大。在新的样本分布下,再次对基本分类器进行训练,得到基本分类器h2(x)及其权重。依次类推,经过T次这样的循环,就得到了T个基本分类器,以及T个对应的权重。最后把这T个基本分类器按一定权重累加起来,就得到了最终所期望的强分类器。
AdaBoost算法的具体描述如下:
假定X表示样本空间,Y表示样本类别标识集合,假设是二值分类问题,这里限定Y={-1,+1}。令S={(Xi,yi)|i=1,2,…,m}为样本训练集,其中Xi∈X,yi∈Y。
① 始化m个样本的权值,假设样本分布Dt为均匀分布:Dt(i)=1/m,Dt(i)表示在第t轮迭代中赋给样本(xi,yi)的权值。
② 令T表示迭代的次数。
③ For t=1 to T do
根据样本分布Dt,通过对训练集S进行抽样(有回放)产生训练集St。
在训练集St上训练分类器ht。
用分类器ht对原训练集S中的所有样本分类。
得到本轮的分类器ht:X →Y,并且有误差εt=Pri-Di[ht(xi) ≠yi]。
令αt=(1/2)ln[(1-εt)/ εt]。
更新每个样本的权值
,其中,Zt是一个正规因子,用来确保ΣiDt+1(i)=1。
end for
④ 最终的预测输出为:
参考: 基于多分类器融合的数据挖掘分类算法研究与应用
Experiments with a new Boosting algorithm
- 大小: 5.7 KB
- 大小: 3.1 KB
- 大小: 45.1 KB
分享到:
相关推荐
adaboost算法原理 adaboost算法原理 adaboost算法原理
adaboost算法原理PPT教学课件.pptx
AdaBoost算法原理收集.pdf
Adaboost算法原理.pdf
文中详细的介绍了什么是AdaBoost算法,Adaboost算法的工作流程以及其应用。文中带有非常详细的讲解和注释。非常适合学习这个算法的童鞋。
adaboost算法原理PPT学习教案.pptx
详细介绍adaboost算法的原理和adaboost算法的matlab实现
。。。
。。。
根据第三节,我们可以得到的优化目标是最小化:所以我们需要找到一个,使得最小。如果我们已经知道了,如何来更新呢?答案很简单,梯度下降即可。我们有:观察一下式(4.
讲述了Adaboost算法的基本原理,方便初学者学习研究
这是关于adaboost原理的详解 对初学者有用
本资料详细介绍了Adaboost算法的基本原理,对于想了解该算法的同学有大的帮助。
adaboost算法是一个由多个弱分类器生成一个强分类器的算法,可以提高分类的正确率,这里利用adaboost算法的原理,结合matlab做了一个简单的实例 里面h1-h8为八个弱分类器,adaboost为训练的主函数,test调用了训练...
详解AdaBoost算法,小象学院代码和讲义。详解AdaBoost算法,小象学院代码和讲义。
主要介绍了adaboost算法的原理,该算法的具体实现,通过一个具体简单的实例让我们更清楚地了解adaboost算法。
关于Adaboost算法的详细讲解,新手可以了解其原理