一、基本原理

  AdaBoost是adaptive boosing的缩写,它是一种基于Boosting框架的算法。下图为该算法的迭代过程。

AdaBoost从原始数据集D1开始学习第个模型,经过三轮的迭代,得到三个弱分类器,每一轮的迭代都要评估下模型的分类误差,在一轮时把分错的样本进行加权,最后把三个分类器按照一定的权重组合起来得到一个强分类器。

从上图可以看出,每一个弱分类器的模型都很简单,示例图中的它们只是一个一层的决策树,每一个弱分类器在融合的时候都有一个权重,三个弱分类器融合后,变成一个能力更强的复杂模型。

  

  由上图可知,AdaBoost是由多个弱分类器组成,每次由一个弱分类器训练数据集,然后把这个训练器分错的数据集权重加大,没分错的减小权重,再由下一个弱学习器训练这个数据集,这样一直迭代下去,最后融合成一个最强的学习器。

  AdaBoost算法构建过程,

  1、假设训练集T = {(X1,Y1),(X2,Y2)……(Xn,Yn)}

  2、初始化训练数据权重分布,

    D1 = (Wl1,Wl2……Wln),Wli = 1/n,i=1,2……n

  3、使用具有权值分布的Dm的训练集学习,得到基本分类器

      

  4、计算Gm(x)在训练集上的分类误差

    

  5、计算Gm(x)模型的权重系数am

    

  6、权重训练集的权值分布

    

  7、这里Zm是规范化因子(规一化)

    

  8、构建分类器的线性组合

    

  9、得到最终分类器

    

AdaBoost算法推导

  

算法的直观理解

   

AdaBoost小结

  1、AdaBoost是一种Boosting的融合算法,它通过级联的方式,把一系列的弱学习模型融合在一起变成一个强分类器。

  2、AdaBoost既可以做分类,也可以做回归

  3、AdaBoost做分类模型的时候,默认的基学习类型是决策树。

  4、AdaBoost的多个子模型通过加权求和的方式融合,并不是简单的求平均,子模型的权重取决于子模型的误差率大小,误差率越小,权值越大

转载于:https://www.cnblogs.com/baoxuhong/p/10252438.html

十大经典预测算法(八)---adboost相关推荐

  1. 十大经典预测算法(一)----线性回归

    回归问题就是拟合输入变量x与数值型的目标变量y之间的关系,而线性回归就是假定了x和y之间的线性关系,公式如下: 如下图所示,我们可以通过绘制绘制(x,y)的散点图的方式来查看x和y之间是否有线性关系, ...

  2. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  3. 【十大经典数据挖掘算法】Naïve Bayes

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 朴素贝叶斯(Naïve Bayes) ...

  4. 【十大经典数据挖掘算法】C4.5

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 决策树模型与学习 决策树(de ...

  5. 十大经典排序算法5(Python版本)

    文章目录 七.堆排序 八.计数排序 七.堆排序 1.堆排序介绍 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法.堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键 ...

  6. 十大经典排序算法及比较与分析 ( 动画演示 ) ( 可视化工具 )

    可视化工具及动画展示:旧金山大学 (usfca)|数据结构可视化工具 排序算法概念及描述:1.0 十大经典排序算法(文章部分内容引用自改文章) 参考:邓俊辉 的数据结构 本文未对排序算法概念进行详细说 ...

  7. 十大经典排序算法(建议收藏)

    来自:Damonare的个人博客 原文:http://blog.damonare.cn/2016/12/20/十大经典排序算法总结(javascript描述)/ 0.算法概述  0.1 算法分类 十种 ...

  8. 【十大经典数据挖掘算法】k-means

    [十大经典数据挖掘算法]k-means https://mp.weixin.qq.com/s/SWlE-KBJ4mVza92nJFX1hg 作者简介: Treant  人工智能爱好者社区专栏作者 博客 ...

  9. 11月14日云栖精选夜读 | 动画+原理+代码,解读十大经典排序算法

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过 ...

最新文章

  1. Ctrl+E快捷键,一键批量解决Excel中90%的问题!
  2. 基于FPGA的HDB3编译码器设计
  3. java开发亚马逊mws_GitHub - iotwlw/Amazon-MWS-SDK: 基于亚马逊MWS Java SDK 的封装
  4. intent Filter
  5. java 资源锁_concurrent包 线程池、资源封锁和队列、ReentrantReadWriteLock介绍
  6. 【Flink】 Flink 源码之 Buffer Timeout优化
  7. 3月27日外电头条:Windows的开源野心
  8. python——pandas库之DataFrame数据结构基础
  9. Eigen教程(11)之存储顺序
  10. 使用 SqlDependency 对象缓存数据以提高性能
  11. 文字处理技术:表格与形状的布局差异
  12. 总结淘宝客应该注意的佣金陷阱
  13. 计算机专业毕业后大致的工作方向
  14. Gossip算法详解
  15. 16bit的pcm双声道转单声道
  16. 函数最值题目及答案_高一函数题目及答案解析
  17. 1.dom4j 解析xml
  18. SourceTree系列5:贮藏和修复Bug
  19. python seo编程_「SEO及应用编程」开课!
  20. 怎么用Microsoft Toolkit激活Office/win7/win8

热门文章

  1. ios wallet开发_O3(OzoneWalletIOS)项目
  2. json串和js对象互转
  3. 宝利德集团余海军董事长携高管走访区域汽车体验中心
  4. Python 并发系列 1 —— GIL
  5. AS:Warning: 意外的元素 (uri:““, local:“base-extension“)。所需元素为<{}codename>,<{}layoutlib>,<{}api-level>
  6. .NET 跨平台框架Avalonia UI: 填坑指北(二):在Linux上跑起来了
  7. stm32震动感应灯
  8. 100行代码教你爬取斗图网(Python多线程队列)
  9. 华为怎么分屏操作技巧_第五人格昆虫学家虫群怎么用 昆虫学家操作技巧介绍...
  10. 分布式存储系统——GlusterFS/GFS