二进制SVM分类器失败了两个类:一个是大的,另一个是小的

时间:2012-04-09 09:07:03

标签: dataset pixel classification svm

我试图使用二进制支持向量机对某些像素进行分类。我的训练数据库由28个数据文件组成,有两个类,class1的像素数为16571,class2的像素数为313.

测试数据(每个文件)有大约600个像素,只有6-10个像素是第2类的成员,其余像素在class1中。

我的问题是,在训练之后,当我尝试对数据进行分类时,SVM会对class1中的所有像素进行分类。

我认为这可能是因为它从class2中看到了很少的样本。但是可用数据文件的数量是有限的(大约35个数据文件)。

我如何训练svm并获得合理的结果?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

SVM可能确实对列车组大小的巨大差异很敏感。我建议尝试以下两种方法:

  1. 通过抽样限制1级列车的集合,使其大小与2级大小相当,并检查是否有任何改进(2级大小的1X到10X之间的大小可能适合)。

    < / LI>
  2. 使用SVM的'cost'参数(例如,使用'J'参数在SVMLight中),它可以帮助平衡各种类。

  3. 你当然可以同时使用这两种方法,即稍微限制第1类列车数据的大小,然后使用成本参数进一步平衡类。