机器学习之多分类学习

一、问题描述

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

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

原文地址:https://www.cnblogs.com/liuys635/p/11183594.html

时间: 2024-08-18 08:15:39

机器学习之多分类学习的相关文章

【机器学习算法应用和学习_2_理论篇】2.2 M_分类_逻辑回归

一.原理阐述 算法类型:监督学习_分类算法 输入:数值型或标称型(标称型需要独热编码) V1.0 用回归方式解决二分类问题,通过引入一个Sigmoid函数将中间y值映射到实际二分类的y值上. 二.算法选择 三.算法过程 1.Sigmoid函数是一个x值域是(-∞,+∞),y值域是(0,1)的单调递增函数: 2.预测y值>0.5为1类,<0.5为0类,y值也可以解释为为1和0类的概率: 3.同样使用“最小二乘”概念,求得最佳方程,得到目标函数: 4.要使得目标函数达到最小,需要采用一种称为“梯度

机器学习-李航-统计学习方法学习笔记之感知机(2)

在机器学习-李航-统计学习方法学习笔记之感知机(1)中我们已经知道感知机的建模和其几何意义.相关推导也做了明确的推导.有了数学建模.我们要对模型进行计算. 感知机学习的目的是求的是一个能将正实例和负实例完全分开的分离超平面.也就是去求感知机模型中的参数w和b.学习策略也就是求解途径就是定义个经验损失函数,并将损失函数极小化.我们这儿采用的学习策略是求所有误分类点到超平面S的总距离.假设超平面s的误分类点集合为M,那么所有误分类点到超平面S的总距离为 显然损失函数L(w,b)是非负的,如果没有误分

机器学习常见算法分类汇总

机器学习常见算法分类汇总 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里 IT 经理网为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的.这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性. 学习方式 根据数据类型的不同,对一个问题的建模有不同的方式.在机器学习或者人工智能领域,人们首先会考虑算法的学习

机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室Jurgen Schmidhuber写的最新版本

机器学习的最佳入门学习资源

Programming Libraries 编程库资源 我是一个“学习要敢于冒险和尝试”观念的倡导者.这是我学习编程的方式,我相信很多人也是这样学习程序设计的.先了解你的能力极限,然后去拓展你的能力.如果你了解如何编程,可以将编程经验很快借鉴到深入学习机器学习上.在你实现一个实际的产品系统之前,你必须遵循一些规则.学习相关数学知识. 找到一个库并且仔细阅读相关文档,根据教程,开始尝试实现一些东西.下面列出的是开源的机器学习库中最好的几种.我认为,并不是他们中的每一种都适合用在你的系统中,但是他们

机器学习(Machine Learning)&amp;深入学习(Deep Learning)资料

<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室 Jurgen Schmidhuber 写的最新版本<神经网络与深度学习综述>本综述的特点是以时间排序,从 1940 年开始讲起,到

【机器学习基础】机器学习算法的分类——关于如何选择机器学习算法和适用解决的问题

引子 系统的学习机器学习课程让我觉得受益匪浅,有些基础问题的认识我觉得是非常有必要的,比如机器学习算法的类别. 为什么这么说呢?我承认,作为初学者,可能无法在初期对一个学习的对象有全面而清晰的理解和审视,但是,对一些关键概念有一个初步并且较为清晰的认识,有助于让我们把握对问题的认识层次,说白了,就是帮助我们有目的的去学习心得知识,带着问题去学习,充满对解决问题的动力去实验,我觉得这种方式是有益并且良性的. 之前,我遇到过很多这方面的问题,可能出于对问题分析不够,在寻找解决的问题的方法或者模型的时

文本分类学习 (七)支持向量机SVM 的前奏 结构风险最小化和VC维度理论

前言: 经历过文本的特征提取,使用LibSvm工具包进行了测试,Svm算法的效果还是很好的.于是开始逐一的去了解SVM的原理. SVM 是在建立在结构风险最小化和VC维理论的基础上.所以这篇只介绍关于SVM的理论基础. 目录: 文本分类学习(一)开篇 文本分类学习(二)文本表示 文本分类学习(三)特征权重(TF/IDF)和特征提取        文本分类学习(四)特征选择之卡方检验 文本分类学习(五)机器学习SVM的前奏-特征提取(卡方检验续集) 文本分类学习(六)AdaBoost和SVM(残)

机器学习 - 3 - 线性分类

机器学习 - 3 - 线性分类 符号约定 贝叶斯分类器 基于最小错误率的决策 符号约定: 样本 $ \bold{x} \in R^d$ 状态(类) \(w = {w_1,w_2,\dots}\) 先验概率 \(P(w_1),P(w_2)\) 样本分布密度 \(p(x)\) 类条件概率密度 \(p(\bold{x}|w_1),p(\bold{x}|w_2)\) 后验概率 \(P(w_1|\bold{x}),P(w_2|\bold{x})\) 错误概率 \[P(e|\bold{x})\lbrace_