多分类学习—多分类问题的基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。常见的拆分策略由三种:“一对一(OvO)”、“一对其余(OvR)”和“多对多(MvM)”。

OvO是把要划分的N个类别两两配对,从而产生N(N-1)/2个二分类任务,每一个二分类任务都有一个分类器,最终结果可通过投票产生:即把预测得最多得类别作为最终分类结果

OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。若一个样例被多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为最终分类结果。

容易看出,OvR只需训练N个分类器,而OvO需训练N(N-1)/2个分类器,因此,OvO的存储开销和训练时间通常比OvR更大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此在类别很多时,OvO的训练时间通常比OvR更小。

MvM是每次将若干个类作为正类,若干个其他类作为反类。它的正反类构造必须有特殊的设计,不能随意选取。“纠错输出码(ECOC)”是其常用的一种技术:

· 编码:对N个类别做M次划分,每次划分将一部分类别化为正类,一部分化为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出M个分类器。

· 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别最为最终预测结果。

更多推荐