最初提出SVM方法是针对二类分类问题的,但是它可以很方便地扩展到多类问题的划分中。
一般多类支持向量机分类有如下两种方法:
①通过某种方式构造一系列的二类分类器并将它们组合在一起来实现多分类;
②将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题一次性实现多类分类。
第二种方法看起来简洁,但是它在多类中要解决更大规模的二次优化问题,在求解精度和分类时间上相比于第一种方法都不占优势。实际常用的SVM多类别分类是第一种方法,其中二类别的分类器组合有一对一、一对多和多对多3种组合方法。
(1)一对一方法需构造所有可能的二类分类器,如针对N类问题需构造从N(N-1)/2个分类器。待分类样本通过所有的分类器分类,最后通过投票表决决定样本的归属。该方法的特点是分类器数量多,计算量比较大,且存在混分样本(即产生多义性的样本,一个样本被分成多类)问题。
(2)一对多方法是用一类和剩下其他所有类判别分类,针对N类分类问题只需构造N个二类分类器,如第i个分类器将第i个类中的训练样本作为正的训练样本,而将其他的训练样本作为负的训练样本,待分类样本通过所有的分类器分类,找出属于正类的一个,就是分类结果。这种方法相对分类器数目少,结构比较简单且达到同样多类别分类效果,缺点就是存在混分和漏分样本问题。
(3)多对多分类主要有决策树算法。先把多类划为两大类,再在两类中继续往下划分,直到最后的一对一类判别。这种方法虽然未出现混分或漏分样本,N类别分类只需要构造N-1个分类器,分类效率也高,但是不同的决策树导致分类结果也不同,不具有很好的推广性。