当前课程知识点:大数据机器学习 >  第十二章 提升方法 >  1. 提升方法Adaboost算法 >  1. 提升方法adaboost算法

返回《大数据机器学习》慕课在线视频课程列表

1. 提升方法adaboost算法在线视频

下一节:2. Adaboost算法的训练误差分析

返回《大数据机器学习》慕课在线视频列表

1. 提升方法adaboost算法课程教案、知识点、字幕

同学们好

欢迎来到大数据机器学习的课堂

我们这一讲的题目是提升方法

我们之前介绍的机器学习方法

对训练样本进行训练的时候

每个训练样本的重要性是相同的

这一讲呢

我们将介绍的提升方法

也就是Boosting方法

它呢不仅仅是一个方法

而且还是一类学习方法

该类方法通过改变训练样本的权值

学习多个子模型或子分类器

然后再将它们进行线性组合

得到一个组合的模型

从而提高模型的性能

这一讲首先会介绍提升方法的思路

和代表性的提升算法Adaboost

然后呢会通过训练误差分析

探讨Adaboost为什么能够提高学习精度

然后呢

从前向分布加法模型的角度去解释Adaboost

然后再介绍

提升方法的另一个经典算法提升树

最后呢

我们给出一个具体的Python的实例

供大家对提升方法进行编程学习

下面我们介绍提升方法及AdaBoost算法

我们将介绍一下这些内容

AdaBoost算法的起源

怎样实现弱学习转为强学习

还包括Bagging方法

然后是怎样组合弱分类器

接着介绍

AdaBoost提出动机和基本概念

AdaBoost算法的动机

在机器学习方法中

有一个最基本的思路

就是多个方法的组合

多个模型共同决策

尤其是对那些复杂的任务来说

我们将多个模型或专家的结果

进行适当的综合

这样呢

就比任何其中一个单独的判断要好

中国有句古话

三个臭皮匠顶一个诸葛亮也是这个道理

在1984年的时候

有两位学者Kearns和Valiant

首先提出了叫强可学习和弱可学习的概念

那么他们同时也指出

在概率近似正确的条件下

那么 概率近似正确

probably approximately correct 简称PAC

是一个这样的概念

它包括一个叫概念或者是概念类

如果存在一个多项式的学习算法能够学习它

并且正确率很高

我们就称这个概念是强可学习的

如果一个概念或概念类

是存在一个多项式的学习算法能够学习它

学习的正确率

仅比随机的猜测略好那么一点

我们就称这个概念是弱可学习的

到了1989年

Schapire就证明了

在PAC学习的框架下

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

是这个概念是弱可学习的

有了这个理论

大家都在思考

如果已经发现了弱学习算法

那么能否将它提升为强可学习算法

这样就有很多算法被提出

adaboost就是其中的一个有代表性的算法

adaboost的算法提出的时候

是在1990年

当时Schapire首先构造出了一种多项式级的算法

也就是最初的Boost提升算法

1993年的时候

Drunker和Schapire第一次将

神经网络作为弱学习器

应用提升的算法

解决了OCR的问题

到1995年的时候

Freund和Schapire又提出了Adaboost

那么Adaboost算法提出以后

它的效率和原来Boosting算法是一样的

但是呢

它不需要任何关于弱学习器性能的先验知识

可以非常容易地应用到实际的问题当中去

那么 到了2000年的时候

Friedman提出了提升树的算法

下面我们介绍提升方法的基本思路

对于一个分类问题

我们给定一个训练样本

及我们先找出一个粗略的分类方法

或者叫弱分类器

因为找一个弱分类器

比找一个精确的强分类器要容易很多

那么

提升方法就是从弱学习算法出发

多次学习

得到一系列的弱分类器

然后呢 组合他们构成一个强分类器

大多数的提升方法

都会在每个弱分类器学习以后呢

会更改训练数据的权值分布

或者是概率分布

再进行下一个弱分类器的学习

那么 怎样去实现弱学习转为强学习

我们打一个比方

学习算法A在A情况下是失效的

学习算法B在B情况下失效

那么

我们可以在A情况下使用B算法

在B情况下用A算法来解决这个问题

这就说明 通过某种合适的方法

把各种算法组合起来可以提高准确率

但是呢

实现弱学习器的组合和互补也面临两个问题

第一个

怎样选取不同的弱分类器

第二个呢 怎样组合弱分类器

首先

怎样选择弱分类器

一般我们有以下几种方法

首先我们会使用不同的弱学习算法

得到不同的基本学习器

比方说

