热线电话:13121318867

登录
2020-06-28 阅读量: 1603
多分类问题中的OvO、OvR、MvM是什么?

多分类学习的基本思路是“拆解法”,即将多分类任务拆分成若干个二分类任务求解。考虑n个类别,C1,C2, C3,…, Cn,给定数据集D={(x1,y1), (x2,y2), (x3,y3),…, (xm,ym)},yi∈{C1,C2,C3,…,Cn}

OvR(一对其余)

  每次将一个类作为正例,其余n-1个类作为反例。可训练出n个分类器,在测试时,若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果。若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择预测置信度最大的类别标记作为分类结果。

image.png

即每次把其中一类标签看作1, 其余所有的标签看作0, 就构建了一个逻辑回归分类器。按照这种思想如果y的取值一共是k类, 则最终能够构造k个二分类逻辑回归。以上面的图为例, y有三类, 蓝 绿 黄, 于是我们构建了三个二分类逻辑回归。如果新来一个样本, 我们用三个二分类逻辑回归取对他进行预测, 就可以得到, 这个样本属于每个类别的概率, 那么哪个概率大,我们就认为该样本属于哪个类别!

类别多时,OvO的训练时间开销通常比OvR小。

MvM(多对多)

  每次将若干个类作为正类,若干个其他类作为反类。显然,OvO,OvR是MvM的特例。

  MvM的正、反类构造须有特殊的设计,不能随意选取。最常用的MvM技术:“纠错输出码”(ECOC),将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性。

  ECOC主要分为两步:

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

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

OvO(一对一)

如果模型有T类,我们每次在所有的T类样本里面选择两类样本出来,不妨记为T1类和T2类,把所有的输出为T1和T2的样本放在一起,把T1作为正例,T2作为负例,进行二元逻辑回归,得到模型参数。则我们总共将建立k=T(T- 1)/2个逻辑回归分类器。每个分类器输出的就是属于哪个类, 最后统计哪个类得票最多, 则该样本属于哪个类!


19.6682
2
关注作者
收藏
评论(0)

发表评论

暂无数据