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

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

1) 计算样本权重

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

2) 计算错误率

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

ε= ε = 为 正 确 分 类 的 样 本 数 所 有 样 本 数 目

3) 计算弱学习算法权重

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

α=12 ln(1εε) α = 1 2   l n ( 1 − ε ε )

4) 更新样本权重

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

Dt+1(i)=Dt(i)Zt{eαtif ht(xi) = yie αtif ht(xi)  yi D t + 1 ( i ) = D t ( i ) Z t ∗ { e − α t i f   h t ( x i )   =   y i e   α t i f   h t ( x i )   ≠   y i

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

Zt=sum(D) Z t = s u m ( D )

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

H(x)=sign(Tt=1αtht(x)) H ( x ) = s i g n ( ∑ t = 1 T α t h t ( x ) )
其中 sign(x) s i g n ( x ) 是符号函数。
机器学习算法之Adaboost原理和计算过程_第1张图片

5) AdaBoost算法

机器学习算法之Adaboost原理和计算过程_第2张图片

你可能感兴趣的:(机器学习算法之Adaboost原理和计算过程)