
目录一、提升方法AdaBoost算法AdaBoost算法原理AdaBoost实例二、AdaBoost算法的训练误差分析三、AdaBoost算法的解释前向分布算法四、提升树提升树模型提升树算法梯度提升算法一、提升方法AdaBoost算法强可学习与弱可学习是等价的故可以将弱学习算法提升为强学习算法最具有代表性的就是AdaBoost算法。提升方法从弱学习算法出发反复学习得到一系列弱分类器将这些弱分类器进行组合得到强分类器。AdaBoost算法原理假设均匀权值分布➡️反复学习基本分类器➡️更新权值➡️线性组合得到最终分类器AdaBoost实例给定下列训练数据表试用AdaBoost算法学习一个强分类器初始化权值分布每个权值都为0.1对于m1:a在权值分布为D1的训练数据上阈值取2.5时分类误差率最低取得基本分类器G 1 ( x ) { 1 , x 2.5 − 1 , x 2.5 G_1(x) \begin{cases} 1, x2.5 \\ -1, x2.5 \end{cases}G1(x){1,−1,x2.5x2.5bG1(x)在训练数据集上的误差率e10.3c计算G1(x)的系数α 1 1 2 log 1 − e 1 e 1 0.4236 \alpha_1\frac{1}{2}\log\frac{1-e_1}{e_1}0.4236α121loge11−e10.4236(d)更新训练数据的权值分布D 2 ( w 21 , ⋯ , w 2 i , ⋯ , w 210 ) w 2 i w 1 i Z 1 exp ( − α 1 y i G 1 ( x i ) ) , i 1 , 2 , ⋯ , 10 D 2 ( 0.07143 , 0.07143 , 0.07143 , 0.07143 , 0.07143 , 0.07143 , 0.16667 , 0.16667 , 0.16667 , 0.07143 ) f 1 ( x ) 0.4236 G 1 ( x ) \begin{align*} D_2 (w_{21},\cdots,w_{2i},\cdots,w_{210}) \\ w_{2i} \frac{w_{1i}}{Z_1}\exp(-\alpha_1 y_i G_1(x_i)),\quad i1,2,\cdots,10 \\ D_2 (0.07143, 0.07143, 0.07143, 0.07143, 0.07143, 0.07143, \\ \quad 0.16667, 0.16667, 0.16667, 0.07143) \\ f_1(x) 0.4236G_1(x) \end{align*}D2w2iD2f1(x)(w21,⋯,w2i,⋯,w210)Z1w1iexp(−α1yiG1(xi)),i1,2,⋯,10(0.07143,0.07143,0.07143,0.07143,0.07143,0.07143,0.16667,0.16667,0.16667,0.07143)0.4236G1(x)二、AdaBoost算法的训练误差分析AdaBoost最基本的性质是它能在学习过程中不断减少训练误差即减少在训练数据集上的分类误差率。三、AdaBoost算法的解释可以认为AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分布算法时的二类分类学习方法。前向分布算法前向分布算法求解加法模型成为经验风险极小化即损失函数最小化问题的想法是因为学习的是加法模型如果能够从前往后每一步只学习一个基函数及其系数逐步逼近优化目标函数式那么就可以简化优化的复杂度。每一步只需要优化如下的损失函数min β , γ ∑ i 1 N L ( y i , β b ( x i ; γ ) ) \min_{\beta,\gamma}\sum_{i1}^{N} L\big(y_i,\beta b(x_i;\gamma)\big)β,γmini1∑NL(yi,βb(xi;γ))完整算法由前向分布算法可以推导出AdaBoost算法AdaBoost算法是前向分布加法算法的特例。这时模型是由基本分类器组成的加法模型损失函数是指数函数。证明见课本P164四、提升树提升树模型提升方法实际采用加法模型与前向分布模型。以决策树为基函数的提升方法称为提升树。提升树算法梯度提升算法