是否可以将二进制类svm转换为多类svm?因为我必须将二进制类svm转换为多类,所以可以这样做。如果是,请有人说可以怎么做。
答案 0 :(得分:1)
一般来说:没有。
二进制SVM在两个类之间放置一个超平面以将它们分开。多类SVM将多个超平面放在一起以分隔3个或更多不同的类。由于您只有一个超平面而没有其他信息,这是不可能的。
虽然有些情况下可以保留训练有素的二进制SVM并对其进行扩展:
假设您的二进制SVM在类A
和B
之间做出决定。您现在想要了解有关B
的更多信息,并将所有B
分隔为B1
或B2
。然后,您可以使用二进制SVM在A
和B
之间进行分类,然后在第二步中,训练新的二进制SVM以在B1
和B2
之间进行分类。
另一种可能性:假设您的数据目前仅包含课程A
和B
。从现在开始,还可以发生 new 类C
。然后,您可以使用One-vs-One多类SVM策略(即构建二进制SVM来决定:A-B
,A-C
,B-C
)。在这种情况下,您可以重复使用二进制SVM,并且只训练A-C
和B-C
SVM。
答案 1 :(得分:1)
最常见的SVM多类分类方法为每个类VS构建多个SVM。最后选择得分最高的班级。
LIBSVM可能对您有用。它很容易在matlab中使用。