8.1 提高方法AdaBoost(AdaptiveBoosting)算法
对提高方法来讲,有两个问题须要回答:一是在每一轮如何改变训练
数据的权值或几率分布;二是如何将弱分类器组合成一个强分类器。
关于第1个
问题,AdaBoost的作法是,提升那些被前一轮弱分类器错误分类样本的权值,而
下降那些被正确分类样本的权值。这样一来,那些没有获得正确分类的数据,由
于其权值的加大而受到后轮的弱分类器的更大关注。因而,分类问题被一系列
的弱分类器“分而治之”。
至于第2个问题,即弱分类器的组合,AdaBoost采起
加权多数表决的方法。具体地,加大分类偏差率小的弱分类器的权值,使其在表
决中起较大的做用,减少分类偏差率大的弱分类器的权值,使其在表决中起较小
的做用。
算法步骤说明:
步骤2 (b) 代表G
m(x)在加权的
训练数据集上的分类偏差率是被
G
m
(x)
误分类样本的权值之和,由此能够看出数
据权值分布D
m
与基本分类器
G
m
(x)
的分类偏差率的关系。
步骤2 (c
)可知,当e
m
<=1/2时,a
m
>
=0,而且
a
m
随着
e
m
的减少而增大,因此
分类偏差率越小的基本分类器在最终分类器中的做用越大。
(d) 更新训练数据的权值分布为下一轮做准备,式(8.4}能够写成
由此可知,被基本分类器
G
m
(x)
误分类样本的权值得以扩大,而被正确分类样本
的权值却得以缩小。.两相比较,误分类样本的权值被放大。
不改变所给的训练数据,而不断改变
训练数据权值的分布,使得训练数据在基本分类器的学习中起不一样的做用,这是
AdaBoost的一个特色.
步骤(3)
全部
系数
a
m
之和并不为1。
利用基本分类器的线性组合构建最终
分类器是AdaBoost的另外一特色。
8.2 AdaBoost算法的训练偏差分析
定理8.1 (AdaBoost的训练偏差界) AdaBoost算法最终分类器的训练偏差
界为
这必定理说明,能够在每一轮选取适当的
G
m
使得Z
m
最小,从而使训练偏差
降低最快。对二类分类问题,有以下结果:
定理8.2(二类分类问题AdaBoost的练偏差界)
推论8.1 若是存在r>0,对全部m有
r
m
>=r,则
这代表在此条件下AdaBoost的训练偏差是以指数速率降低的。
注意,AdaBoost算法不须要知道下界r
。AdaBoost具备适应性,即它
能适应弱分类器各自的训练偏差率。
AdaBoost的训练偏差分析代表,AdaBoost的每次迭代能够减小它在训练
数据集上的分类偏差率,这说明了它做为提高方法的有效性。
8.3 AdaBoost算法的解释
AdaBoost算法还有另外一个解释,便可以认为AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分步算法时的二类分类学习方法。
前向分步算法(forward stagewise algorithm)算法
其中,b为基函数,r为基函数的参数,beta为基函数的系数。
前向分步算法同时求解从m=1到M全部参数的优化问题简化为逐次求解各个参数的优化问题.

前向分步算法与AdaBoost是等价的。函数
定理8.3 AdaBoost算法是前向分步加法算法的特例。这时,模型是由基本分类器组成的加法模型,损失函数是指数函数。
8.4 提高树
提高树是以分类树或回归树为基本分类器的提高方法。提高树被认为是统计
学习中性能最好的方法之一。
提高树模型性能
提高方法实际采用加法模型(即基函数的线性组合)与前向分步算法。以决
策树为基函数的提高方法称为提高树(boosting tree)。对分类问题决策树是二叉
分类树,对回归问题决策树是二叉回归树。
基本分类器x<v或
x>v,能够看做是由一个根结点直接链接两个叶结点的简单决策树,即所谓的决
策树桩(decision stump)。
提高树模型能够表示为决策树的加法模型:
其中,T表示决策树,theta为决策树的参数,M为树的个数。
提高树算法学习
提高树算法采用前向分步算法。首先肯定初始提高树f0(x)=0,第m步的模型是
其中,fm-1(x)为当前模型,经过经验风险极小化肯定下一棵决策树的参数。
不一样问题的提高树学习算法主要区别在于使用的损失函数
不一样。包括用平方偏差损失函数的回归问题,用指数损失函数的分类问题,以及
用通常损失函数的通常决策问题。
对于二类分类问题,提高树算法只需将AdaBoost算法8.1中的基本分类器限
制为二类分类树便可,是AdaBoost算法的特殊状况。
回归问题的提高树算法优化
当采用平方偏差损失函数时,
其中
是当前模型拟合数据的残差(residual)。
因此
对回归问题的提高树算法来讲,求解
经验风险极小化的问题
只需简单地拟合当前模型的残差
。
提高树利用加法模型与前向分步算法实现学习的优化过程。当损失函数是平
方损失和指数损失函数时。每一步优化是很简单的。但对通常损失函数而言,往
往每一步优化并不那么容易。针对这一问题,Freidmao提出了梯度提高(gradient
boosting)算法。这是利用最速降低法的近似方法,其关键是利用损失函数的负
梯度在当前模型的值
做为回归问题提高树算法中的残差的近似值,拟合一个回归树。
算法第1步初始化,估计使损失函数极小化的常数值,它是只有一个根结点
的树,即 x>c 和 x<c;
第2 (a)步计算损失函数的负梯度在当前模型的值,将它做为残差的估计。对
于平方损失函数,它就是一般所说的残差;对于通常损失函数,它就是残差的近
似值。
第2 (b)步估计回归树叶结点区域,以拟合残差的近似值
第2 (c)步利用线
性搜索估计叶结点区域的值,使损失函数极小化
第2 (d)步更新回归树。
第3步
获得输出的最终模型。