统计学习方法 AdaBoost

提升方法的基本思路

在概率近似正确(probably approximately correct,PAC)学习的框架中,

一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个概念是强可学习的;

一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么就称这个概念是弱可学习的。

Schapire后来证明强可学习与弱可学习是等价的,也就是说,在PAC学习的框架下,

一个概念是强可学习的充分必要条件是这个概念是弱可学习的。

?

对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易得多。

提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。

大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

?

对提升方法来说,有两个问题需要回答:

一是在每一轮如何改变训练数据的权值或概率分布;

二是如何将弱分类器组合成一个强分类器。

第1个问题,AdaBoost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。

那些没有得到正确分类的数据,由于其权值的加大而受到后一轮的弱分类器的更大关注。于是,分类问题被一系列的弱分类器"分而治之"。

第2个问题,即弱分类器的组合,AdaBoost采取加权多数表决的方法。

加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,‘

减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

?

AdaBoost算法

训练数据集


  1. 初始化训练数据的权值分布


  2. 对M=1,2,…,m

    使用具有权值分布Dm的训练数据集学习,得到基本分类器:

    计算Gm(x)在训练数据集上的分类误差率:

    计算Gm(x)的系数

    更新训练数据集的权值分布:

    Zm是规范化因子:

  3. 构建基本分类器的线性组合



AdaBoost说明:

  1. 假设训练数据集具有均匀的权值分布,即每个训练样本在基本分类器的学习中作用相同,

    这一假设保证第1步能够在原始数据上学习基本分类器G1(x)

  2. AdaBoost反复学习基本分类器,在每一轮m=1,2,…,M顺次地执行下列操作:

1.使用当前分布Dm加权的训练数据集,学习基本分类器Gm(x)。

2.计算基本分类器Gm(x)在加权训练数据集上的分类误差率:

这里,wmi表示第m轮中第i个实例的权值.

这表明,Gm(x)在加权的训练数据集上的分类误差率是被Gm(x)误分类样本的权值之和,

由此可以看出数据权值分布Dm与基本分类器Gm(x)的分类误差率的关系

3. 计算基本分类器Gm(x)的系数am。am表示Gm(x)在最终分类器中的重要性。

当em≤1/2时,am≥0,并且am随着em的减小而增大,

所以分类误差率越小的基本分类器在最终分类器中的作用越大。

4.更新训练数据的权值分布为下一轮作准备

被基本分类器Gm(x)误分类样本的权值得以扩大,而被正确分类样本的权值却得以缩小

误分类样本在下一轮学习中起更大的作用。

不改变所给的训练数据,而不断改变训练数据权值的分布,使得训练数据在基本分类器的学习中起不同的作用

  1. 线性组合f(x)实现M个基本分类器的加权表决。

?

AdaBoost的例子

弱分类器由x<v或x>v产生, 其阈值v使该分类器在训练数据集上分类误差率最低.

初始化数据权值分布


对于m=1

在权值分布为D1的训练数据上,阈值v取2.5时分类误差率最低,故基本分类器为


G1(x)在训练数据集上的误差率e1=P(G1(xi)≠yi)=0.3。

计算G1(x)的系数:


更新训练数据的权值分布:


分类器sign[f1(x)]在训练数据集上有3个误分类点。

对于m= 2

在权值分布为D2的训练数据上,阈值v是8.5时分类误差率最低,基本分类器为


G2(x)在训练数据集上的误差率e2=0.2143

计算a2=0.6496

更新训练数据权值分布:

分类器sign[f2(x)]在训练数据集上有3个误分类点。

对于m = 3:

在权值分布为D3的训练数据上,阈值v是5.5时分类误差率最低,基本分类器为

计算a3=0.7514

更新训练数据的权值分布

D4=(0.125,0.125,0.125,0.102,0.102,0.102,0.065,0.065,0.065,0.125)

得到:

?

?

AdaBoost算法的训练误差分析

AdaBoost算法最终分类器的训练误差界为:



这表明在此条件下AdaBoost的训练误差是以指数速率下降的

?

?

AdaBoost算法的解释

可以认为AdaBoost算法是

模型为加法模型

损失函数为指数函数

学习算法为前向分步算法

的二分类学习方法

?

加法模型

其中b(x;γm)为基函数的参数,βm是基函数的系数。

如上式所示为一加法模型。

在给定训练数据及损失函数L(Y,f(X))的条件下,学习加法模型f(x)成为经验风险极小化即损失函数极小化问题:

前向分步算法(forward stagewise algorithm)求解这一优化问题的想法是

因为学习的是加法模型,如果能够从前向后,每一步只学习一个基函数及其系数,

逐步逼近优化目标函数式(8.14),那么就可以简化优化的复杂度。

就是优化如下函数:

初始化f0(x)=0,对m=1,2,…,M,极小化损失函数

计算得到γm ,βm

更新fm

获得加法模型

?

前向分步算法与AdaBoost

由前向分步算法可以推导出AdaBoost

AdaBoost算法是前向分歩加法算法的特例。

这时,模型是由基本分类器组成的加法模型,损失函数是指数函数。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

