是否可以将二进制类svm转换为多类svm

时间:2015-03-26 07:06:54

标签: matlab svm

是否可以将二进制类svm转换为多类svm?因为我必须将二进制类svm转换为多类,所以可以这样做。如果是,请有人说可以怎么做。

2 个答案:

答案 0 :(得分:1)

一般来说:没有

二进制SVM在两个类之间放置一个超平面以将它们分开。多类SVM将多个超平面放在一起以分隔3个或更多不同的类。由于您只有一个超平面而没有其他信息,这是不可能的。

虽然有些情况下可以保留训练有素的二进制SVM并对其进行扩展:

假设您的二进制SVM在类AB之间做出决定。您现在想要了解有关B的更多信息,并将所有B分隔为B1B2。然后,您可以使用二进制SVM在AB之间进行分类,然后在第二步中,训练新的二进制SVM以在B1B2之间进行分类。

另一种可能性:假设您的数据目前仅包含课程AB。从现在开始,还可以发生 new C。然后,您可以使用One-vs-One多类SVM策略(即构建二进制SVM来决定:A-BA-CB-C)。在这种情况下,您可以重复使用二进制SVM,并且只训练A-CB-C SVM。

答案 1 :(得分:1)

最常见的SVM多类分类方法为每个类VS构建多个SVM。最后选择得分最高的班级。

LIBSVM可能对您有用。它很容易在matlab中使用。

http://www.csie.ntu.edu.tw/~cjlin/libsvm/