是否可以将二进制 class svm 转换为 multiclass svm

Is it possible to convert a binary class svm to multiclass svm

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

总的来说:没有

二进制 SVM 在两个 classes 之间放置一个超平面以将它们分开。一个 multiclass SVM 放置 multiple 超平面来分隔 3 个或更多不同的 classes。因为你只有一个超平面,没有其他信息,所以这是不可能的。

尽管在某些情况下可以保留经过训练的二进制 SVM 并对其进行扩展:

假设您的二进制 SVM 在 class AB 之间做出决定。您现在想了解更多关于 B 的信息,并将所有 B 分成 B1B2。然后你可以使用二进制 SVM class 在 AB 之间进行判断,然后在第二步中训练一个新的二进制 SVM 在 B1 和 [=15] 之间做出决定=].

另一种可能性:假设您的数据目前仅包含 class AB。从现在开始,也可以出现new class C。然后,您可以使用一对一多 class SVM 策略(即构建二进制 SVM 以在 A-BA-CB-C 之间做出决定)。在这种情况下,您可以重新使用二进制 SVM,并且只训练 A-CB-C SVM。

最常见的 SVM-multiclass class化方法为每个 class VS 其余构建多个 SVM。最后选择得分最高的class

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

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