您的位置:首页 > 其它

[机器学习] Adaboost算法流程及原理推导

2015-10-11 18:00 253 查看
Adaboost算法是一种迭代算法。其用法是将对于训练同一训练集的多个弱分类器集合,成为一个强分类器。

Adaboost算法实现步骤如下:

输入{(x1,y1),(x2,y2)...(xn,yn)},,其中xi∈X,yi∈{−1,1}。

初始化D1(i)=1n,i=1,2...n。

For t = 1,2…T:

寻找分类器ht:X→{−1,1},用每个特征fj训练一个弱分类器hj,可以得到一个加权错误率ϵj=∑t=1mDt,ht(xi)≠yi 选取ϵj最小的分类器ht,最小加权误差率值记作ϵt

计算权值αt=12ln(1−ϵtϵt)

更新DDt+1(i)=Dt(i)exp[−αtyiht(xi)]Zt Zt为归一化参数

最终获得的强分类器H(x)=sign(∑t=1Tαtyiht(x))

Adaboost算法原理

从最后的计算公式,可以理解为Adaboost算法最后获得的分类结果是由多个弱分类器加权投票决定的。

而判断最终结果的好坏,是看分类结果与真实结果的差距,即:lossexp[H(x)]=Ex,y[e−yH(x)] 差距越小,表示分类结果越好。而该公式也可以理解为要追求yH(x)更大。

后续都是数学证明的过程,公式过多,直接用手写拍照上传。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: