怎么样把两类的分类的模型推广到多类上?
答:
a.一对多法(one-versus-rest,简称OVR SVMs)。训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
b.一对一法(one-versus-one,简称OVO SVMs或者pairwise)。其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。Libsvm中的多类分类就是根据这个方法实现的。
c.层次支持向量机(H-SVMs)。层次分类法首先将所有类别分成两个子类,再将子类进一步划分成两个次级子类,如此循环,直到得到一个单独的类别为止.
如现在有三个分类 1, 2, 3 ==> 1 vs 2, 3
2 vs 3
七个分类 1, 2, 3, 4,5, 6, 7
1, 2, 3, | 4, 5, 6, 7
1, || 2, 3 | 4, 5 ||| 6, 7
2||||4 4|||||5 6||||||7