概念理解
提升方法指的就是在统计学习的分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,最终达到高分类的性能的目的。举个例子就是A给D传一句话,A先传给B,B觉着不太好,就在原基础上做一点修改后继续传给C,以此类推最终每一个地方都进行一次的修改然后传给D,就是这样的一个思想。
其实提出它的思想就是把弱学习算法,提升为强学习算法。在概率近似正确的学习框架中一个概念如果存在一个多项式的学习算能够学习它,并且正确率很高,那么就称这个概念是强可学习,如果存一个多项式的学习算法能够学习它,但是学习的正确率仅比随机猜测略好,那么就称这概念是弱可学习的 。非常有趣的是 Schapire 后来证明强可学习与弱可学习是等价的也就是说,在 PAC 学习的框架下,一个概念是强可学习的充分必要条件是这个概念
是弱可学习。关于提升方法的研究很多,有很多算法被提出,最具代表性的是 AdaBoost算法。因此通过提升算法就可以在分类问题中把弱分类器提升为强分类器。
但是如何在每一轮改变训练据的权值或概率分布,如何将弱分类器组合成一个强分类器?AdaBoost 的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低些被正确分类样本的权值。这样,那些没有得到正确分类的数据,由于其权值加大而受到后一轮的弱分类器的更大关注。于是,分类问题被一系列的弱分类器分而治之 。至于第二个问题,即弱分类器的组合, AdaBoost 采取加权多数表决的方法。具体讲就是加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用 :减小类误差率大的弱分类器的权值,使其在表决中起较小的作用。
AdaBoost 算法




AdaBost 的例子


AdaBoost 算法的误差分析
AdaBoost 最基本的性质是它能在学习过程中不断减少训练误差 ,即在训练数集上的分类误差率。
AdaBoost 训练误差界
这个定理说明,可以在每一轮选取适当的Gm使得Zm最小,从而使训练误差下降的最快。

二类分类问题 AdaBoost 的训练误差界
这表明在此条件下 AdaBoost 的训练误差是以指数速率下降的。

AdaBoost 算法的解释
AdaBoost 算法还有另一个解释, 即可以认为 AdaBoost 算法是模型为加法模型、损失函数(策略)为指数函数、 学习算法为前向分步算法时的二类分类学习方法。
前向分步算法



显然这就变成了一个复杂优化问题,解决这个复杂优化问题的最好办法就是前向分步算法,具体思想如下:
思想:因为学习的是加法模型,如果能够从前向后 ,每一步只学习一个基函数及其系数,逐步逼近优化目标函数式 (8.14) ,那么就可以简化优化的复
杂度。具体地,每步只需优化如下损失函数:

前向分步与AdaBoost
AdaBoost 算法是前向分步加法算法的特例,前向分步算法学习的是加法模型,当基函数为基本分类器时,该加法模型等价于 AdaBoost 的最终分类器,即也就是前面的那个8.6的式子。

4745

被折叠的 条评论
为什么被折叠?



