一、什么是Adaboost

AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的
最大迭代次数。
具体说来,整个Adaboost 迭代算法就3步:

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

如果有NNN个样本,则每一个训练样本最开始时都被赋予相同的权值:1N\displaystyle \frac{1}{N}N1​。

2、训练弱分类器。

具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。

3、将各个训练得到的弱分类器组合成强分类器。

各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。

二、图解Adaboost

1、训练弱分类器
2、将弱分类器组合成强分类器

三、Adaboost算法说明

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

D1=(w11,...w1i,...w1N)D_1=(w_11,...w1i,...w1N)D1​=(w1​1,...w1i,...w1N)

初始权重分布:
w1i=1N,i=1,2...N\displaystyle w_{1i} =\frac{1}{N},i=1,2...Nw1i​=N1​,i=1,2...N

假设训练集数据具有均匀的权值分布,即每个训练样本在及分类器的学习中作用相同。这一假设保证第一个基分类器由原始数据学习的到。

2、调整训练数据的权值分布

对m=1,2...Mm=1,2...Mm=1,2...M,使用具有不同权重分布DmD_mDm​的训练数据集学习,得到若干个基分类器。

  • 使用当前的权值分布D_m的调整训练集权重,进行基分类器Gm(x)G_m(x)Gm​(x)的学习。
  • 计算基分类器Gm(x)G_m(x)Gm​(x)在甲醛训练数据集上的分类误差率:
    em=∑i=1NP(Gm(xi)≠yi)=∑Gm(xi≠yi)wmi\displaystyle e_{m} =\sum ^{N}_{i=1} P( G_{m}( x_{i}) \neq y_{i}) =\sum _{G_{m}( x_{i} \neq y_{i})} w_{mi}em​=i=1∑N​P(Gm​(xi​)​=yi​)=Gm​(xi​​=yi​)∑​wmi​
    wmiw_{mi}wmi​表示第m轮中第iii个实例的权值,∑i=1Nwmi\displaystyle \sum ^{N}_{i=1} w_{mi}i=1∑N​wmi​=1,是每个样本的权重分配。Gm)\displaystyle G_{m})Gm​)在加权的训练集上的分类错误率是被Gm\displaystyle G_{m}Gm​误分类样本的权值之和。由此可以看出数据权重分布DmD_{m}Dm​与基分类器Gm\displaystyle G_{m}Gm​的分类误差率的关系。
  • 计算基本分类器Gm\displaystyle G_{m}Gm​的系数αi\displaystyle \alpha _{i}αi​。αm\displaystyle \alpha _{m}αm​表示Gm\displaystyle G_{m}Gm​在最终分类器中的重要性。当em⩽12\displaystyle e_{m} \leqslant \frac{1}{2}em​⩽21​时,αm⩾0\displaystyle \alpha _{m} \geqslant 0αm​⩾0,并且αm\displaystyle \alpha _{m}αm​随着eme_mem​的减小二增大,所以分类误差率越小的基分雷奇在最终的分类器中最用越大。
    αm=12log1−emem\displaystyle \alpha _{m} =\frac{1}{2} log\frac{1-e_{m}}{e_{m}}αm​=21​logem​1−em​​
  • 更新训练集的权重分布为下一轮作准备。

    由此可知,被基分类器Gm\displaystyle G_{m}Gm​误分类样本的权值得以扩大,而被正确分类样本的权值却得以缩小。由αm=12log1−emem\displaystyle \alpha _{m} =\frac{1}{2} log\frac{1-e_{m}}{e_{m}}αm​=21​logem​1−em​​得知,误分类样本的权值被放大了e2αm=1−emem\displaystyle e^{2\alpha _{m}} =\ \frac{1-e_{m}}{e_{m}}e2αm​= em​1−em​​倍。因此,误分类样本在下一轮学习中其更大的作用。
    Adaboost特点一:不改变所给的训练数据而不断改变训练数据权值的分布,使得训练数据在基分类器中起不同的作用。
    3、线性组合f(x)\displaystyle f( x)f(x)实现M个基分类的加权投票。
    系数αm\displaystyle \alpha _{m}αm​表示了基本分类器Gm\displaystyle G_{m}Gm​的重要性。这里αm\displaystyle \alpha _{m}αm​之和并不为1。f(x)\displaystyle f( x)f(x)的符号决定实例xxx的类别,f(x)\displaystyle f( x)f(x)的绝对值表示分类的确信度。
    Adaboost特点二:利用基分类器的线性组合构建最终分类器。

