adaboost原理和计算过程

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

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

2) 计算错误率

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

ε =

3) 计算弱学习算法权重

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

α = 1 2   l n ( 1 ε ε )

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

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

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

Z t = s u m ( D )

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

H ( x ) = s i g n ( t = 1 T α t h t ( x ) )
其中 s i g n ( x ) 是符号函数。
这里写图片描述
5) AdaBoost算法
这里写图片描述

猜你喜欢

转载自blog.csdn.net/blank_tj/article/details/82255900