有的弱分类器采用参数的估计方法

有的呢就可以采用非参数的估计方法

其次呢 我们会使用相同的弱学习算法

但使用的参数是不同的

例如

我们在使用前面介绍过的K均值方法的时候

就可以取不同的K参数

神经网络方法呢

也可以取不同层数的隐含层等

这些都是使用超参不同的方式

去构建不同的弱分类器

我们还可以对相同的输入对象的不同表示

来凸显事物不同的特征

也可以使用不同的变异或增强以后的训练数据集

Bagging方法就是一种组合的方法

也称为自举汇聚法

它的步骤是这样的

先从原始的数据集去选择S次

这样呢就得到了S个新的数据集

这新的数据集和原数据集

它的大小是相同的

每个数据集都是通过在原始的数据集上

随机选择样本来进行替换而得到的

这S个数据集建好以后

我们就可以将某个学习算法

分别作用于每个数据集当中

这样我们就得到了S个分类器

选择分类器投票结果中

最多的类别作为最后的分类结果

我们之前提到过的随机森林方法

就是一种改进的Bagging算法

刚才我们已经介绍了

如何去选择不同的弱分类器

那么 如何去组合弱分类器呢

首先是多专家组合方法

这是一种并行的结构

所有的弱分类器呢都给出自己的预测结果

我们通过组合器

把这些预测的结果转换为最终的结果

可以采用投票以及投票的变种

还可以采用混合专家模型等方式进行组合

也可以采用多级的组合方式

也就是一种串联的结构

也就是说下一个分类器

只在前一个分类器预测不够准确的情况下

进行训练或检测

例如 级联算法就是一种

串行的结构的多级组合方式

Adaboost算法是adaptive boosting 的缩写

意思是通过一系列的弱分类器

构建一个强分类器

Adaboost要解决两个主要的问题

AdaBoost的算法过程中

有两个需要重点解决的问题

第一个问题是

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

那么AdaBoost的方法是

提高那些被前一轮的弱分类器

错误分类的样本的权值

降低那些被正确分类的样本的权值

第二个需要重点关注的就是

如何将弱分类器进行组合成一个强的分类器

那么 AdaBoost用了一种叫加权多数表决

加大分类误差率小的弱分类器的权值

这样呢就使他在表决中起到较大的作用

减小分类错误率大的弱分类器的权值

使其在表决中起较小的作用

AdaBoost算法如图所示

每个训练数据首先都赋予一个权值Wi

在得到每个弱分类器以后呢

会根据更新后的分类结果得到误差率

然后通过这个误差率

再去更新每个训练样本的权值

给下一轮的弱分类器进行学习

直到最后的弱分类器

达到要求的错误率从而停止操作

下面给出AdaBoost算法的具体步骤

输入是二分类的训练数据集

T=x1 y1 x2 y2到xn yn

xi属于Rn yi属于-1或+1

输出是最终的分类器Gx

步骤一

先初始化训练数据的起始权值分布

D1=w11 w1i一直到w1N w1i=1/N

也就是说 第一轮我们都对每一个

训练数据进行均匀化的赋予权值

第二步

对M个弱分类器就是m=1 2一直到M

进行如下的子程序操作

子程序的第一步

在权值Dm下

训练数据得到弱分类器Gmx

第二步

计算Gm的训练误差

(见上图)

第三步 计算GM的系数

(见上图)

第四步

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

(见上图)

更新以后的权值是根据下式计算

(见上图)

Z是规范化因子

(见上图)

我们后面会详细的分析

这四个子步骤中

两个重要的参数更新的具体含义

一个呢

就是每个弱分类器的GM的系数αm

另一个是样本的权值Wm+1i

第二步的四个子步骤完成以后

就可以进入第三个步骤

构建弱分类器的线性组合

得到一个强分类器

(见上图)

然后再得到最终的分类器

(见上图)

下面呢

我们具体分析一下

在四个子步骤中的参数

他们进行更新的具体的含义

每一轮的训练误差EM

它就等于弱分类的样本的权值的累加

错误分类的样本越多

误分类样本的权值越大

则误差越大

子步骤三中的阿尔法M的含义

是当这一轮的弱分类器错误率

小于等于阿尔法1的时候

那么这个阿尔法M会大于等于0

就是说弱分类器对总体的分类器是有贡献的

如果错误率大于1/2

那么 阿尔法m就会小于零

该弱分类器的贡献就会为负

阿尔法M是分类器的总体性能的参数

接下来是每个样本权值的更新

