原文::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 的主要思想

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

待写....

最新文章

  1. JDK NIO编程
  2. 使用Android Studio打Andorid apk包的流程
  3. 【转载】jQuery Validate验证框架 + CKEditor 无法验证问题的解决方法
  4. Error:(6, 0) No such property: outputDir for class: org.gradle.api.internal.project.DefaultProject_Decorated
  5. 五指CMS开发日志(一)
  6. 学习笔记-记ActiveMQ学习摘录与心得(一)
  7. 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别
  8. php 写队列
  9. Tutorial: 结合使用AngularJS和Django
  10. DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述)
  11. 【问题记录】MyBatis查询数据库返回多个不同类型参数的结果集的接收方式
  12. 匿名函数、高阶函数以及map
  13. 【转】Win10开机密码忘了?教你破解Win10开机密码
  14. HashTable、HashMap、ConcurrentHashMap的区别
  15. iphone越狱安装python2.7
  16. Java设计模式 -- 简单工厂模式(SimpleFactory)
  17. repo manifest.xml 分析
  18. java 清除 bom
  19. js-jquery-002-条形码-一维码
  20. Esper——内存计算、事件驱动、SQL支持

热门文章

  1. eas之导入导出
  2. dup、文件锁、库函数、函数调用(day07)
  3. mongodb集群搭建(分片+副本)
  4. docker安装部署
  5. mysql查询昨天 一周前 一月前 一年前的数据
  6. LID&LDS 的另外一种算法
  7. [Javascript Crocks] Apply a function in a Maybe context to Maybe inputs (curry & ap & liftA2)
  8. 【cl】在代码中查找系统页面中的代码方法
  9. Linux正則表達式-定位元字符
  10. linux下的oom调试笔记【原创】