2012-11-05 85 views
6

我使用随机森林算法作为我的论文项目的分类器。 训练集由数千个图像组成,每个图像大约有2000个像素被采样。对于每个像素,我拥有数十万个功能。由于我目前的硬件限制(RAM的8G,可能可扩展到16G),我可以用 来将样本(即每个像素的特征)仅存储在一个图像中。我的 的问题是:是否有可能多次调用列车方法,每次用不同图片的样本 ,并获得统计模型自动 在每次调用时更新?我对变量的重要性特别感兴趣,因为在对整个训练集进行了整个训练集的训练之后,我的想法是将特征的数量从数十万减少到约2000,并且只保留最重要的特征的数量为 。OpenCV迭代随机森林培训

谢谢你的任何建议, 丹尼尔

回答

2

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

0

请参阅我的回答this post。有随机森林的增量版本,他们会让你训练更大的数据。

+1

不幸的是,我读了你的答案为时已晚。我最终以自定义实现方式与您的方式类似(树木以呼吸优先的方式增长)。此外,增长按每个节点完成并使用OpenCL进行并行化。所有的代码都在http://code.google.com/p/parloma/source/browse/#svn%2Ftrunk%2Frandom_forest_gpu。该代码现在特定于我的问题(手姿态识别),希望找到时间来重写库来处理通用问题。 – mUogoro

+0

更通用的实现可以在这里找到https://github.com/mUogoro/padenti – mUogoro