机器学习算法之Adaboost原理和计算过程

AdaBoost算法是基于Boosting思想的机器学习算法,AdaBoost是adaptive boosting(自适应boosting)的缩写,其运行过程如下:

1) 计算样本权重

{(x1,y1),(x2,y2),...,(xn,yn)} 设定每个样本的权重都是相等的,即1n

2) 计算错误率

利用第一个弱学习算法h1 对其进行学习,学习完成后进行错误率ε的统计:

ε=

3) 计算弱学习算法权重

弱学习算法也有一个权重,用向量 α 表示,利用错误率计算权重 α

α=12 ln(1εε)

4) 更新样本权重

在第一次学习完成后,需要重新调整样本的权重,以使得在第一分类中被错分的样本的权重,在接下来的学习中可以重点对其进行学习:

Dt+1(i)=Dt(i)Zt{eαtif ht(xi) = yie αtif ht(xi)  yi

其中,ht(xi)=yi 表示对第i 个样本训练正确,不等於则表示分类错误。Zt 是一个归一化因子:

Zt=sum(D)

这个公式我们可以继续化简,将两个公式进行合并,化简如下:

H(x)=sign(t=1Tαtht(x))
其中sign(x) 是符号函数。
这里写图片描述

5) AdaBoost算法

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章