当前位置: 首页 > news >正文

详细介绍:学习笔记十:多分类学习

1. 基本概念

1.1 多分类学习问题

问题背景

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

核心思想

多分类学习的基本思路是拆解法(decomposition method),即将多分类任务拆解为若干个二分类任务求解。具体来说:

  1. 先对问题进行拆分
  2. 然后为拆出的每个二分类任务训练一个分类器
  3. 在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果

关键问题

1.2 拆解策略

三种经典策略

  • 一对一(One vs. One,简称OvO)
  • 一对其余(One vs. Rest,简称OvR)
  • 多对多(Many vs. Many,简称MvM)

2. 多分类学习方法

2.1 一对一(OvO)

方法

给定数据集 D = {(x₁, y₁), (x₂, y₂), ..., (xₘ, yₘ)},其中 yᵢ ∈ {C₁, C₂, ..., Cₙ}

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

测试阶段

在测试时,新样本将同时提交给所有 N(N-1)/2 个分类器,于是我们将得到 N(N-1)/2 个分类结果,最终结果可通过投票产生:把被预测得最多的类别作为最终分类结果。

特点

  • 分类器数量:需要训练 N(N-1)/2 个分类器
  • 存储和测试开销:一般比OvR大
  • 训练开销:OvO的每个分类器只用到两个类的样例,而OvR的每个分类器需用到所有训练样例。因此,当类别数很多时,OvO的训练开销通常比OvR小
  • 预测性能:预测性能取决于数据分布,但在多数情况下两者差不多

2.2 一对其余(OvR)

方法

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

测试阶段

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

特点

2.3 多对多(MvM)

方法

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

关键问题

MvM的正、反类构造必须有特殊的设计,不能随意选取。

常用技术

纠错输出码(Error Correcting Output Codes,简称ECOC)是一种最常用的MvM技术。

2.4 纠错输出码(ECOC)

基本思想

ECOC将编码的思想引入类别拆分,并让它在解码过程中具有容错性。

编码阶段

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

解码阶段

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

编码矩阵

类别划分通过编码矩阵(coding matrix)指定。编码矩阵有两种常见形式:

为什么叫"纠错输出码"?

在测试阶段,ECOC编码对分类器的错误有一定的容忍和修正能力。例如,即使某个分类器预测错误,只要其他分类器的预测正确,最终仍可能得到正确的分类结果。

特点

实际考虑

学习问题涉及很多因素,例如将多个类拆解为两个"类别子集",不同拆解方式所形成的两个类别子集的区分难度往往不同。于是,一个理论纠错性质很好、但导致的二分类问题较难的编码,与另一个理论纠错性质差一些、但导致的二分类问题较简单的编码,最终产生的模型性能孰强孰弱很难说。因此,在实际应用中,往往不应该获得理论最优编码,因为非最优编码在实践中往往也能产生足够好的结果。

3. 总结

机器学习中的核心问题。当遇到多分类任务时,通常采用就是多分类学习拆解法,将多分类任务拆解为若干个二分类任务求解。

三种经典拆解策略

  • OvO(一对一):将 N 个类别两两配对,产生 N(N-1)/2 个二分类任务,通过投票决定最终结果
  • OvR(一对其余):每次将一个类作为正例,其余类作为反例,训练 N 个分类器
  • MvM(多对多):每次将若干个类作为正类,若干个其他类作为反类,常用ECOC工艺

方法选择:OvO和OvR在预测性能上通常差不多,但OvO的训练开销通常更小,OvR的存储和测试开销通常更小。ECOC具有纠错能力,但计算开销较大。在实际应用中,应根据具体任务的特点、类别数、样本量等因素选择合适的方法。

http://www.jsqmd.com/news/95022/

相关文章:

  • 终极右键菜单管理指南:ContextMenuManager让你的Windows更高效
  • zsj_蓝桥杯系列python_类与内置类型
  • 【Coze - AI Agent 开发平台】-- 你真的了解 Coze 吗
  • 130_尚硅谷_变量作用域课堂练习
  • Windows家庭版远程桌面终极解决方案:RDP Wrapper完全指南
  • 12.15每日总结
  • 39、安全编程与漏洞利用技术解析
  • GitHub Issue追踪Qwen-Image-Edit-2509已知Bug与修复进度
  • 终极指南:Vite-Vue3-Lowcode可视化开发平台如何让前端开发效率飙升500%
  • git 下载 Qwen3-32B模型时遇到的问题及解决方案
  • 快速验证:用AI生成Druid监控原型参加技术评审
  • LobeChat能否取代微信客服?看看它的智能响应表现
  • zsj_蓝桥系列3python_类与内置类型
  • Ubuntu安装GNOME桌面增强PyTorch开发体验
  • 9 个专科生降重工具,AI 文献综述免费网站推荐
  • 3步搞定!网易云NCM音乐格式转换全攻略
  • 傅里叶变换、拉普拉斯变换、Z 变换的定义及关系
  • 百度网盘直链解析工具:告别限速的终极下载方案
  • brick-design 终极指南:5分钟掌握自定义组件与插件开发全流程
  • 日总结 39
  • 破除大模型神话:4个关键问题揭示AI的真实边界
  • 5分钟构建企业级身份认证系统:Ory Hydra完全指南
  • 智慧树网课加速终极指南:3步实现学习效率翻倍
  • 动态添加Spring的事件监听
  • Maven依赖冲突怎么解决?Jar包冲突排查指南
  • 蜜度携文修大模型亮相人工智能先进技术成果供需对接大会 赋能各行业智能化转型
  • 10 个课堂汇报降重工具,本科生AI查重率优化推荐
  • HunyuanVideo-Foley音效生成延迟优化方案:减少推理时间至毫秒级
  • LLM基础知识,langchainV1.0讲解(一)
  • 25 岁转行晚了?网安工程师手把手带你入门到精通,来得及!