OpenCV 迭代随机森林训练

Posted

技术标签:

【中文标题】OpenCV 迭代随机森林训练【英文标题】:OpenCV Iterative random forest training 【发布时间】:2012-10-25 09:46:39 【问题描述】:

我正在使用随机森林算法作为我论文项目的分类器。 训练集由数千张图像组成,每张图像大约 2000 像素被采样。对于每个像素,我有数十万个特征。和 我目前的硬件限制(8G 内存,可能扩展到 16G)我能够 仅将一张图像的样本(即每个像素的特征)放入内存中。我的 问题是:是否可以多次调用train方法,每次 使用不同图像的样本,并自动获取统计模型 每次通话都更新?我对变量重要性特别感兴趣,因为在我 用整个特征集训练完整的训练集,我的想法是减少 特征的数量从几十万到大约 2000,只保留 最重要的。

感谢您的任何建议, 丹尼尔

【问题讨论】:

【参考方案1】:

我认为该算法不支持增量训练。您可以考虑使用其他特征缩减方法在训练之前减小描述符的大小。或者估计所有训练图像中随机像素子集的变量重要性,尽可能多地填充到你的记忆中......

【讨论】:

【参考方案2】:

查看我对this post 的回复。随机森林有增量版本,它们可以让您在更大的数据上进行训练。

【讨论】:

不幸的是,我读你的答案太晚了。我最终得到了一个与您的类似的自定义实现(以呼吸优先的方式生长树)。此外,增长是按节点完成的,并使用 OpenCL 并行化。所有代码都在这里code.google.com/p/parloma/source/browse/…。代码现在专门针对我的问题(手势识别),希望有时间重写库来处理通用问题。 一个更通用的实现可以在这里找到github.com/mUogoro/padenti

以上是关于OpenCV 迭代随机森林训练的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCV 随机森林进行回归

随机森林和adaboost对比

使用 OpenCV 的平凡随机森林不起作用,并且与 sklearn 不同

随机森林算法梳理

随机森林

随机森林训练占比为多少比较合适