输入:数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , , ( x m , y m ) ;基学习算法为h;学习的循环次数为T。

过程:

1) ω i ( m ) = 1 m 为所有样本设置相同权重;

2) for t = 1 , 2 , , n

3) 利用分布w随机抽取一定数量的多数类样本,与所有的少数类样本建立临时数据集 D ,并产生其对应的权值分布 α t

4) 将生成的训练集 D ,去训练第t次迭代生成的弱分类器 h t 并返回;

5) 计算第t次训练的分类错误率 ε t = P x A i ( h i ( x i ) y i ) = i = 1 m D i ( i ) I ( h i ( x i ) y i )

6) 如果 ε t > 0.5 ,则重新训练弱分类器;

7) 更新权重为 α t = 1 2 ln 1 ε t ε t

8) 归一化因子: Z t = i = 1 m α t ( i ) e β t ( i )

9) 更新样本权值,表示第t个样本在第轮训练的权值,算法为 α t ( i ) Z t e α t y t h t ( x i ) , i = 1 , 2 , , m

输出: H ( x ) = s i g n ( t = 1 T α t × h t ( x ) )