如何用二分类学习器解决多分类问题

机器学习|对数几率回归|笔记 机器学习|对数几率回归 阅读详情
AI摘要

本文深入探讨了多分类问题的三种核心策略:一对一(OvO)、一对其余(OvR)及多对多(MvM),包括它们的训练与测试过程、优缺点对比,以及纠错输出码(ECOC)在MvM中的应用。

使用二分类学习器解决多分类问题的基本思路是“拆解法”,也就是将多分类任务拆分成多个二分类任务求解。这里主要介绍如何对多分类任务进行拆分,以及对拆分的多个分类器进行集成。

主要有三种拆分策略:“一对一”(One vs One,简称OvO)、“一对其余”(One vs Rest,简称OvR)和“多对多”(Many vs Many,简称MvM).

一、“一对一”(OvO)

假设要对N个类别进行分类。OvO将这N个类别两两配对,所以一共产生\frac{N(N-1)}{2}个二分类任务,对应\frac{N(N-1)}{2}个分类器。

  • 训练阶段:按照正常的二分类算法进行训练
  • 测试阶段:新样本同时提交给所有分类器,于是我们得到\frac{N(N-1)}{2}个分类结果,最终的结果可用过投票产生:即把被预测得到最多的类别作为最终分类结果。

例:对四个类别进行分类,A、B、C、D。

训练阶段产生6个分类器:

测试阶段,若测试的结果为:

f1(x) = A、f2(x) = C、f3(x) = A、f4(x) = C、f5(x) = D、f6(x) = C

有3个分类器的结果都为C,所以就把C作为最终的结果。可以看出一对一训练的分类器多,所以训练的速度会比较慢。

二、“一对其余”(OvR)

OvR是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。在测试时:

  • 若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果;
  • 若有多个分类器预测为正类,则通常考虑各个分类器的预测置信度,选择置信度最大的类别标记作为最终结果。

同样还是以上面的问题为例,产生4个分类器:

测试阶段:

f1(x) = -1、f2(x) = -1、f3(x) = +1、f4(x) = -1

所以x属于C类。


比较OvR和OvO:

可以发现,OvR训练的是N个分类器,而OvO训练的是\frac{N(N-1)}{2}个分类器。因此OvR的存储开销和测试时间都比OvO小。但是,从训练时每个学习器使用的样本数来看:OvR每个学习器使用了所有的样本,而OvO的每个学习器只用到两个类别的样本。因此在类别很多时,OvO的训练时间往往会比OvR小。

对于预测性能取决于数据的分布,在多数情形下差别不大.

三、“多对多”(MvM)

MvM是每次将若干个类作为正类,若干个其他类作为反类。可以看出MvM是OvR和OvO更一般的形式。

对于MvM正、反类的构造一种常用的技术是“纠错输出码”(Error Correcting Output Codes,简称ECOC).主要分为两步:

  • 编码:对N个类别做M次划分,每次划分将一部分类别划分为正类,一部分类别划分为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出M个分类器。
  • 解码:测试时,M个分类器分别对测试样本x进行预测,这样预测的结果就形成了一个编码。将这个编码与每个类别各自的编码进行比较,找到距离最短的类别作为最终分类的结果。

还是以上面问题为例,假定M=5。训练结果如下:

测试阶段:

f1(x) = -1、f2(x) = -1、f3(x) = +1、f4(x) = -1、f5(x) = +1

所以测试样本的编码为(-1,-1,+1,-1,+1),到A、B、C、D对应编码的欧式距离为2\sqrt{3}, 4, 2, 2\sqrt{2}。比较发现距离C类最近,所以预测的结果就是C类。

       之所以称为纠错输出码,是因为在测试阶段,即使某个分类器预测错了,但是距离可能还是最小的。例如上面的测试样本正确的编码为(-1,+1,+1,-1,+1)也就是f2出错,但是还是能产生正确的分类C。

       一般来说,对于同一个学习任务,ECOC编码越长,纠错能力越强。但是,这意味着所需要的分类器就越多,开销就越大;另一方面,对有限类别数,可能的组合数目是有限的,码长超过一定的范围后就失去了意义。


