机器学习之多分类学习

一、问题描述

       现实中常遇到多分类学习任务,有些二分类学习方法可直接推广到多分类,但在更多情况下,我们是基于一些基本策略,利用二分类学习器来解决多分类问题。

假设有N个类别C1,C2,......,CN,多分类学习的基本思路是“拆解法”,即将多分类任务拆分为若干个二分类任务求解。具体来说,先对问题进行拆分,然后为拆出

的每个二分类任务训练一个分类器。在测试的时候,对这些分类器的预测结果进行集成以获得最终的多分类结果。因此,如何对多分类任务进行拆分是关键。这里

主演介绍三种经典的拆分策略:一对一(One vs One,简称OvO),一对其余(One vs Rest,简称OvR),多对多(Mnay vs Many,简称MvM)。

二、拆分策略

      给定数据集D={(x1,y1),(x2,y2),......,(xm,ym)},yi属于{C1,C2,......,CN}

1、OvO策略

     OvO将N个类别两两配对,从而产生N(N-1)/2个二分类任务,例如OvO将为区分类别Ci,Cj训练一个分类器,该分类器把D中的Ci类样例作为正例,Cj类样例作为反

例。在测试阶段,新样本将同时提交给所有分类器,于是我们将得到N(N-1)/2个分类结果,最终结果可以通过投票产生。示例图如图1所示。

2、OvR策略

    OvR则是每次将一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器,在测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结

果,示例图如图1所示。

                                                                  图1,OvO和OvR示意图

3、MvM策略

       MvM则是每次将若干个类作为正类,若干个其它类作为反类。显然OvO和OvR是她的特例。显然MvM的正、反类构造必须有特殊的设计,不能随意选取。这里介绍一种

最常用的MvM技术:纠错输出码(ECOC)。

ECOC是将编码的思想引入类别拆分,并尽可能在解码的过程中具有容错性。ECOC工作过程主要分为两步:

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

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

猜你喜欢

转载自www.cnblogs.com/liuys635/p/11183594.html