一、什么是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. pandas使用pd.concat横向合并多个dataframe实战:多个dataframe的横向表拼接(行对齐)、多个dataframe的横向表拼接(指定join参数、交集还是并集)
  2. JavaScript基础07-day09【嵌套for循环、break和continue、对象、数据类型、对象字面量、函数】
  3. python+正则+多进程爬取糗事百科图片
  4. 解构产品经理的技术思维
  5. 将sql 结果导出到文件
  6. [RN] React Native 解决 使用 阿里巴巴 矢量图标库 iconfont 图标不垂直居中问题
  7. 月薪三万,依然买不起房
  8. 360度舵机和180度舵机控制方法小结(转)
  9. 计算机机房使用多大的光纤引入,弱电施工如何确定光纤使用的芯数
  10. Sakai 2.6 配置
  11. 大数据学习入门到实战教程,精心整理万字长文入门第一章,老奶奶看了都说学会了
  12. android 跳转京东app,第三方应用跳转到京东app
  13. python中iter函数_Python基础:iter函数的两个参数
  14. 10.cocos2d坐标系
  15. 剑指offer T51数组中的逆序对
  16. 小程序使用本地图片报错问题 Failed to load local image resource
  17. 如何进行隐私协议测试
  18. 淘宝店铺层级每个月更新么?如何提高淘宝店铺层级?
  19. 第1章 蓝牙降噪耳机简述
  20. 不同坐标系BIM模型导出参数配置

热门文章

  1. WebRTC → 深入分析各行业直播方案与原理
  2. C#--List--删除List集合中指定几条个数据(removeAll方法)
  3. 计算机专业学生该如何提高自己?
  4. 150倍加速机械盘,UCloud云主机IO加速技术揭秘
  5. 2023秋招 新华三集团 算法工程师 面经 (三次面试已offer)
  6. 子类方法重写java_java-子类方法重写规则
  7. 日历表(第九周上机任务)。(不用掰手指头算了吧)
  8. OpenCV-每天坚持一点点(8)
  9. android 拼图游戏无线分裂版
  10. 什么牌子的高端游戏本比较好?来说说外星人