2016-11-16 103 views
1

使用Accord.NET我创建了一个NaiveBayes分类器。它会根据6组图像处理结果对像素进行分类。我的图像是500万像素,因此50个图像的训练集创建了一组非常大的训练数据。如何增量培训naivebayes分类器?

6每像素int阵列* 500万像素* 50图像。

而不是试图将所有的数据存储在内存中,有没有办法增量训练NaiveBayes分类器?多次调用Learn()会每次覆盖旧数据,而不是添加到旧数据。

回答

0

现在不可能使用Accord.NET逐步地训练朴素贝叶斯模型。

但是,因为Naive Bayes所要做的就是尝试将一些分布适用于您的数据,并且由于您的数据的维数很少,因此您可以尝试在数据的子样本上学习模型比它所有的一次。

当你去加载图像来建立你的训练集,你可以尝试随机丢弃每个图像中的x%像素。您还可以绘制x不同值的分类器精度,以找到模型的内存和精度之间的最佳平衡(提示:对于如此小的模型以及大量的训练数据,我期望它不会做出太多的即使您丢失了50%的数据也是如此)。