libsvm多类分类 - 训练数据的不平衡问题

时间:2014-07-17 20:01:46

标签: matlab machine-learning svm libsvm

enter image description here我在Matlab中使用libsvm来对具有5个类的数据集进行分类。这里的数据是2-D,但我认为不重要。

每个班级的测试数据量是平衡的。对于训练数据,当我为每个班级使用5个训练样本时,分类结果是好的。但是,当我将一个班级(比如2级)的训练数据从5改为10时,分类准确性很差,特别是对于2级。

我使用的代码非常简单:

model = svmtrain2(trainLabels, trainData ); 
[LabelSVM] = svmpredict2(testLabels, testData, model);

这是因为我应该指定svmtrain2中的任何选项吗?或者它是由其他东西引起的?谢谢。

1 个答案:

答案 0 :(得分:0)

从LIBSVM查看this svm guide。这是一个非常好的介绍 - 更快的解决方案请参阅第1.2节(尽管你最好还是阅读整篇文章,如果你还没有)。

基本上,请确保您已扩展数据(同时进行测试和培训),并且您必须调整内核参数,这些参数可能是C和{ {1}}。

我还认为,如果每个类只有5个数据点,那么性能就不会非常可靠。 SVM很容易过度拟合数据。