机器学习-AdaBoost(自适应提升算法)
介绍
- AdaBoost,是“Adaptive Boosting”(自适应增强)的缩写,是一种机器学习方法,由Yoav Freund和Robert Schapire于1995年提出。
思想
- 前面的模型对训练集预测后,在每个样本上都会产生一个不同损失,AdaBoost会为每个样本更新权重,分类错误的样本要提高权重,分类正确的样本要降低权重,下一个学习器会更加“关注”权重大的样本;每一次得到一个模型后,根据模型在该轮数据上的表现给当前模型设置一个权重,表现好的权重大,最终带权叠加得到最终集成模型。
AdaBoost分类
AdaBoost回归
AdaBoost的两个权重
学习器的权重
样本的权重
AdaBoost思想
刚开始有一份等权的数据,训练一个模型,这个模型会有一个错误率,根据这个错误率去求一个权重,就可以给这个学习器一个权重(学习器的权重),上个学习器分错的样本,需要调整权重,错的升高权重,对的降低权重(样本的权重)
AdaBoost思想的优缺点
- 优点:
• 可以使用各种回归分类模型来构建弱学习器,非常灵活
• Sklearn中对AdaBoost的实现是从带权学习视角出发的,思想朴素,易于理解
• 控制迭代次数可以一定程度防止发生过拟合 - 缺点:
• 对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终预测准确性。
AdaBoost小结
- 提升树
• AdaBoost思想结合决策树的基学习器,就得到提升树模型。提升树做分类时,基学习器选CART分类树;回归时选CART回归树 - 两个视角
• 带权学习视角、前向分布学习视角 - 前向分步学习的说明
• 在前向分步学习视角下,当提升树的损失函数是平方损失和指数损失时,优化是简单的,但对一般损失函数而言优化难度大,即没有通用的求解方案
• 因此2001年,Friedman提出了一个通用方案——梯度提升,起名为GBDT
机器学习-AdaBoost(自适应提升算法)相关推荐
- Adaboost(自适应提升树)算法原理
1.Adaboost概述 Adaboost的前身的Boosting算法. Boosting是一种提高任意给定学习算法准确度的方法.它的思想起源于Valiant提出的PAC(Probably Appro ...
- python 梯度提升树_机器学习:梯度提升算法|python与r语言代码实现
梯度提升算法 10.1 GBM GBM(梯度提升机)是一种在处理大量数据以进行高预测的预测时使用的Boosting算法.Boosting实际上是一个学习算法的集合,它结合了几个基本估计量的预测,以便比 ...
- 机器学习之Adaboost (自适应增强)算法
注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是<机器学习实战>中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...
- 通俗易懂讲解自适应提升算法AdaBoost
AI有道 一个有情怀的公众号 Adaptive Boosting(AdaBoost)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个最强的 ...
- 一文弄懂AdaBoost、提升树、残差树、GDBT
本人第一次看到提升方法时,也是一脸懵逼:但是时隔一个寒假,当我为春招恶补机器学习知识时,第二次看见提升方法,顿时有了"拨开云雾见青天"的感觉:古人"温故而知新" ...
- Python AdaBoost提升算法
Python AdaBoost提升算法 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 AdaBoost提升简介 随机森林是通 ...
- 机器学习——Adaboost 算法
机器学习--Adaboost 算法 资料来源:<MATLAB 神经网络 43 个案例分析> Adaboost算法思想 Adaboost算法的基本思想是合并多个弱分类器来实现更为有效的分类. ...
- 机器学习 の04 梯度提升决策树GBDT
机器学习 の04 梯度提升决策树GBDT GBDT的背景知识 集成学习(ensemble learning) Bagging(Bootstrap Aggregating)算法 Boosting提升算法 ...
- 最小径集的算法_机器学习的利器——集成算法
最近在打算法竞赛的时候用到了集成算法,效果还不错,索性就总结了一篇集成算法的文章,希望能帮到正在转行的数据分析师们. 集成算法核心思想 集成算法的核心思想是通过构建并结合多个学习器来完成学习任务,也就 ...
最新文章
- LeetCode简单题之汇总区间
- 妈呀,终于搞定VIM的复制粘贴问题了!
- BZOJ1861:[ZJOI2006]书架(Splay)
- 3 CO配置-企业结构-分配-把公司代码分配给成本控制范围
- 计算机无法离开家庭组,【求助】Windows无法从该家庭组中删除你的计算机
- docker 安装 jdk,配置环境变量
- 怎样下载python模块sublime text3中_python安装环境配置、python模块添加、sublime text编辑器配置...
- 转:SQL:外连接on条件与where条件的区别
- C语言函数的声明、定义、调用
- krc转换lrc java_win7将酷狗音乐krc歌词转换成lrc歌词文件的方法
- 硬盘SMART检测参数详解
- 麦普奇医疗获得千万元A轮融资,投资方为达晨财智...
- 颈椎护理小助手,轻松缓解颈部酸痛,宾多康智能颈枕按摩器体验
- 文献管理软件//Zotero的常用插件——Sci-hub/shortdoi批量下载、Zotfile重命名PDF文件及ZoteroQuickLook快速预览(二)
- wireshark学习笔记(MAC地址欺骗)
- VScode插件利器
- 微信消息记录如何恢复
- 移动硬盘在mac上无法显示 读不出来
- python123.io同一个号可以同时在不同设备登陆吗-Python 高级 3
- R语言--for循环语句的使用
热门文章
- 图灵奖推荐信曝光,邓力:Hinton对深度学习有宗教般信仰
- [buuctf.reverse] 109_[FlareOn6]FlareBear,110_[INSHack2018]Tricky-Part1
- myeclipse破解补丁激活失败方法
- 30天全网2W粉,感谢坚持!
- 五、ITcast小爬虫 与管道文件
- Excel 生成随机数,随机日期,随机字符串
- LWN: Rust语言写的微内核操作系统Redox
- 解决板料五金冲压回弹的工艺措施做法
- js下载文件常用的两种方式
- C语言 计算n的阶乘(函数 递归)