接下来,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。具体说来,则是:
b.计算Gm(x)在训练数据集上的分类误差率
c. 计算Gm(x)的系数,am表示Gm(x)在最终分类器中的重要程度:
d. 更新训练数据集的权值分布由上述式子可知,em <= 1/2时,am >= 0,且am随着em的减小而增大,意味着分类误差率越小的基本分类器在最终分类器中的作用越大。
使得被基本分类器Gm(x)误分类样本的权值增大,而被正确分类样本的权值减小。就这样,通过这样的方式,AdaBoost方法能“聚焦于”那些较难分的样本上。其中,Zm是规范化因子,使得Dm+1成为一个概率分布:
从而得到最终分类器,如下:
1.3 Adaboost的一个例子
求解过程:初始化训练数据的权值分布,令每个权值W1i = 1/N = 0.1,其中,N = 10,i = 1,2, ..., 10,然后分别对于m = 1,2,3, ...等值进行迭代。
从而可得G1(x)在训练数据集上的误差率e1=P(G1(xi)≠yi) = 0.3
接着更新训练数据的权值分布:
最后得到各个数据的权值分布D2=(0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715),分类函数f1(x)=0.4236G1(x),故最终得到的分类器sign(f1(x))在训练数据集上有3个误分类点。
G2(x)在训练数据集上的误差率e2=P(G2(xi)≠yi) = 0.2143
更新训练数据的权值分布:
D3=(0.0455, 0.0455, 0.0455, 0.1667, 0.1667, 0.01667, 0.1060, 0.1060, 0.1060, 0.0455)
G3(x)在训练数据集上的误差率e3=P(G3(xi)≠yi) = 0.1820
更新训练数据的权值分布:
D4=(0.125, 0.125, 0.125, 0.102, 0.102, 0.102, 0.065, 0.065, 0.065, 0.125),f3(x)=0.4236G1(x) + 0.6496G2(x)+0.7514G3(x),分类器sign(f3(x))在训练数据集上有0个误分类点。
下面,咱们来通过推导来证明下上述式子。
整个的推导过程如下:
这个结果说明,可以在每一轮选取适当的Gm使得Zm最小,从而使训练误差下降最快。接着,咱们来继续求上述结果的上界。
其中,
而这个不等式
这个结论表明,AdaBoost的训练误差是以指数速率下降的。另外,AdaBoost算法不需要事先知道下界γ,AdaBoost具有自适应性,它能适应弱分类器各自的训练误差率 。
欢迎光临 开发者俱乐部 (http://xodn.com/) | Powered by Discuz! X3.2 |