参考资料:周志华老师《机器学习》

多分类神经网络原理 一. 线性多分类问题 1 提出问题 我们解决了公元前的楚汉相争的问题,现在看一下公元220年前后的三国问题。 在数据集中一共有140个样本数据, 分类标签值的含义: 1.魏国城池:标签为1,下图中蓝色点 2.蜀国城池:标签为2,下图中红色点 3.吴国城池:标签为3,下图中绿色点 问题: 1.经纬度相对值为(5,1)时,属于哪个国? 2.经纬度相对值为(7,6)时,属于哪个国? 3.经纬度相对值为(5,6)时,属于哪个国? 4.经纬度相对值为(2,7)时,属于哪个国? 2 多分类学习策略 阅读详情

相关推荐

[机器学习] 逻辑回归2——多分类问题和过拟合问题

补充点上一篇博客没有提到的知识点 多分类学习 现实生活中常遇到很多多分类学习任务,有些二分类学习方法可以直接推广到多分类,但在现实更多情形下,我们是基于一些策略,利用二分类学习器来解决多分类问题。 利用二分类学习器进行的多分类学习可以分为三种策略: 一对一 (One vs One) 一对其余 (One vs Rest) 多对多 (Many vs Many) 一对一 (One vs...

四月晴 9752

机器学习笔记(二):第三章 线性模型

这章节主要涉及以下内容: 线性回归(line regression) 线性回归试图学得 f=wx+b,使得f=y 基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。 对数几率回归(logit regression) ​​​​​​​这是一种分类学习方法 这种方法的优点1:直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题。 优点2:不仅预测出“类.

LuoMin2523的博客 1362

工业缺陷检测深度学习方法综述

异常:点异常、 上下文异常和集群异常。点异常:又称为离群值 (outliers)[9], 描述数值上偏离正 常样本的独立数据。与异常相近的概念还包括新颖点(novelty)和分布外数据。上下文异常:同样描述数据点,其数值属于正常范围,但不符合局部上下文规律。集群异常:描述一系列相关数据的集合,集合中的每一个实例的数值在单独考察时都处于正常值域,但集 合整体的相关性特征不服从正常模式。一般的图像异常检测往往仅需区分正常与异常样本,而工业缺陷检测更关注于检测 图像中的异常像素.

2301_80355452的博客 1843

多分类问题的处理策略和评估手段

多分类问题基本都是建立在二分类问题基础之上的,简单说就是:将多分类问题拆解成多个二分类问题去解决,具体来说,通常有两种策略:One-Versus-The-Rest (OvR) 也叫 One-Versus-All(OvA):即每一个类别和所有其他类别做一次二分类,全部类别都做完后,就等于实现了多分类。一个有N种分类的问题使用此策略需要进行N次二分类处理 One-Versus-One(OvO)即每一个类别都和另一个类比做一次1V1的二分类,全部类别

Laurence的技术博客 3202

解决 PyInstaller 与 `pathlib` 包不兼容的问题

为了避免 PyInstaller 和pathlib包的兼容性问题,最简单的解决办法就是卸载不必要的pathlib包。只需在命令行中运行卸载命令,然后重新打包即可。

Winfredzhang的博客 3225

电机转矩、功率与转速:核心关系、公式推导与工程应用指南

在电气传动与自动化控制领域,理解旋转机械的核心物理量是进行设备选型、系统设计和故障诊断的基础。转矩、功率和转速构成了描述电机性能的“铁三角”,它们之间通过经典的物理公式紧密关联。从原理上讲,功率是单位时间内做功的能力,转矩是产生旋转运动的力矩,而转速则决定了运动快慢。这三者的关系(P = T × n / 9550)不仅是理论核心,更是工程实践中的关键计算工具,直接关系到电机的驱动能力、能耗与系统匹配。其技术价值在于,它为从微型伺服电机到大型工业传动系统的设计提供了统一的量化分析框架。在应用场景上,无论是为输

weixin_29184371的博客 258

【机器学习】模型评估

​ 一般情况来说,单一评分标准无法完全评估一个机器学习模型。只用good和bad偏离真实场景去评估某个模型,都是一种欠妥的评估方式。下面介绍常用的分类模型和回归模型评估方法。分类模型常用评估方法:回归模型常用评估方法:在机器学习中,Bias(偏差),Error(误差),和Variance(方差)存在以下区别和联系:**对于Error **:误差(error):一般地,我们把学习器的实际预测输出与样本的真是输出之间的差异称为“误差”。Error = Bias + Variance + Noise,Error反

sikh_0529的博客 1万+

【unity实战】Unity2D TileMap的探究(最简单,最全面的TileMap使用介绍)

之前有人在微信上找我,问了TileMap相关的知识【unity实战】随机地下城生成2——绘制地图Tilemap的使用及一些技巧的使用(含源码)不过写的不是特别不是特别细致,只是简单的用了一下,所有这次特地打算单独写一篇文章,来介绍一下,下次还有人问我,我直接就把这篇文章丢给他,完美!Unity的Tilemap 一般称之为瓦片地图或者平铺地图,是 Unity2017 中新增的功能,主要用于快速编辑 2D 游戏中的场景,通过复用资源的形式提升地图多样性。Tilemap是一个用于创建2D地图的工具。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

二分类模型来解决多分类问题

One-vs-Rest,也称为 One-vs-All,是将多分类问题分解为多个二分类问题的一种方法。对于有 ( N ) 个类别的多分类问题,OvR策略会创建 ( N ) 个二分类模型,每个模型负责将一个类别与其它所有类别区分开来。Error-Correcting Output Codes是一种更复杂的策略,它通过创建多个二分类器,并将多类标签编码为二进制串来工作。One-vs-One策略是另一种解决多分类问题的方法,它通过在每对类别间训练一个二分类模型来工作。个类别的问题,会训练。

bulling的博客 1182

实战:RK3568 Android14 点亮 LVDS 屏幕

4组数据 (D0~D3) + 1组时钟 (CLK)。最大支持 1280x800 @ 60Hz。8组数据 (Even03, Odd03) + 2组时钟。支持 1080P 及以上。/ {/* 背光与电源 *//** 关键配置:数据格式映射* 可选值: "jeida-18", "jeida-24", "vesa-24"* 6位屏选 xx-18, 8位屏选 xx-24* 颜色不对(偏色/底片效果)就换 VESA <-> JEIDA*/

qq_33427070的博客 1165

《C#零基础入门之百识百例》(七十一)委托介绍 -- 战士升级示例

委托的存在是因为,我们有时候需要将一个函数作为另一个函数的参数,这时就要用的委托(Delegate)机制。委托用关键字`delegate`声明,他实际上定义了一种“函数类型”,明确规定了函数参数类型和返回值类型。

陈言必行 -- Unity游戏开发领域优质博主 2111

二分类器解决多分类问题

两种思路: 以SVM为例 1.one-versus-rest 思想: 假设一共有1,2,3,4,5个类别的数据 对于第1类,训练一个分类器:第1类是正样本,其余类的样本都是负样本 对于第2类,训练一个分类器:第2类是正样本,其余类的样本都是负样本 以此类推,一共训练出五个分类器 在预测阶段,对于输入的待分类样本,分别从第一个分类器开始询问是否属于该类别,该分类器“承认”,就将该样本...

u012370185的博客 8464

AUTOSAR-WdgM篇

Wdg通常有两种:一种是芯片内部自带的片内看门狗,另一种是在芯片外部通过SPI这种接口连接的片外看门狗。MCAL只负责常用的有MCU内部看门狗,片内看门狗的特点是Wdg模块是直接访问相关硬件寄存器。内部看门狗依赖于系统时钟片外看门狗属于设备抽象层负责,通常需要使用MCAL提供的其他模块(比如SPI,DIO,PWM等)来访问/控制外扩看门狗芯片。这种不能直接访问硬件寄存器。Wdg Driver:有三种模式slow mode,fast mode ,off mode。

qq_329563867的博客 5830

机器学习之用二分类学习器解决多分类问题

利用二分类学习器解决多分类问题 拆分策略 (1)一对一 拆分阶段,N个类两两配对,共N(N-1)/2个二类任务,学习N(N-1)/2个二分类器。 测试阶段,首先将待测样本提交给所有二分类器预测,得到N(N-1)/2个分类结果,然后投票产生最终的分类结果。即被预测最多的类标记作为最终的分类结果。 (2)一对其余 拆分阶段,分别将原始的N个类别中某一类作为正例,其余类作为反例,学习N个二类分类器 测试阶段,将待测样本提交给所有的分类器预测,得到N个分类结果。若仅有一个分类器预测为正类,则对应类别为最终的分类结果

fxqwgdddg123的博客 2303

发那科机器人karel程序

备份和查看发那科机器人中的 Karel 程序的过程主要包括从示教器中备份程序,并通过 RoboGuide 等仿真软件查看和运行程序。步骤相对简单,但需要确保你的设备和软件已经设置好,可以通过 FTP 或直接从示教器的外部存储设备进行操作。如果你在操作过程中遇到问题,建议查阅相关的用户手册或联系发那科的技术支持,确保设备设置正确。如果你有更具体的问题或需要进一步帮助,欢迎继续提问!希望如上措施及解决方案能够帮到有需要的你。

**My Coding Family** 1602

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[DataAnalysis]机器学习中如何用二分类学习器解决多分类问题

一、问题概述 考虑个类别。多分类问题的基本思路是“拆解法”,将多分类任务拆为若干个二分类任务求解。经典的拆分策略有三种:一对多、一对其余和多对多。 二、拆分方法 1、 将个类别两两配对,形成个二分类任务。在测试阶段,新样本被提交给所有二分类器,然后我们将得到个分类结果,最终结果可通过投票产生:即把被预测得最多的类别作为最终分类结果。 2、 将一个类的样例作为正例,其他所有类的样例最为反...

TOMACAT的博客 3万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

多分类学习问题的解决方法

基本思路 利用二分类学习器解决多分类问题。考虑N个类别C1,C2,...,CNN个类别C_1,C_2,...,C_N,多分类学习的基本思路是“拆解法”,即将多分类问题拆分,然后为拆出的每个二分类任务训练一个分类器;在测试的时候,对每个分类器的预测结果进行集成,然后获得多分类结果。 具体方法 拆分策略:“一对一”(OvO),“一对其余”(OvR),“多对多”(MvM) 对给定的数据集D=(x

loveitlovelife的博客 2574

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

机器学习笔记16-GBDT算法

梯度提升树算法 前面一节我们提到了AdaBoost算法,AdaBoost算法可以解决分类问题,通过计算模型每次更新后的误差率,对数据和模型的权重alpha进行更新。但对于回归问题,我们就需要使用提升树、梯度提升树算法。梯度提升树与提升树的区别在于,提升树采用残差,而梯度提升树采取拟合当前模型损失函数的负梯度(在损失函数为均方误差的时候,相当于就是残差,其它误差函数不一定就是残差),来生成一个新的...

intricate_的博客 235

第3章 线性模型

多分类学习中虽然有多个类别,但每个样本仅属于一个类别.如果希望为一个样本同时预测出多个类别标记,例如一幅图像可同时标注为“蓝天”、“白云”、“羊群”、“自然场景”,这样的任务就不再是多分类学习,而是“线性判别分析(简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由[Fisher, 1936]提出,亦称“Fisher判别分析”。多分类LDA可以有多种实现方式,若将W视为一个投影矩阵,则多分类LDA将样本投影到N-1维空间,N-1通常远小于数据原有的属性数,于是。作为回归任务中最常用的性能度量。

a131529的博客 858

第三章 线性模型

3.1基本形式 d个属性,d个权重,一个常数项b 3.2 线性回归 线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。 求解w和b称为线性回归模型的最小二乘参数估计。 多元线性回归 对数线性回归 广义线性模型 3.3对数几率回归 二分类问题 3.4线性判别分析 二分类问题 3.5多分类学习 利用二分类学习器解决多分类问题 ...

m0_62070382的博客 816

机器学习——线性模型

线性模型 线性模型试图学得一个通过属性的线性组合来进行预测的函数。形如: 1、线性回归 2、多分类学习 3、逻辑回归(LR) 4、类别不均衡问题 一、线性回归 讲解线性回归之前,先要了解回归和分类的区别,简单来说,回归要做的就是一个连续的预测值,分类是一个离散的预测值。线性回归试图学的一个线性模型以尽可能准确地预测。 对于单变量线性回归 输入的属性值为只有一个,则函数为F...

weixin_30372371的博客 129

机器学习第三章线性模型

在测试阶段,新样本将同时提交给所有分类器,于是我们会得到N(N-1)/2个结果,最终结果可通过投票产生,即把被预测的最多的类别作为最终的分类结果。一对多策略:每次见一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器,在测试时若仅有一个分类器预测为正类,则对应的类别标记便是最终的分类结果,如果有多个分类器预测为正类,则同常考虑个分类器的预测置信度,选择置信度最大的类别标记作为分类结果。如果给定数据集D中包含M个样本,对应有N个类别,请分析一对一和一对多策略的特点。11、给出线性模型的基本形式。

软肋.的博客 330

机器学习6-多分类学习器拆分策略

机器学习中多分类学习的经典拆分策略:OvO、OvR、MvM

Aaron的博客 3390

基于梯度提升树GBDT的二分类及多分类公式推导

GBDT(Gradient Boosting Decision Tree),中文名为梯度提升决策树,属于集成学习的一种,由多个弱学习器组合成强学习器,每个弱学习器为一颗二叉决策树,每一颗树会拟合前面所有树的组合带来的残差,这个残差可以负梯度(即损失函数对目标值导)、也可以是目标值与真实值之间的差距,如果是分类问题,一般是去逆合负梯度方向,如果是回归问题,一般是去拟合目标值与真实值之间的差距。本篇我们主要探讨分类问题。 二分类: 我们将每一颗树用小表示,将所有树的集成用大表示,假设当前求出了M颗树,则

weixin_41558411的博客 1478

从二分类到多分类

从二分类到多分类,实际采用的是拆解法思想:将多分类问题拆分成许多二分类问题,为每一个二分类问题训练一个分类器。测试时,对这些分类器的结果进行集成,得到最终预测结果。 根据拆分策略不同,分为以下三类: 一对一(One vs. One, OvO) 训练:将N个类别两两配对,产生N(N−1)/2个二分类任务,每个任务使用一个二分类学习器进行学习; 测试:多个二分类学习器预测得到结果中,...

weixin_30920597的博客 526

多分类器算法的思想

一. 基本思想 在之前的博客中,我们讨论了逻辑回归模型(Logistic Regression)解决分类问题。但是我们发现,逻辑回归模型解决的是二分问题。但是在现实情境下,我们的训练集往往包含多个类,那我们可不可以把把多分类问题转化为二分类问题呢?答案是肯定的。多分类问题的基本思想就是,将多分类任务拆解为若干个二分类任务求解。 二. 拆分策略 假设样本数据中有N个类别。 1. 一对一拆分(...

菜的不行的IT民工 2126
上一篇: pytorch利用多个GPU并行计算
下一篇: pytorch不同层指定不同的学习率
Answerlzd
博客等级 码龄9年 67粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值