SVM的C ++数据

时间:2014-04-08 13:49:33

标签: c++ opencv bigdata svm

我将使用openCV'(C ++)SVM(支持向量机)进行分类。但有一个问题:

特征向量如此之大(每个都有1890000个元素),我有超过10000个特征向量来训练SVM。如何在没有经验记忆问题的情况下操纵特征向量或使用它们?

1 个答案:

答案 0 :(得分:2)

如此高的尺寸和许多训练样本,您将需要大量的内存来使用任何流行的SVM实现。如果我要面对这个问题,那么我会考虑至少其中一个选项:

  • 减少每个向量的维数,有很多算法可以做到这一点,但PCA是一个良好的开端。
  • 在一些拥有大量内存的主机中获取计算时间(也许一个amazon ec2实例就足够了)
  • 使用线性在线近似SVM进行测试。在高维度中,您很可能可以将类linearly分开,并且可以使用SVM online approximations,然后一次只加载一个样本,在这种情况下,您不会需要尽可能多的内存(我会考虑pegasos-svm)。