AdaBoost 和 Real Adaboost 总结

AdaBoost
Real AdaBoost

AdaBoost


AdaBoost, Adaptive Boosting(自适应增强), 是一种集成学习算法(ensemble learning),由Yoav Freund 和 Robert Schapire 于1995年提出。其思想是通过多个简单的弱分类器集成一个具有较高准确率的强分类器。


经典AdaBoost算法过程

输入:训练数据,其中分别对应着样本特征和样本标签
输出:最终的强分类器
初始化:样本权重分布
循环:t=1,...,T
....-针对权重样本 训练弱分类器
....-计算弱分类器的错误率,是示性函数
....-计算弱分类器的权重
....-使用当前的弱分类器更新样本的分布 ,其中是归一化常数
最终的前分类器为:


AdaBoost过程示意图

AdaBoost.png


更新迭代原理

  • 从直观上理解,首先,当错误率$\epsilon$越大时,分类器的权重$\alpha$越小,这符合一般解释及分类器性能越高置信度也就越大,在最终的表决中所占比重也就越大。其次,在新样本分布的更新过程中,分类正确的样本在下次分类器学习中作用越小,而分错的样本在下次分类器学习中的作用越大,这样可以是新的分类器设计更集中在之前错分的样本分类上,使整体的分类性能提高。

  • 从理论上推导:
    AdaBoost采用的是指数误差函数,其中D是样本的分布,表示样本的标签,表示在分布D上计算期望。

i. 首先是权重的更新,希望分类器产生的总体指数误差最小,则

其中表示某个分布上的概率分布函数。于是得到

即分类器权重的更新公式

ii. 接下来将推导分布的更新:
已获得前个分类器,我们希望获得第t个分类器能纠 正之前错误分类,使指数误差函数最小。

泰勒展开:

这是因为

表示一个新的分布,则上式可以写作:

类似的

于是得到分布的更新公式。


AdaBoost的误差上界

在更新分布时有归一化常数

指数误差函数:


AdaBoost分析

虽然在AdaBoost中对弱分类器没有限制,可以是基于多维特征的决策树,SVM等,但通常每个弱分类器都是基于所有特征中某一维构建的,并且输出结果只有+1,-1两种(二分类问题),所以在训练时每一轮迭代相当于挑选最好的特征。


Real AdaBoost


Real AdaBoost 过程:

给定训练集:
训练集样本的初始分布:
循环t=1,2,...,T: (T是弱分类器的个数)
.... - 将每一维特征的取值空间划分为若干个不相交的
.... - 计算在每个子空间上上正负样本的权重

.... - 计算每一个弱分类器的输出,,其中是一个很小的正常量用于平滑。
.... - 计算归一化因子
.... - 选择Z最小的的弱分类器作为该轮迭代选出的弱分类器
.... - 更新样本分布
最终的强分类器为:, b是阈值。


Real AdaBoost 的理解
相对于AdaBoost而言,Real AdaBoost中弱分类器不再仅输出{+1,-1},而是输出[-1,1]间的实数,所以称为Real AdaBoost, 我们可以认为输出的值其实就是AdaBoost里的权重加权后的结果,即,所以Real AdaBoost也符合AdaBoost的框架

Real AdaBoost 的每个弱分类器设计是一种决策树的简单形式,而每个叶子节点判断依据是将该区间样本分类为样本数最多的那一类。简单的阈值化函数适用于线性可分情况,而对于线性不可分情形,采用这种分区间,即决策树的形式能取得较好的性能。

每次迭代都希望寻找最小分类误差的分类器,而Z值越小表示在对应样本分布下该分类器对应的正负样本个数差别越大,分类结果的置信度越高

下面我们从理论上分析迭代过程:
指数误差函数为:

每次迭代的目标是寻找一个误差最小的分类器,即最小,那么由AdaBoost框架得到

其中是在该维度上分成N个区间后,落在第j个区间分类器输出值,为了使Z最小,可以得到

此时Z取得最小值

为了使输出函数更加平滑,也为了抑制差距太大或者一方为0的情形,引入平滑因子,一般情况下令


Adaboost和Real Adaboost中弱分类器的区别示意图:

realandnon.JPG


matlab实现Real AdaBoost


References:

  • 《机器学习》,周志华著

  • Real Adaboost总结

  • AdaBoost 算法的原理与推导

  • 李志轩,复杂场景中监控视频事件检测算法[D],北京邮电大学,2014

