原文::Multi-Forest:A chameleon in tracking,CVPR2014  下的蛋...原文

使用随机森林的优势,在于可以使用GPU把每棵树分到一个流处理器里运行,容易并行化实现。

OpenCV中的使用:OpenCV:使用 随机森林与GBDT

随机森林的优点:http://www.cnblogs.com/wentingtu/archive/2011/12/13/2286212.html

  • 在数据集上表现良好
  • 在当前的很多数据集上,相对其他算法有着很大的优势
  • 它能够处理很高维度(feature很多)的数据,并且不用做特征选择
  • 在训练完后,它能够给出哪些feature比较重要
  • 在创建随机森林的时候,对generlization error使用的是无偏估计
  • 训练速度快
  • 在训练过程中,能够检测到feature间的互相影响
  • 容易做成并行化方法
  • 实现比较简单

(1):在线Boost

使用在线Boosting项目主页:http://www.vision.ee.ethz.ch/boostingTrackers/index.htm

使用在线boosting学习的Code:http://www.vision.ee.ethz.ch/boostingTrackers/download.htm

使用Haar特征树作为弱分类器,取得不错的效果。但是速度稍慢。

(2):在线随机森林:

09年,ICCV 上的文章,效果和离线的random
forest
差不多,特别的牛。可以做分类,也可以做预测....

程序下载:http://www.everbox.com/f/7igWhZFJBp7xxqmbaM6UyewatN

这里介绍的主要是在线随机决策树,其思想主要是:每棵树可以在线分裂。每个叶子分裂的条件是预测的数量要达到一定的值和每个叶子节点信息。

每个树的生长主要通过预测的样本(在线接受的样本),每棵树的叶子节点分裂主要根据该节点的熵或Gini

          or  
  

学过决策树和信息论的,对这个概念都有了解。其中j表示第j棵树,i表示第i个分类结果。K表示总的分类数。

对有一个给定的结合S(在线预测中给定),每棵树上叶子节点Pj的的概率可以表示为:

如果要在Pj叶子节点分类,那么,得到二个叶子节点的概率可以用下式表示:

 
           and             

解释一下 Pjls,l为left,s为测试集合。所以Pjls表示为在集合S中Pj叶子节点的分列的左节点。同理,Pjrs表示为在集合S中Pj叶子节点的分列的右节点。

那么,每棵树上叶子节点Pj分裂必须符合以下二个条件:

1. 落在叶子节点Pj的个数必须大于一个常数(可以人工设定)

2. 叶子节点的Gini必须大于一个常数(可以人工设定),Gini计算公式如下:

以上步骤就完成整个树的更新。

步骤3. 用个possion分布确定从采样的次数,其原理见online boosting: http://www.cnblogs.com/liqizhou/archive/2012/05/10/2494145.html

步骤6. u代表分类的类别。

步骤7. j代表第t棵树上叶子节点。

步骤8. 统计第j个叶子节点的数目和计算Gini

步骤9. 判断条件是否分裂的二个条件。

步骤10. 在符合条件的叶子节点中,选择一个Gini最大的叶子节点作为分类节点。

以上就是online Random forests 的主要思想

下面给出了在线随机森林算法的流程:

待写....

ObjectT5:在线随机森林-Multi-Forest-A chameleon in track in的更多相关文章

  1. sklearn_随机森林random forest原理_乳腺癌分类器建模(推荐AAA)

     sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  2. 机器学习方法(六):随机森林Random Forest,bagging

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经典 ...

  3. 【机器学习】随机森林(Random Forest)

    随机森林是一个最近比较火的算法 它有很多的优点: 在数据集上表现良好 在当前的很多数据集上,相对其他算法有着很大的优势 它能够处理很高维度(feature很多)的数据,并且不用做特征选择 在训练完后, ...

  4. 随机森林random forest及python实现

    引言想通过随机森林来获取数据的主要特征 1.理论根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即个体学习器之间存在强依赖关系,必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系 ...

  5. 机器学习(六)—随机森林Random Forest

    1.什么是随机采样? Bagging可以简单的理解为:放回抽样,多数表决(分类)或简单平均(回归): Bagging的弱学习器之间没有boosting那样的联系,不存在强依赖关系,基学习器之间属于并列 ...

  6. 第九篇:随机森林(Random Forest)

    前言 随机森林非常像<机器学习实践>里面提到过的那个AdaBoost算法,但区别在于它没有迭代,还有就是森林里的树长度不限制. 因为它是没有迭代过程的,不像AdaBoost那样需要迭代,不 ...

  7. 【机器学习】随机森林 Random Forest 得到模型后,评估参数重要性

    在得出random forest 模型后,评估参数重要性 importance() 示例如下 特征重要性评价标准 %IncMSE 是 increase in MSE.就是对每一个变量 比如 X1 随机 ...

  8. 随机森林(Random Forest)

    决策树介绍:http://www.cnblogs.com/huangshiyu13/p/6126137.html 一些boosting的算法:http://www.cnblogs.com/huangs ...

  9. 决策树模型组合之(在线)随机森林与GBDT

    前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时, 单决策树又有一些不好的地方,比如说容易over ...

随机推荐

  1. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用 ...

  2. apicloud 注意事项

    页面布局时头部和内容一定要分开,状态栏寖入式要用.可以用api.sendEvent广播出去,api.addlisterten监听. api.openWin打开页面会有黑色闪屏,加bgColor:'#f ...

  3. 【hihocoder 1298】 数论五·欧拉函数

    [题目链接]:http://hihocoder.com/problemset/problem/1298 [题意] [题解] 用欧拉筛法; 能够同时求出1..MAX当中的所有质数和所有数的欧拉函数的值; ...

  4. [Codeup 25482]选美

    [Codeup 25482 ]选美 题目 一年一度的星哥选美又拉开了帷幕 N个人报名参加选拔,每个人都有着各自的相貌参数和身材参数(不大于 10000 的正整数).你的任务是尽可能让更多人被星哥选中, ...

  5. 完毕port模型

    完毕port模型过程例如以下: 1.调用CreateIoCompletionPort函数创建完毕port. HANDLE CompletionPort=CreateIoCompletionStatus ...

  6. HDU 4531

    很容易判断是BFS,可是,呵呵呵呵呵呵......... HASH判重吧,判连通可以用并查集. 以下代码是转别人的,我码了一下午,发觉越码越丑,呵呵了. http://www.cnblogs.com/ ...

  7. 【iOS开发系列】九宫格布局

    /** * 这个尽管非常easy,算是一个小技巧,可是碰到了就记录下来吧.积跬步,致千里嘛. */ - (void)scratchableLatex { for (int i=0; i<9; i ...

  8. vbs脚本

    巧用Vbs SendKeys 可以做的事 发布: 2014-04-06 10:00:20 | 作者: | 来源: 按键精灵资源站 巧妙使用VBS中的SendKeys命令(这个命令的作用就是模拟键盘操作 ...

  9. Java web測试分为6个部分

    1.功能測试 2.性能測试(包含负载/压力測试)3.用户界面測试 4. 兼容性測试 5.  安全測试  6.接口測试   1 功能測试 1.1 链接測试 链接測试可分为三个方面. 首先,測试全部链接是 ...

  10. js自定义回调函数

      JavaScript允许开发人员像传递任何类型的数据一样传递函数,也就是说,函数也是一种数据类型,通过typeof就知道. 例子1: var CallbackFun = function(){ t ...