WM加1i 它等于当这一轮

对XI样本分类正确的时候

(见上图)

这样呢这个样本的权重就变小了

而当这一轮对Xi分类错误的时候呢

取值就变为WMA除以ZM乘以Pxpfm

这样呢这个样本的权重就变大了

这就符合了刚才我们所说的

当这个样本分类正确的时候呢

我们就会减小他在下一轮的权值

而如果分类错误的话

我们会增加他在下一轮的权值

下面我们给出一个实际的例子

来更加清晰的说明AdaBoost的学习过程

我们有十个训练样本是一维数据

初始化的权值呢为均匀化的1/10

也就是

第一轮对一维数据进行弱分类

选取最小误差的弱分类器分割点

我们通过计算是在X等于2.5

这样呢 大于2.5就取为-1

小于2.5就取为正1

得到第一个弱分类器G1

G1的误差率就是分类错误的样本数

除以总的样本数为0.3

阿尔法1就等于0.4236

有了第一轮的分类错误率

我们就给每个数据集的样本

重新计算权值

这样分类正确的点权值降低

分类错误的点权值增加

第一个分类器为F1X

有三个误分类点

根据更新以后的样本权重

我们得到了第二个弱分类器

第二个弱分类器的分类阈值为8.5

这样呢得到的分类误差为0.2143

阿尔法二等于0.6496

得到的分类器F2x

为前面两个弱分类器的加权和

这时呢

依然还有三个误分类点

在第二个训练数据集的权值基础上

得到第三个弱分类器

并更新误差率和阿尔法

得到更新的样本权值分布

这时候得到的分类器

Sign f3的误分类点就为零了

这样满足了我们的误差要求

所以学习结束

得到最终的组合的分类器

下面我们用图示的方法

形象地说明adaboost的方法

首先我们用弱分类器分割数据集

得到三个误分点

我们增加三个误分点的权值

在更新权值以后

进行下一次的线性分类

虚线部分为分类器二

这时还有两个误分点

继续增加误分点的权值得到弱分类器三

也就是虚线的误分类器

最后我们组合这几个弱分类器

得到性能更优的强分类器

大数据机器学习课程列表:

第一章 概述

-1.机器学习定义和典型应用

--1.机器学习定义和典型应用

-2.机器学习和人工智能的关系

--2.机器学习和人工智能的关系

-3.深度学习方法和其它人工智能方法的共性和差异

--3.深度学习方法和其它人工智能方法的共性和差异

-4.机器学习和数据挖掘的关系

--4.机器学习和数据挖掘的关系

-5.机器学习和统计学习的关系

--5.机器学习和统计学习的关系

-6.机器学习的发展历程

--6.机器学习的发展历程

-7.大数据机器学习的主要特点

--7.大数据机器学习的主要特点

-第一章 概述--7.大数据机器学习的主要特点

-1.相关拓展资料

第二章 机器学习基本概念

-1机器学习的基本术语

--1机器学习的基本术语

-2.监督学习

--2.监督学习

-3.假设空间

--3.假设空间

-4.学习方法三要素

--4.学习方法三要素

-第二章 机器学习基本概念--4.学习方法三要素

-5.奥卡姆剃刀定理

--5.奥卡姆剃刀定理

-6.没有免费的午餐定理

--6.没有免费的午餐定理v

-7.训练误差和测试误差

--7.训练误差和测试误差

-8.过拟合与模型选择

--8.过拟合与模型选择

-第二章 机器学习基本概念--8.过拟合与模型选择

-9.泛化能力

--9.泛化能力

-10.生成模型和判别模型

--10.生成模型和判别模型

-统计学习与监督学习拓展资料

第三章 模型性能评估

-1.留出法

--1.留出法

-2.交叉验证法

--2.交叉验证法

-3.自助法

--3.自助法

-4.性能度量

--4.性能度量

-5.PR曲线

--5.PR曲线

-6.ROC和AUC曲线

--6.ROC和AUC曲线

-第三章 模型性能评估--6.ROC和AUC曲线

-7.代价敏感错误率

--7.代价敏感错误率

-8.假设检验

--8.假设检验

-9.T检验

--9.T检验

-10.偏差和方差

--10.偏差和方差

第四章 感知机

-1.感知机模型

--1.感知机模型

-第四章 感知机--1.感知机模型

-2.感知机学习策略

--2.感知机学习策略

-3.感知机学习算法

--3.感知机学习算法

-第四章 感知机--3.感知机学习算法

-感知机拓展资料

第五章 聚类

-1.原型聚类描述

