介绍
  • AdaBoost,是“Adaptive Boosting”(自适应增强)的缩写,是一种机器学习方法,由Yoav Freund和Robert Schapire于1995年提出。
思想
  • 前面的模型对训练集预测后,在每个样本上都会产生一个不同损失,AdaBoost会为每个样本更新权重,分类错误的样本要提高权重,分类正确的样本要降低权重,下一个学习器会更加“关注”权重大的样本;每一次得到一个模型后,根据模型在该轮数据上的表现给当前模型设置一个权重,表现好的权重大,最终带权叠加得到最终集成模型。

AdaBoost分类


AdaBoost回归


AdaBoost的两个权重

学习器的权重
样本的权重

AdaBoost思想

刚开始有一份等权的数据,训练一个模型,这个模型会有一个错误率,根据这个错误率去求一个权重,就可以给这个学习器一个权重(学习器的权重),上个学习器分错的样本,需要调整权重,错的升高权重,对的降低权重(样本的权重)

AdaBoost思想的优缺点
  • 优点:
    • 可以使用各种回归分类模型来构建弱学习器,非常灵活
    • Sklearn中对AdaBoost的实现是从带权学习视角出发的,思想朴素,易于理解
    • 控制迭代次数可以一定程度防止发生过拟合
  • 缺点:
    • 对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终预测准确性。
AdaBoost小结
  • 提升树
    • AdaBoost思想结合决策树的基学习器,就得到提升树模型。提升树做分类时,基学习器选CART分类树;回归时选CART回归树
  • 两个视角
    • 带权学习视角、前向分布学习视角
  • 前向分步学习的说明
    • 在前向分步学习视角下,当提升树的损失函数是平方损失和指数损失时,优化是简单的,但对一般损失函数而言优化难度大,即没有通用的求解方案
    • 因此2001年,Friedman提出了一个通用方案——梯度提升,起名为GBDT

机器学习-AdaBoost(自适应提升算法)相关推荐

  1. Adaboost(自适应提升树)算法原理

    1.Adaboost概述 Adaboost的前身的Boosting算法. Boosting是一种提高任意给定学习算法准确度的方法.它的思想起源于Valiant提出的PAC(Probably Appro ...

  2. python 梯度提升树_机器学习:梯度提升算法|python与r语言代码实现

    梯度提升算法 10.1 GBM GBM(梯度提升机)是一种在处理大量数据以进行高预测的预测时使用的Boosting算法.Boosting实际上是一个学习算法的集合,它结合了几个基本估计量的预测,以便比 ...

  3. 机器学习之Adaboost (自适应增强)算法

    注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是<机器学习实战>中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...

  4. 通俗易懂讲解自适应提升算法AdaBoost

    AI有道 一个有情怀的公众号 Adaptive Boosting(AdaBoost)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个最强的 ...

  5. 一文弄懂AdaBoost、提升树、残差树、GDBT

    本人第一次看到提升方法时,也是一脸懵逼:但是时隔一个寒假,当我为春招恶补机器学习知识时,第二次看见提升方法,顿时有了"拨开云雾见青天"的感觉:古人"温故而知新" ...

  6. Python AdaBoost提升算法

    Python AdaBoost提升算法 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 AdaBoost提升简介 随机森林是通 ...

  7. 机器学习——Adaboost 算法

    机器学习--Adaboost 算法 资料来源:<MATLAB 神经网络 43 个案例分析> Adaboost算法思想 Adaboost算法的基本思想是合并多个弱分类器来实现更为有效的分类. ...

  8. 机器学习 の04 梯度提升决策树GBDT

    机器学习 の04 梯度提升决策树GBDT GBDT的背景知识 集成学习(ensemble learning) Bagging(Bootstrap Aggregating)算法 Boosting提升算法 ...

  9. 最小径集的算法_机器学习的利器——集成算法

    最近在打算法竞赛的时候用到了集成算法,效果还不错,索性就总结了一篇集成算法的文章,希望能帮到正在转行的数据分析师们. 集成算法核心思想 集成算法的核心思想是通过构建并结合多个学习器来完成学习任务,也就 ...

最新文章

  1. LeetCode简单题之汇总区间
  2. 妈呀,终于搞定VIM的复制粘贴问题了!
  3. BZOJ1861:[ZJOI2006]书架(Splay)
  4. 3 CO配置-企业结构-分配-把公司代码分配给成本控制范围
  5. 计算机无法离开家庭组,【求助】Windows无法从该家庭组中删除你的计算机
  6. docker 安装 jdk,配置环境变量
  7. 怎样下载python模块sublime text3中_python安装环境配置、python模块添加、sublime text编辑器配置...
  8. 转:SQL:外连接on条件与where条件的区别
  9. C语言函数的声明、定义、调用
  10. krc转换lrc java_win7将酷狗音乐krc歌词转换成lrc歌词文件的方法
  11. 硬盘SMART检测参数详解
  12. 麦普奇医疗获得千万元A轮融资,投资方为达晨财智...
  13. 颈椎护理小助手,轻松缓解颈部酸痛,宾多康智能颈枕按摩器体验
  14. 文献管理软件//Zotero的常用插件——Sci-hub/shortdoi批量下载、Zotfile重命名PDF文件及ZoteroQuickLook快速预览(二)
  15. wireshark学习笔记(MAC地址欺骗)
  16. VScode插件利器
  17. 微信消息记录如何恢复
  18. 移动硬盘在mac上无法显示 读不出来
  19. python123.io同一个号可以同时在不同设备登陆吗-Python 高级 3
  20. R语言--for循环语句的使用

热门文章

  1. 图灵奖推荐信曝光,邓力:Hinton对深度学习有宗教般信仰
  2. [buuctf.reverse] 109_[FlareOn6]FlareBear,110_[INSHack2018]Tricky-Part1
  3. myeclipse破解补丁激活失败方法
  4. 30天全网2W粉,感谢坚持!
  5. 五、ITcast小爬虫 与管道文件
  6. Excel 生成随机数,随机日期,随机字符串
  7. LWN: Rust语言写的微内核操作系统Redox
  8. 解决板料五金冲压回弹的工艺措施做法
  9. js下载文件常用的两种方式
  10. C语言 计算n的阶乘(函数 递归)