Boosting是一族可将弱学习器提升为强学习器的算法,这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。 根据所给算法描述,好像只能同质 集成。

百度百科的介绍:
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这

Adaboost

些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用adaboost分类器可以排除一些不必要的训练数据特征,并放在关键的训练数据上面。

Boosting族算法中最著名的代表是AdaBoost

这就是Adaboost的结构,最后的分类器YM是由数个弱分类器(weak classifier)组合而成的,相当于最后m个弱分类器来投票决定分类,而且每个弱分类器的“话语权”α不一样。

3.得到最后 的分类器:

                                         
算法:
看的云里雾里的有木有,反正我是,但是我们又大牛给出了详细的例子,我都看懂了。哈哈
下面我们举一个简单的例子来看看adaboost的实现过程:

图中,“+”和“-”分别表示两种类别,在这个过程中,我们使用水平或者垂直的直线作为分类器,来进行分类。

  第一步:

根据分类的正确率,得到一个新的样本分布D2?,一个子分类器h1

  其中划圈的样本表示被分错的。在右边的途中,比较大的“+”表示对该样本做了加权。

  第二步:

根据分类的正确率,得到一个新的样本分布D3,一个子分类器h2

  第三步:

得到一个子分类器h3

  整合所有子分类器:

因此可以得到整合的结果,从结果中看,即使简单的分类器,组合起来也能获得很好的分类效果,在例子中所有的。

  Adaboost算法的某些特性是非常好的,在我们的报告中,主要介绍adaboost的两个特性。一是训练的错误率上界,随着迭代次数的增加,会逐渐下降;二是adaboost算法即使训练次数很多,也不会出现过拟合的问题。

总结

  最后,我们可以总结下adaboost算法的一些实际可以使用的场景:

  1)用于二分类或多分类的应用场景

  2)用于做分类任务的baseline

  无脑化,简单,不会overfitting,不用调分类器

  3)用于特征选择(feature selection)

  4)Boosting框架用于对badcase的修正

  只需要增加新的分类器,不需要变动原有分类器

  由于adaboost算法是一种实现简单,应用也很简单的算法。Adaboost算法通过组合弱分类器而得到强分类器,同时具有分类错误率上界随着训练增加而稳定下降,不会过拟合等的性质,应该说是一种很适合于在各种分类场景下应用的算法。

Boosting算法概念解析相关推荐

  1. 数据结构与算法概念解析

    鉴于CSDN对**版权保护的不作为**以及落后的运营手段,本博客将于近期关闭,并清空全部文章. 原有文章将会经过再次的校对.整理,转移至本人在**简书**的[博客空间](https://www.jia ...

  2. adaboost算法java_Adaboost 算法实例解析

    Adaboost 算法实例解析 1 Adaboost的原理 1.1 Adaboost基本介绍 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由 ...

  3. 数据分析利器:XGBoost算法最佳解析

    作者:symonxiong,腾讯 CDG 应用研究员 XGBoost是一种经典的集成式提升算法框架,具有训练效率高.预测效果好.可控参数多.使用方便等特性,是大数据分析领域的一柄利器.在实际业务中,X ...

  4. [机器学习] Boosting算法2 --- GBDT

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

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

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

  6. Haar特征与积分图—概念解析

    1. Adaboost方法的引入 1.1 Boosting方法的提出和发展 在了解Adaboost方法之前,先了解一下Boosting方法. 回答一个是与否的问题,随机猜测可以获得50%的正确率.如果 ...

  7. Boosting算法与假设间隔

    Boosting算法与假设间隔 间隔概念 AdaBoost算法 AdaBoost 平均间隔 参考资料 间隔概念 间隔是一种几何度量,能够用于度量分类器预测的可信程度.间隔的两种定义:①样本间隔: 被预 ...

  8. QUANT[6] 量化交易常见概念解析

    QUANT[1]:从零开始量化交易 - プロノCodeSteel - CSDN博客 QUANT[2]:量化交易策略基本框架搭建 - プロノCodeSteel - CSDN博客 QUANT[3]:量化交 ...

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

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

最新文章

  1. linux学习之路——ubuntu 16.04 开机开启数字小键盘解决方法
  2. SpringBoot一个依赖搞定Session共享,没有比这更简单的方案了!
  3. 通过jS打包下载图片
  4. struts2原理(转)
  5. WebSocket和Java
  6. win7系统显卡在哪查看
  7. 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
  8. SSIS包生成注意事项
  9. xp安全模式下如何修复计算机,xp安全模式下怎么解决蓝屏_xp开机进入安全模式修复蓝屏教程...
  10. Hackthebox入门
  11. !include: could not find: “nsProcessW.nsh“
  12. 哪个城市美女最多?OPPO R11开启“谁是拍照King·仲夏之梦”活动
  13. javaweb-39:文件上传及拓展鸡汤
  14. PostgreSQL NUMERIC 数据类型
  15. 【源码共享】我花2小时写了微信官网的响应式布局HTML+CSS 换成旅行主题风格更炫酷了
  16. 批量监测手机微博更新内容
  17. java添加窗体中_java中利用JFrame创建窗体 【转】
  18. Mac报错:TSM AdjustCapsLockLEDForKeyTransitionHandling_ISSetPhysicalKeyboardCapsLockLED Inhibit
  19. 根据空间中不共面的四个点坐标,求构成任意四面体的内外球
  20. mysql数据库技术与项目李锡辉_《MySQL数据库技术与项目应用教程 李锡辉 ,王樱 9787115474100 人》李锡辉,王樱著【摘要 书评 在线阅读】-苏宁易购图书...

热门文章

  1. 计算机高级职称论文写什么题目,计算机高级职称论文发表
  2. Linux配置163邮箱发送
  3. JS闭包的深入理解---函数节流(详解3)
  4. 如何创建一个 Windows 桌面应用程序?
  5. bmi编程python_Python中计算BMI的有效程序设计
  6. 毕业设计实验日志2021.0304
  7. 重庆北大青鸟解放碑校区J12班 小米步枪队【在线预约挂号系统】
  8. 利用python获取QQ高清头像
  9. 快速排序程序c语言,C语言实现的快速排序算法的代码
  10. JAVA项目实战开发电商项目案例(十)订单与支付模块