转载于:https://www.cnblogs.com/YiXiaoZhou/p/5875077.html

AdaBoost 和 Real Adaboost 总结相关推荐

  1. adaboost mh matlab,Adaboost算法的前世今生

    Adaboost算法的前世今生 引言 众所周知,模式识别的方法可以按照参与识别特征的属性来区分,可以分为两大类:一.使用定量特征(可度量)如物体长度.宽度等,来描述的各种模式,这一类主要是指决策理论, ...

  2. adaboost.M1与adaboost.M2差别比较

    三种算法的差别 adaboost是由Yoav Freund和Robert E. Schapire 首先提出来的一种用于二分类问题的集成方法,紧接着出现的adaboost.M1将二分类扩展到多分类问题, ...

  3. 论文阅读2--Video text localization based on Adaboost(基于Adaboost的视频文本定位)阅读笔记

    目录 写在前面: 0.Abstract 1.Introduction 2.The candidate TEXT areas detection(检测候选文本区域) 2.1 Gray processin ...

  4. GBDT 和 AdaBoost区别?

    GBDT 和 AdaBoost区别? Adaboost算法是一种提升方法,将多个弱分类器,组合成强分类器. AdaBoost,是英文"Adaptive Boosting"(自适应增 ...

  5. 【机器学习实战】第7章 集成方法(随机森林和 AdaBoost)

    第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...

  6. Adaboost 算法的原理与推导

    Adaboost 算法的原理与推导 0 引言 一直想写Adaboost来着,但迟迟未能动笔.其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩.昨日11月1日下 ...

  7. 机器学习经典算法详解及Python实现--元算法、AdaBoost

    http://blog.csdn.net/suipingsp/article/details/41822313 第一节,元算法略述 遇到罕见病例时,医院会组织专家团进行临床会诊共同分析病例以判定结果. ...

  8. 机器学习7—AdaBoost学习笔记

    Adaboost算法原理分析和实例+代码(简明易懂)(转载) [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/709953 ...

  9. 机器学习知识点(十六)集成学习AdaBoost算法Java实现

    理解http://blog.csdn.net/fjssharpsword/article/details/61913092中AdaBoost算法,从网上找了一套简单的代码加以理解. 1.基分类器,实现 ...

最新文章

  1. 构建一个增量推荐系统
  2. HuaWei设置镜像端口和观察端口
  3. 关于在真实物理机器上用cloudermanger或ambari搭建大数据集群注意事项总结、经验和感悟心得(图文详解)...
  4. linux用户密码策略求图,Linux用户密码策略
  5. Ontology与OO作为一种需求分析或软件构建方法的存在意义
  6. 油猴脚本使用waitForKeyElements报错eslint: no-undef - `waitForKeyElements` is not defined
  7. matlab 量化 策略,【策略分享】Matlab量化交易策略源码分享
  8. python和java学哪个好-python和java自学哪个好?
  9. 无法删除文件 无法读取源文件或磁盘_U盘损坏“无法读取文件”不要慌,教你一招马上回血复活...
  10. arduino制作AVRISP烧写器
  11. App中使用微信公众号的模版消息来进行消息推送
  12. 【量化笔记】通道突破策略
  13. 服务器挂硬盘 BIOS,TaiShan服务器通过BIOS格式化硬盘将硬盘中的残留数据擦除操作方法...
  14. 深度学习-胶囊网络学习
  15. 独家 Baseline!PAKDD2020-阿里巴巴智能运维算法大赛
  16. Multipathd Daemon was Unable to Set Options fast_io_fail_tmo or dev_loss_tmo Under UEK1 or RHCK
  17. 【从零学习openCV】IOS7下的人脸检测
  18. 苹果小白笔记本_【电脑】外媒评选年度办公/学生笔记本榜单 快看有你需要的吗...
  19. 日常BUG总结:虚拟机centos7无法识别网卡
  20. DNS的常用记录详解

热门文章

  1. DCMTK:OFOptional的单元测试
  2. VTK:Utilities之CameraModifiedEvent
  3. VTK:简单操作之DistanceBetweenPoints
  4. VTK:PolyData之Stripper
  5. VTK:Rendering之Cone3
  6. VTK:Points之RadiusOutlierRemoval
  7. VTK:IO之ExportPolyDataScene
  8. VTK:几何对象之Arrow
  9. ati显卡驱动安装linux,恭喜自己 ati显卡驱动安装成功
  10. hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)