SVMs(Surport Vector Machines)是用来解决两分类问题的,直接用SVMs实现多分类是不行的,只能使用下面这些间接的方法:
(1)1-v-r,即对于每一个分类,训练一个该分类和其他分类的分类器,如对于类k,k是一类,所有其他的是另一类,这样就需要训练k个分类器。对未知样本分类时,哪个分类器的函数值最大,就属于哪一个类。
(2)1-v-1,对于每两个类之间都训练一个分类器,如果有n个类,就需要n(n-1)/2个分类器。对未知样本分类时,一次用这n(n-1)/2个分类器分类,属于一个类就+1,最后得分最高的是哪个类,就作为最终的分类结果。
(3)有向无环图(DAG),和1-v-1类似,也需要训练n(n-1)/2个分类器,区别就在于这些分类器构成了一个有向无环图,对未知样本分类时,减少了用来判断的分类器的数量,但是仍然需要训练n(n-1)/2个分类器。
(4)纠错编码。
(5)层次SVMs。
(4)和(5)也是很复杂的,总之用SVMs来实现多分类是很复杂的。