多分类学习

多分类学习

  面对多分类问题,可以直接把二分类学习方法推广到多分类。其基本思路就是“拆解法”,即将多分类任务 拆成多个二分类问题求解,然后为每一个二分类问题训练一个分类器,在测试时,对这些分类器的预测结果进行集成从而获得最终的多分类结果。

  拆分策略

  “一对一”:One vs One,简称OvO

  “一对多”:One vs Rest ,简称OvR

  “多对多”:Many vs Many,简称MvM

  给定数据集 D = {(Xl ,Y1) , (X2 , 但), . . . ,但如 Ym)} , Yi ε {C1 , C2 ,..., CN}. OvO 将这 N 个类别两两配对,从而产生 N(N 一 1)/2 个三分类任务,例如 OvO将为区分类别 Q 和 Cj 训练 个分类器,该分类器把 D 中的 Q 类样例作为正例 , Cj 类样例作为反例.在测试阶段,新样本将同时提交给所有分类器,于是我们将得到 N(N -1)/2 个分类结果,最终结果可通过投票产生:即把被预测得最多的类别作为最终分类结果.

  OvR 则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练 N 个分类器.在测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果?如图 3.4 所示.若有多个分类器预测为正类7 则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果.

  容易看出, OvR 只需训练 N 个分类器, 而 OvO 需训练 N(N - 1)/2 个分类器, 因此, OvO 的存储开销和测试时间开销通常比 OvR 更大. 但在训练时,OvR 的每个分类器均使用全部训练样例,而 OvO 的每个分类器仅用到两个类的样例,因此,在类别很多时, . OvO 的训练时间开销通常比 OvR 更小. 至于预测性能, 则取决于具体的数据分布, 在多数情形下两者差不多.MvM 是每次将若干个类作为正类,若干个其他类作为反类.显然, OvO 和OvR 是 MvM 的特例. MvM 的正、反类构造必须有特殊的设计,不能随意选取.这里我们介绍一种最常用的 MvM 技术"纠错输出码" (Error Correcting Output Codes ,简称 ECOC).

 

posted @ 2018-08-03 14:40  我不是小鲁班  阅读(812)  评论(0编辑  收藏  举报