基本的支持向量机时一个两类分类器。然而在实际应用中,我们经常要处理涉及到$$ K > 2 $$个类别的问题。于是,将多个两类SVM组合构造多类分类器的方法被提出来。
一种常用的方法(Vapnik, 1998)是构建$$ K
做预测,来解决。不幸的是,这种启发式的方法会产生:不同的分类器是在不同的任务上进行训练的,无法保证不同分类器产生的实数值$$ y_k(x) $$具有恰当的标度的问题。
“1对剩余”方法的另一个问题是训练集合不平衡。例如,如果我们有$$ 10
Weston and Watkins(1999)定义了一个单一目标函数用来同时训练所有的$$ K
另一种方法是在所有可能的类别对之间训练$$ K(K−1) / 2
后一个问题可以通过将每对分类器组织成有向无环图(不要与概率图模型弄混淆)的方式解决,这就产生了DAGSVM(Platt et al., 2000)。对于$$ K
Dietterich and Bakiri(1995)提出了一种不同的方法解决多分类问题。这种方法基于的是误差-修正输出编码,并且被Allwein et al.(2000)用到支持向量机中。这种方法可以被看做“1对1”投票方法的一个推广。这种方法中,用来训练各个分类器的类别划分的方式更加一般。$$ K $$个类别本身被表示为选定的两类分类器产生的响应的集合。结合一套合适的解码方法,这种方法对于错误以及各个分类器的输出的歧义性具有鲁棒性。虽然将SVM用于多分类问题仍然是一个没有标准答案的问题,但是在实际应用中,“1对剩余”是被最广泛使用的方法,尽管它有特定的形式,并且有着实际应用的局限性。
也存在单一类别(single-class)支持向量机,它解决与概率密度估计相关的无监督学习问题。但是,这种方法不是用来对数据的概率密度建模,而是想找到一个光滑的边界将高密度的区域包围起来。边界用来表示概率密度的等分点,即从概率密度分布中抽取的一个数据点落在某个区域的概率由一个0到1之间的固定的数给出,这个数事先指定好。与进行整体的密度估计相比,这个问题更加受限,但是对于某些具体的应用已经足够了。关于使用支持向量机解决这个问题,已经有两种方法被提出来。Scholkopf
et al.(2001)的算法尝试找到一个超平面,将训练数据中的固定比例$$ v