时间: 2024-12-09 16:04:39

统计学习方法 AdaBoost的相关文章

统计学习方法 李航---第8章 提升方法

第8章提升方法 提升(boosting)方法是一种常用的统计学习方法,应用广泛且有效.在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能. 基本思想:对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易得多.提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器.大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对

统计学习方法(一)(李航)

统计学习方法概论: (一),统计学习 1,统计学习的特点 2,统计学习的对象 3,统计学习的目的 4,统计学习的方法 (二),监督学习重要概念 1,输入空间,特征向量空间,输出空间 (三),统计学习三要素 1,模型 决策函数模型: 条件概率模型: 2,策略 2.1 损失函数: 2.2 经验风险最小化和结构最小化 如贝叶斯估计的最大后验概率就是一种结构风险最小化的一个例子 3,算法 (四)模型评估选择 1,训练误差和测试误差 2,过拟合 过拟合和欠拟合产生的原因及解决方式: 欠拟合的原因:模型复杂

统计学习方法笔记(1)——统计学习方法概论

1.统计学习 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称统计机器学习.统计学习是数据驱动的学科.统计学习是一门概率论.统计学.信息论.计算理论.最优化理论及计算机科学等多个领域的交叉学科. 统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去.统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提. 统计学习的目的就是考虑学习什么样的模型和如何学习模型. 统计学习

机器学习-李航-统计学习方法学习笔记之感知机(2)

在机器学习-李航-统计学习方法学习笔记之感知机(1)中我们已经知道感知机的建模和其几何意义.相关推导也做了明确的推导.有了数学建模.我们要对模型进行计算. 感知机学习的目的是求的是一个能将正实例和负实例完全分开的分离超平面.也就是去求感知机模型中的参数w和b.学习策略也就是求解途径就是定义个经验损失函数,并将损失函数极小化.我们这儿采用的学习策略是求所有误分类点到超平面S的总距离.假设超平面s的误分类点集合为M,那么所有误分类点到超平面S的总距离为 显然损失函数L(w,b)是非负的,如果没有误分

统计学习方法:感知机

作者:桂. 时间:2017-04-16  11:53:22 链接:http://www.cnblogs.com/xingshansi/p/6718503.html 前言 今天开始学习李航的<统计学习方法>,考虑到之前看<自适应滤波>,写的过于琐碎,拓展也略显啰嗦,这次的学习笔记只记录书籍有关的内容.前段时间朋友送了一本<机器学习实战>,想着借此增加点文中算法的代码实现,以加深对内容的理解.本文梳理书本第二章:感知机(Perceptron). 1)原理介绍 2)代码实现

统计学习方法概论

统计学习 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科.统计学习也称为统计机器学习(statical machine learning). 统计学习的方法是基于数据构建统计模型从而对数据进行预测和分析.统计学习由监督学习.非监督学习.半监督学习和强化学习等组成. 统计学习方法包括假设空间.模型选择的准则.模型学习的算法,这些统称为统计学习方法的三要素:模型(Model).策略(Strategy).算法(Algorithm). 实现统计学习方法的步骤如下:

《统计学习方法》:EM算法重点学习以及习题。

适用场景:有隐变量的时候特别适用. EM算法主要分为两个步骤:E步和M步. 输入:选择参数的初值theta,进行迭代. E步: 每次迭代改变初值.定义Q函数.Q函数为迭代的期望值. M步: 求使E步得到的Q函数最大的theta值. 最后,重复进行E步和M步.直到最终theta值变化较小,即为收敛为止. 注意:初值为算法的选择尤为重要.初值的选择会影响结果. EM算法得到的估计序列能够最终收敛得到结果.但是收敛得到的结果并不能保证能够收敛到全局最大值或者局部最大值. EM算法在两个方面极其有用:在

机器学习-统计学习方法中多项式拟合偏导函数推导

最近在学机器学习,看了Andrew Ng 的公开课,同时学习李航博士的 <统计学习方法>在此记录. 在第十二页有一个关于多项式拟合的问题.此处,作者直接给出了所求的的偏导.这里做一下详细推导. , 此处函数模型的求偏导问题,首先看一下偏导的定义 因为此处是,所以除了Wj 外的Xi,Yi 都可以视作常数.对此求解. 推导后我们会发现所得出的公式与作者给出的答案不同 ,不过作者也给出了更正的勘误 但是我们发现还是和我推导出的答案不同.作者分母下的x上标为j+1,而我推导出的上标为2j,参考作者的勘

统计学习方法 &ndash;&gt; 支持向量机

前言 定义: 在特征空间上间隔最大的线性分类器. 核是SVM非常重要的一个特性. 支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题. 分类 1>线性可分支持向量机 2>线性支持向量机 3>非线性支持向量机 如果训练数据线性可分,那么可以通过硬间隔最大化,学习一个线性分类器,就是线性可分支持向量机,就是硬间隔支持向量机. 类似,如果训练数据近似线性可分,那么可以通过软间隔最大化来学习一个线性的分类器.成为软间隔支持向量机. 训练数据线性不可分的时候,就必须动用核函数来