第8章 提升方法
- 强可学习与弱可学习式等价的,在概率近似正确(probably approximately correct, PAC)学习的框架下
提升
(boosting)要解决的两个问题:
(1)每一轮如何改变训练数据的权值和概率分布
(2)弱分类器如何组合成一个强分类起- AdaBoost的做法
(1)提高被前一轮弱分类器错误分类样本的权值,而降低哪些被正确分类样本的权值
(2)弱分类器的组合,采用加权多数表决的方法
4.AdaBoost算法
(略)P138 - AdaBoost的两个特点:
(1)不改变所给的训练数据,而不断改变训练数据权值的分布,使得训练数据在基本分类器的学习中起不同的作用
(2)利用基本分类器的线性组合构建最终的分类器 - AdaBoost的训练误差分析P142
AdaBoost算法的另一种解释
:模型
为加法模型、损失函数
为指数函数、学习算法
为前向分布算法时的二分类学习方法- 前向分布算法P144
提升树
是以分类树或回归树为基本分类器的提升方法
fM(x)=∑m=1MT(x;Θm) f M ( x ) = ∑ m = 1 M T ( x ; Θ m )- 提升树算法
fm(x)=fm−1(x)+T(x;Θm)Θ^m=argminΘm∑I=1NL(yi,fm−1(xi)+T(xi;Θm)) f m ( x ) = f m − 1 ( x ) + T ( x ; Θ m ) Θ ^ m = arg min Θ m ∑ I = 1 N L ( y i , f m − 1 ( x i ) + T ( x i ; Θ m ) ) - 提升树利用加法模型和前向分步算法实现学习的优化过程,当损失函数是平方损失误差时,每一步优化时很简单的。但是对于一般的损失函数而言比较复杂。Freidman提出了
梯度提升
(gradient boosting)算法,利用最速下降法的近似方法,关键是利用损失函数的负梯度在当前模型的值作为回归问题提升树算法的近似值你和回归树
−[∂L(y,f(xi))∂f(xi)]f(x)=fm−1(x) − [ ∂ L ( y , f ( x i ) ) ∂ f ( x i ) ] f ( x ) = f m − 1 ( x ) 梯度提升算法
P151