参考文献:李航《统计学习方法》

【机器学习】boosting集成学习Adaboost相关推荐

  1. 【机器学习】集成学习--AdaBoost

    1. 概述 AdaBoost是英文"Adaptive Boosting"(自适应增强)的缩写,它的自适应在于:前一个基本分类器被错误分类的样本的权值会增大,而正确分类的样本的权值会 ...

  2. 【机器学习】集成学习—Boosting—GBM(Gradient Boosting Machine)解析

    [机器学习]集成学习-Boosting-GBM(Gradient Boosting Machine)解析 文章目录 [机器学习]集成学习-Boosting-GBM(Gradient Boosting ...

  3. 机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting

    文章目录 集成学习的朴素思想 Bootstrap理论 Bagging 随机森林 Boosting 集成学习的朴素思想 集成学习基于这样的思想:对于比较复杂的任务,综合许多人的意见来进行决策会比&quo ...

  4. 集成学习-Boosting集成学习算法GBDT

    GBDT算法的核心为:先构造一个(决策)树,然后不断在已有模型和实际样本输出的残差上再构造一颗树,依次迭代. 目录 Decistion Tree(决策树) Gradient Boosting(梯度提升 ...

  5. 集成学习—Adaboost(理解与应用)

    在上一篇集成学习-Adaboost(论文研读)中已经将Adaboost的原始论文精读了一遍,这篇博客主要是对Adaboost算法(主要是二分类的Adaboost)进行更深入的理解和推导,以及尝试下关于 ...

  6. [机器学习] Boosting算法1 --- AdaBoost

    [机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...

  7. 集成学习—Adaboost(论文研读)

    这篇博客主要是对Adaboost算法的论文精度,包括翻译以及自己的一些基本理解,如果对原论文不感兴趣,只是想快速理解与应用,可以参考另外一篇集成学习-Adaboost(理解与应用) Adaboost是 ...

  8. 【机器学习】集成学习与模型融合方法举例

    [机器学习]集成学习与模型融合方法举例 文章目录 1 概述1.1 什么是集成学习 2 CrossValidation 交叉验证 3 stacking 4 Voting投票器 5 Bagging 1 概 ...

  9. 【机器学习】集成学习投票法:投票回归器(VotingRegressor) 投票分类器(VotingClassifier)

    前言 投票回归器和投票分类器都属于集成学习.在[机器学习]集成学习基础概念介绍中有提到过,集成学习的结合策略包括: 平均法.投票法和学习法.sklearn.ensemble库中的Voting Clas ...

最新文章

  1. js实现表格的增删改查
  2. SPI四种工作模式时序图
  3. 什么是实验室人员比对人员_CNAS实验室认可对人员、设备的要求
  4. ES6(二)——字符串模板、标签模板字符串、函数的默认参数、剩余参数、数组对象的展开语法、数值的表示、Symbol
  5. 追本溯源:Oracle 只读表空间的探索实践
  6. [转]linux 调用动态库so文件
  7. 循环数组实现队列的四种方式
  8. 软件测试10年,如果再给我一次机会,我可能···
  9. 服务器系统 Windows server 2019 安装与搭建
  10. 1996年图灵奖--阿米尔·伯努利简介
  11. P4167 [Violet]樱花
  12. oracle 截断数据库,Oracle截断表
  13. ICC2 user guide(二)Placement and Optimization
  14. 计算机网络原理ospf协议配置思考题,动态路由协议之OSPF理论篇(下)(含虚链路的实验)...
  15. 解决IDEA项目一直Updating Index
  16. ArcGIS 10 Desktop完全破解方法
  17. 李三立院士逝世:中国计算机体系结构先驱,曾为国防计算机项目总负责人
  18. 设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
  19. 乌云镜像站搭建之图片无法加载问题
  20. fre740变频器参数_三菱(F700)FR-F740系列变频器常用参数

热门文章

  1. java time 格式_java时间格式的简单整理
  2. 笔记本卡屏或者死机怎么办+合理利用win10自动分屏
  3. C4D模型工具—旋转边
  4. android版本的微信更新,史上最大升级 安卓微信7.0新版对比旧版详细体验
  5. c# excel工作表及cell读取 .
  6. Android开发:优化电池续航-监听电量和充电状态
  7. 引用数据类型之间的转换 [Java]
  8. 华为p60参数配置怎么样 华为p60是5g手机吗
  9. 计算机学院团学口号,计算机学院团学第一次全体会议成功举行
  10. VSCode 常用快捷键 Mac