在学习AdaBoosting和online Boosting, 最好有bagging和boosting基础,这样看起来比较会比较顺。有空再补上。

AdaBoost 算法的主要思想之一就是在训练集上维护一套权重分布,初始化时 ,Adaboost 为训练集的每个训练例指定相同的权重 1/m。接着调用弱学习算法进行迭代学习。每次迭代后更新训练集上不同样本的权值,对训练失败的样本赋以较大的权重,也就是让学习算法在后续的学习过程中集中对比较难的训练例进行学习

首先给定一个弱学习算法和训练集 ( x1 , y1 ), ( x2 , y2 ),..., ( xN , y N ) ,xi ∈ X , 表示某个X实例空间; yi ∈ Y = {1, −1} ,Y 表示一个带类别标志的集合。在每一步的迭代中,弱学
弱假设 ht 的性能由习算法根据训练样本的分布及权重 Dt 产生一个弱假设 ht :X→{1,-1}。
它的误差 ε m来衡量:

误差 ε m 的大小与训练弱学习算法所依赖的样本分布 Dt 相关,可以理解为对于权值较大
的样本错分会导致较大的误差增量。这样设计误差函数的目的正如前文所描述的,在
于使学习算法在后续的学习过程中集中对比较难的训练例进行学习。AdaBoost 算法根
据每次迭代后得到的预测结果,为每个弱分类器根据预测的结果赋予一个权值,最终
的预测结果由每个弱分类器通过带权重的投票方式产生。

online Adaboost

和online算法对应是offline算法(在线学习算法和离线学习算法),以前我学的大多数都是offline算法,例如,svm,神经网络等算法

offline算法最明显的特征是:首先训练模型,模型训练完就预测,预测得到一个结果,没有考虑到预测的样本对模型的影响。

而online算法:首先也要训练一个简单的模型,其主要在预测的过程中学习,由于预测的样本没有保存在内存中,只有一次的学习机会。

online adaboost, 这篇文章发表于CVPR2006引用率蛮高,在tracking方面特别牛逼。

下面来介绍一下这篇文章的主要思想,这篇文章最好最好要有online boosting基础。也和online boosting差不多。先看算法的流程。

首先介绍一下选择选择器(selectors)和分类器(classifier).

在算法的开始,每个选择器里面都有m个弱分类器,算法的目的就是每个选择器在m个分类器中找出最优的一个分类器。然后再把n个选择器组合起来。这种思想确实和adbooost一样。m个弱分类器可以自己建立,也可以在每一维上建立分类器。

λ的作用是样本在每个分类上的权重。当第一个选择器分类正确是,λ的值就回减少,否则就增加,这也和adboost有点像。

αn表示每个选择器的权重,是按选择器错误率来定权的,这也和adboost有点像。所以online adoosting就是offline adboosting算法的山寨版。

这几年的cvpr上的几篇做tracking的文章以这个idea为基础。tracking的方法是用最近比较流行的tracking-by-detection的方法。简答的说就是在tracking的时候,observation model这一块是用一个在线训练的分类器。tracking的过程如下图所示(图中还有一步是用跟踪的结果作为训练器的新的输入):

AdaBoosting 3的更多相关文章

  1. Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting的区别

    引自http://blog.csdn.net/xianlingmao/article/details/7712217 Jackknife,Bootstraping, bagging, boosting ...

  2. 各常用分类算法的优缺点总结:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio

    1决策树(Decision Trees)的优缺点 决策树的优点: 一. 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二. 对于决策树,数据的准备往往是简单或者是不必要的. ...

  3. 【机器学习】Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting

    Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting 这些术语,我经常搞混淆, ...

  4. 一步一步理解AdaBoosting(Adaptive Boosting)算法

    最近学习<西瓜书>的集成学习之Boosting算法,看了一个很好的例子(https://zhuanlan.zhihu.com/p/27126737),为了方便以后理解,现在更详细描述一下步 ...

  5. 集成学习:以Bagging、Adaboosting为例

    集成学习是一大类模型融合策略和方法的统称,以下以bagging和boosting为例进行说明: 1.boosting boosting方法训练分类器采用串行的方式,每个弱分类器之间是相互依赖的,尤其后 ...

  6. GBDT,Adaboosting概念区分 GBDT与xgboost区别

    http://blog.csdn.net/w28971023/article/details/8240756 ============================================= ...

  7. Boosting AdaBoosting Algorithm

    http://math.mit.edu/~rothvoss/18.304.3PM/Presentations/1-Eric-Boosting304FinalRpdf.pdf Consider MIT ...

  8. Adaboost提升算法从原理到实践

    1.基本思想: 综合某些专家的判断,往往要比一个专家单独的判断要好.在"强可学习"和"弱科学习"的概念上来说就是我们通过对多个弱可学习的算法进行"组合 ...

  9. 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...

随机推荐

  1. Fragment与FragmentAcitvity间的传值

    Fragment与FragmentAcitvity间的传值 FragmentActivity中传值 Bundle bundle=new Bundle(); bundle.putSerializable ...

  2. java开发环境的主题色的变化

     eclipse:Help->Install New Software->Work with:Update Site - http://eclipse-color-theme.github ...

  3. 服务器端查看log的shell脚本

    持续过滤log脚本 服务器端持续查看log的shell脚本(其中path1和path2替换为路径特征名,“tail -f”后面接的路径替换为路径特征名所对应的log文件路径): #! /bin/sh ...

  4. maven+Jenkins学习小记

    jenkins配置方法1,tomcat下载,解压,切换到bin目录,配置环境变量,地址为catalina.bat文件夹下,也就是bin目录,再配置path变量2,启动tomcat,dos命令,cata ...

  5. js的一些复习

    JavaScript Js是一种直译式的脚本语言,是一种弱类型,基于对象的语言.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言 ...

  6. Calendar日历小程序

    //有待完善,有点bugpackage com.sunshine.framework.calendar.model;import java.util.Calendar;/** * * <p> ...

  7. 微信小程序-视图

    数据绑定 <!--wxml--> <view> {{message}} </view> // page.js Page({ data: { message: 'He ...

  8. Django ModelForm and Form

    django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm 关于django的表单系统,主要分两种 基于django.forms.Form 基于dj ...

  9. iOS开发之UITapGestureRecognizer单双击

    转自手势开发 IOS开发之手势——UIGestureRecognizer 共存 在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touch ...

  10. 查看rpm和war包内容

    解压rpm包的内容:(没有安装,就像解压tgz包一样rpm包)rpm2cpio *.rpm | cpio -div 解压war包的内容: jar -xvf project.war 解压到当前目录