--1.原型聚类描述

-第五章 聚类--1.原型聚类描述

-2.性能度量

--2.性能度量

-第五章 聚类--2.性能度量

-3.1原型聚类 k均值算法

--3.1原型聚类 k均值算法

-3.2 原型聚类 学习向量算法

--3.2 原型聚类 学习向量算法

-3.3 原型聚类 密度聚类

--3.3 原型聚类 密度聚类

-第五章 聚类--3.3 原型聚类 密度聚类

-3.4原型聚类 层次聚类

--3.4原型聚类 层次聚类

-聚类拓展资料

第六章 贝叶斯分类器及图模型

-1.综述

--1.综述

-2.概率图模型

--2.概率图模型

-第六章 贝叶斯分类器及图模型--2.概率图模型

-3.贝叶斯网络

--3.贝叶斯网络

-第六章 贝叶斯分类器及图模型--3.贝叶斯网络

-4.朴素贝叶斯分类器

--4.朴素贝叶斯分类器

-第六章 贝叶斯分类器及图模型--4.朴素贝叶斯分类器

-5.半朴素贝叶斯分类器

--5.半朴素贝叶斯分类器v

-第六章 贝叶斯分类器及图模型--5.半朴素贝叶斯分类器

-6.贝叶斯网络结构学习推断

--6.贝叶斯网络结构学习推断

-7.吉布斯采样

--7.吉布斯采样

-第六章 贝叶斯分类器及图模型--7.吉布斯采样

-贝叶斯相关拓展

第七章 决策树和随机森林

-开头

--开头

-1.决策树模型与学习基本概念

--1.决策树模型与学习基本概念

-2.信息量和熵

--2.信息量和熵

-第七章 决策树和随机森林--2.信息量和熵

-3.决策树的生成

--3.决策树的生成

-4.决策树的减枝

--4.决策树的减枝

-5.CART算法

--5.CART算法

-6.随机森林

--6.随机森林

-决策树相关拓展

第八章 逻辑斯谛回归与最大熵模型

-简介

--简介

-1.逻辑斯谛回归模型

--1.逻辑斯谛回归模型

-第八章 逻辑斯谛回归与最大熵模型--1.逻辑斯谛回归模型

-2.最大熵模型

--2.最大熵模型

-3.模型学习的最优化方法

--3.模型学习的最优化方法

-第八章 逻辑斯谛回归与最大熵模型--3.模型学习的最优化方法

-logistic回归相关拓展

第九章 SVM

-1.开头

--1.开头

-2.SVM简介

--2.SVM简介

-3.线性可分支持向量机

--3.线性可分支持向量机

-第九章 SVM--3.线性可分支持向量机

-4. 凸优化问题的基本概念

--4. 凸优化问题的基本概念

-第九章 SVM--4. 凸优化问题的基本概念

-5.支持向量的确切定义

--5.支持向量的确切定义

-6.线性支持向量机

--6.线性支持向量机

-第九章 SVM--6.线性支持向量机

-svm相关拓展资料

--svm相关拓展资料

第十章 核方法与非线性SVM

-开头

--开头

-第十章 核方法与非线性SVM--开头

-1.泛函基础知识

--1.泛函基础知识

-第十章 核方法与非线性SVM--1.泛函基础知识

-2. 核函数和非线性支持向量机

--2. 核函数和非线性支持向量机

-第十章 核方法与非线性SVM--2. 核函数和非线性支持向量机

-3. 序列最小最优化算法

--3. 序列最小最优化算法

-第十章 核方法与非线性SVM--3. 序列最小最优化算法

第十一章 降维与度量学习

-开头

--开头

-1. k近邻学习

--1. k近邻学习

-第十一章 降维与度量学习--1. k近邻学习

-2. 降维嵌入

--2.降维嵌入

-第十一章 降维与度量学习--2. 降维嵌入

-3. 主成分分析

--3.主要成分分析

-第十一章 降维与度量学习--3. 主成分分析

-4. 核化线性降维

--4.核化线性降维

-5. 流型学习和度量学习

--5.流型学习和度量学习

第十二章 提升方法

-1. 提升方法Adaboost算法

--1. 提升方法adaboost算法

-第十二章 提升方法--1. 提升方法Adaboost算法

-2. Adaboost算法的训练误差分析

--2. Adaboost算法的训练误差分析

-3. Adaboost算法的解释

--3. Adaboost算法的解释

-4. Adaboost的实现

--4. Adaboost的实现

-第十二章 提升方法--4. Adaboost的实现

