AdaBoosting 3
在学习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的更多相关文章
- Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting的区别
引自http://blog.csdn.net/xianlingmao/article/details/7712217 Jackknife,Bootstraping, bagging, boosting ...
- 各常用分类算法的优缺点总结:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio
1决策树(Decision Trees)的优缺点 决策树的优点: 一. 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二. 对于决策树,数据的准备往往是简单或者是不必要的. ...
- 【机器学习】Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting 这些术语,我经常搞混淆, ...
- 一步一步理解AdaBoosting(Adaptive Boosting)算法
最近学习<西瓜书>的集成学习之Boosting算法,看了一个很好的例子(https://zhuanlan.zhihu.com/p/27126737),为了方便以后理解,现在更详细描述一下步 ...
- 集成学习:以Bagging、Adaboosting为例
集成学习是一大类模型融合策略和方法的统称,以下以bagging和boosting为例进行说明: 1.boosting boosting方法训练分类器采用串行的方式,每个弱分类器之间是相互依赖的,尤其后 ...
- GBDT,Adaboosting概念区分 GBDT与xgboost区别
http://blog.csdn.net/w28971023/article/details/8240756 ============================================= ...
- Boosting AdaBoosting Algorithm
http://math.mit.edu/~rothvoss/18.304.3PM/Presentations/1-Eric-Boosting304FinalRpdf.pdf Consider MIT ...
- Adaboost提升算法从原理到实践
1.基本思想: 综合某些专家的判断,往往要比一个专家单独的判断要好.在"强可学习"和"弱科学习"的概念上来说就是我们通过对多个弱可学习的算法进行"组合 ...
- 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...
随机推荐
- 关于silverlight打印模糊的问题
今天做silverlight打印实现时,发现一个问题,就是sl打印处理的文字很模糊 这样肯定不行撒,于是开始找解决办法,首先想到的是silverlight中文显示的问题,好 ...
- 配置DNS服务器
一.配置基本的DNS 服务器(包含正向解析和反向解析)域名:abc.com服务器IP:10.1.2.11 1. 编辑主配置文件/etc/named.conf---------------------- ...
- Writing Your Own jQuery Plugins
Setting Up <script src="js/jquery-1.9.1.min.js"></script> <script src=" ...
- Git入门教程
参考文献: 1. Pro Git 2. Git教程 3. Git教程 4. 图解Git
- 【原创】js中利用cookie实现记住密码功能
在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...
- SerialChat与Arduino的配合使用
最近在开发过程中,用到了Arduino开发板以及其IDE:Arduino,这个IDE使用起来很方便,编码也很简单,但有一点美中不足的是Arduino只能输出数值,不能绘图,所以就用到了另外一款串口调试 ...
- 解决打开CHM文件后,右侧空白
在网上下了一个chm的文件,打开后只有目录,右侧不显示内容. 不知道是文件有问题,还是系统有问题. <ignore_js_op> 右键点击文件–属性 看到 最下面有一个提示 说是这个文件是 ...
- C语言细节——献给初学者(二)
C语言细节——献给初学者(二) 主题 循环运用+选择判断 C语言循环有for和while/do...while: 选择判断有:if...else和switch...case 在循环中需要注意搭配br ...
- C++类的交叉引用
对于C++中,两个类中相互引用对方,当然只能是在指针的基础上,于是我们知道.也就是说在A类的有一个指针引用B类的成员函数或成员对象,而B类中又有一个指针来访问A中的成员函数或对象.这就是C++中类的交 ...
- CentOS中iptables防火墙 开放80端口方法
开放端口: 代码如下 复制代码 [root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 保存配置: 代码如下 复制代码 [root ...