统计学习方法:提升方法

来源:互联网 发布:sql server下载安装 编辑:程序博客网 时间:2024/05/16 14:49

在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器线性组合,提高分类的性能

1.1 提升方法AdaBoost算法
1.1.1 提升方法的基本思路
对于一个复杂任务来说,将多个专家的判断进行适当的综合得出的判断比任何一个专家单独的判断好。“三个臭皮匠顶个诸葛亮”
强可学习:在概率近似正确学习的框架中,一个概念(类)如果存在一个多项式学习算法能够学习它,并且正确率很高,就称这个概念是强可学习的
弱可学习:一个概念如果仅比随机猜测略好,就成为弱可学习。
对于分类问题而言,求比较粗糙的分类规则(弱分类器)比求精确的分类规则(强分类器)容易的多。提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,之后组合构成一个强分类器。
这里写图片描述
这里写图片描述
对AdaBoost算法做如下说明:
步骤(1)假设训练数据具有均匀的权值分布,在原始数据上学到基本分类器
步骤(2)反复学习基本分类器,在每一轮m=1,2,… 顺次执行下次操作
(a)使用当前加权的数据集,计算基本分类器
(b)计算基本分类器在加权训练数据集上的分类误差率,是被误分类样本的权值之和
(c)计算基本分类器的系数,分类误差率越小 的分类器在最终分类器中作用越大
(d)更新数据权值分布
这里写图片描述被误分类样本的权值变大,正确的缩小,不改变所给的训练数据,而不断改变训练数据权值的分布,使得训练数据在基本分类器中起不同的作用。是AdaBoost的一个特点。
步骤(3)线性组合实现M个分类器的加权表决。

1.2 AdaBoost算法的训练误差分析
AdaBoost最基本的性质是可以再训练过程中不断减少训练误差
AdaBoost算法最终分类器的训练误差界为这里写图片描述这表明在每一轮选取适当的G使得Z最小,从而使训练误差下降最快

1.3AdaBoost算法的解释
可以认为AdaBoost算法是模型为加法模型、损失函数为指数函数、学习算法为前向分布算法时的二分类学习算法。
1.3.1 前向分布算法
学习加法模型,如果能够从前到后,每一步只学习一个基函数及其系数,逐步逼近优化目标函数式,就可以简化优化的复杂度
这里写图片描述
AdaBoost算法是前向分步算法的特例。这时模型是基本分类器组成的加法模型,损失函数是指数函数

1.4 提升树
提升树是以分类树或者回归树为基本分类器的提升方法。被认为是统计学习中性能最好的方法之一。
1.4.1 提升树模型
提升方法实际采用加法模型(基函数的线性组合)和前向分步算法,以决策树为基函数的提升方法称为提升树。
提升树模型可以看做决策树的加法模型。
1.4.2 提升树算法
这里写图片描述
这里写图片描述