-adaboost拓展资料

--adaboost拓展资料

第十三章 EM算法及混合高斯模型

-开头

--开头

-1. 问题提出

--1. 问题提出

-2. EM算法的引入

--2. EM算法的引入

-3. EM算法的收敛性

--3. EM算法的收敛性

-4. EM算法在高斯混合模型学习中的应用

--4. EM算法在高斯混合模型学习中的应用

-5. EM算法的推广

--5. EM算法的推广

-第十三章 EM算法及混合高斯模型--3. EM算法的收敛性

-EM算法拓展资料

第十四章 计算学习理论

-开头

--开头

-1. 计算学习理论的基础知识

--1. 计算学习理论的基础知识

-第十四章 计算学习理论--1. 计算学习理论的基础知识

-2. 概率近似正确学习理论

--2. 概率近似正确学习理论

-3. 有限假设空间

--3.有限假设空间

-4. VC维

--4. VC维

-第十四章 计算学习理论--4. VC维

-5. 学习稳定性

--5. 学习稳定性

-计算学习理论拓展资料

第十五章 隐马尔可夫模型

-开头

--开头

-1. 隐马尔科夫模型的基本概念

--1. 隐马尔科夫模型的基本概念

-第十五章 隐马尔可夫模型--1. 隐马尔科夫模型的基本概念

-2. 概率计算算法

--2. 概率计算算法

-3. 学习算法

--3.学习算法

-第十五章 隐马尔可夫模型--3. 学习算法

-4预测算法

--4. 预测算法

-第十五章 隐马尔可夫模型--4预测算法

-隐马尔可夫拓展资料

第十六章 条件随机场

-开头

--开头

-1.概率无向图模型

--1.概率无向图模型

-第十六章 条件随机场--1.概率无向图模型

-2.条件随机场的定义与形式

--2.条件随机场的定义与形式

-第十六章 条件随机场--2.条件随机场的定义与形式

-3.条件随机场的计算问题

--3.条件随机场的计算问题

-4.条件随机场的学习算法

--4.条件随机场的学习算法

-5.条件随机场的预测算法

--5.条件随机场的预测算法

-第十六章 条件随机场--5.条件随机场的预测算法

第十七章 概率图模型的学习与推断

-开头

--开头

-1.精确推断法:变量消去法和信念传播法

--1.精确推断法:变量消去法和信念传播法

-第十七章 概率图模型的学习与推断--1.精确推断法:变量消去法和信念传播法

-2.近似推断法:MCMC和变分推断

--2.近似推断法:MCMC和变分推断

-第十七章 概率图模型的学习与推断--2.近似推断法:MCMC和变分推断

第十八章 神经网络和深度学习

-1.神经网络的发展历程

--1.神经网络的发展历程

-2.神经网络的基本概念以及常见的神经网络(一)

--2.神经网络的基本概念以及常见的神经网络(一)

-第十八章 神经网络和深度学习--2.神经网络的基本概念以及常见的神经网络(一)

-3.神经网络的基本概念以及常见的神经网络(二)

--3.神经网络的基本概念以及常见的神经网络(二)

-4.玻尔兹曼机

--4.玻尔兹曼机

-5.深度学习

--5.深度学习

-第十八章 神经网络和深度学习--5.深度学习

-神经网络与深度学习拓展资料

第十九章 深度学习正则化方法

-1. 深度学习简介和架构设计

--1. 深度学习简介和架构设计

-2. 计算图形式的反向传播算法

--2. 计算图形式的反向传播算法

-3.深度学习的正则化方法(一)

--3.深度学习的正则化方法(一)

-4.深度学习的正则化方法(二)

--4.深度学习的正则化方法(二)

-深度学习正则化方法拓展资料

第二十章 深度学习优化方法

-1.深度学习的优化问题

--1.深度学习的优化问题

-第二十章 深度学习优化方法--1.深度学习的优化问题

-2.神经网络优化的挑战

--2. 神经网络优化的挑战

-3.神经网络的优化算法

--3.神经网络的优化算法

-第二十章 深度学习优化方法--3.神经网络的优化算法

-4.相关策略

--4.相关策略

-第二十章 深度学习优化方法--4.相关策略

-深度学习优化算法拓展资料

1. 提升方法adaboost算法笔记与讨论

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
  • 评分:
评论内容为空!
还没有评论,快来抢沙发吧!

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。
欢迎学习『1. 提升方法adaboost算法慕课视频播放-大数据机器学习-MOOC慕课视频教程-柠檬大学』