机器学习中多分类问题处理成二分类问题的四种拆分策略
2023-09-27 14:20:38 时间
在机器学习中经常将多分类问题处理成二分类问题,给出三种以上的拆分策略
- 1) 一对一(One vs. One, 简称OvO)
OvO将N个类别两两配对,从而产生N(N-1)/2个二分类任务。在测试阶段,新样本将同时提交给所有分类器,得到N(N-1)/2个分类结果,最终结果可由投票产生,或根据各分类器的预测置信度等信息进行集成。 - 2) 一对其余(One vs. Rest, 简称OvR)
OvR每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。在测试时若只有一个分类器预测为正类,则对应的类别标记作为最终分类结果。若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。 - 3) 多对多(Many vs. Many, 简称MvM)
MvM是每次将若干个类作为正类,若干个其他类作为反类。OvO和OvR是MvM的特例。MvM的正、反类构造最常用的MvM技术:“纠错输出码”(Error Correcting Output Codes,简称ECOC)。
ECOC过程主要分为两步:
1.编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出M个分类器。
2.解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。 - 4) 层次分类法
层次分类器的定义包括类别层次和分类器两部分,类别层次决定多类问题的分解,层次分类器在类别层次的基础上进行组织。类别层次一般使用“树(Tree)”或“有向无环图(Directed Acyclic Graph, DAG)”结构存储,将类别划分表达成树形结构,每个结点对应于一个二分类分类器。
各自的优劣:
1.OvR训练的是N个分类器,而OvO训练的是N(N-1)/2个分类器。因此OvR的存储开销和测试时间都比OvO小。2.从训练时每个学习器使用的样本数来看:OvR每个学习器使用了所有的样本,而OvO的每个学习器只用到两个类别的样本。因此在类别很多时,OvO的训练时间往往会比OvR小。3. 多对多MvM,对于同一个学习任务,ECOC编码越长,纠错能力越强。但是,这意味着所需要的分类器就越多,开销就越大;另一方面,对有限类别数,可能的组合数目是有限的,码长超过一定的范围后就失去了意义。4. 层次分类法对于分类问题的规模越来越大,样本数目、特征维数和类别数量大的分类问题的分类效果较好。
相关文章
- 5-机器学习进阶-RNN与Attention(2)
- (《机器学习》完整版系列)第2章 模型评估与选择 ——2.3 恭喜:高考你被录取了!
- (《机器学习》完整版系列)第15章 规则学习——15.5 剪枝优化(预剪枝(阻止生长)和后剪枝(“由长变短”))
- (《机器学习》完整版系列)第10章 降维与度量学习——10.1 k近邻算法(你是住在穷人区还是富人区?)
- 机器学习笔记之玻尔兹曼机(一)基本介绍
- 诗人般的机器学习,ML工作原理大揭秘
- 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——2.1.4 读取和写入图像文件
- 《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件
- 《机器学习与数据科学(基于R的统计学习方法)》——2.14 写数据
- Python机器学习零基础理解K-means聚类
- 吴恩达教你如何学习机器学习
- SwiftUI 机器学习基础之什么MachineLearning
- 《Scala机器学习》一一2.2 序贯试验和风险处理
- 《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.7 停用词移除
- 吴恩达机器学习重难点回顾
- 简单读懂人工智能:机器学习与深度学习是什么关系
- Python 基础 之 jupyter notebook 中机器学习的简单入门书写数字识别 demo 操作学习
- 机器学习处理流程
- 【机器学习】——numpy实现多层感知机(MLP)进行MNIST识别
- 机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构
- 机器学习——图解SVM中gamma和c参数的作用
- 最值得学习和最具潜力的 44 个顶级开源项目,包括关于机器学习、深度学习、强化学习、语音识别、自然语言处理、计算机视觉、自动建模和分布式平台等等