zoukankan      html  css  js  c++  java
  • 机器学习之多分类学习

    一、问题描述

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

    假设有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个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个与此编码与每个类别各自的编码进行比较,返回其中距离最小的类别最为最终预测结果。

  • 相关阅读:
    编程基础——c 选择结构程序设计个人总结实例
    编程基础C——常量,变量,运算符个人总结
    编程基础C——格式化输入函数scanf的应用
    编程基础C——基本数据类型个人总结:
    django-base
    django-mvc
    OSI七层与TCP/IP五层网络架构详解
    tcp/ip三次握手及四次挥手
    网页浏览过程
    http协议
  • 原文地址:https://www.cnblogs.com/liuys635/p/11183594.html
Copyright © 2011-2022 走看看