怎么将二分类模型应用到多分类问题

二分类模型数量众多,但实际应用中往往待预测类别数量不只有2个,于是有了一些将二分类模型应用到多分类的方法。

  • 常见二分类模型
  • One-vs-Rest
  • One-vs-One
  • Directed Acyclic Graph Method

常见二分类模型

  1. 逻辑回归
  2. 单层感知机
  3. 支持向量机

One-vs-Rest

如果有k个类别要预测,训练阶段就训练k个二分类模型。比如,针对第i个类的训练,将第i类样本取出作为类别1的训练数据,将其余类样本取出作为类别-1的训练数据,之后就训练这个模型。预测阶段输入一个预测实例,用这k个模型分别预测,得到k个预测值,将预测值最大的那个模型所对应的类别标记作为预测结果。

这个方法的缺陷是会使本来样本均衡的训练集变得不均衡。比如对于一个有k个类的多分类问题,正样本集和负样本集的样本数之比在原始训练集均匀的情况下将会是1/(k−1) 。针对该缺陷,一种比较常见的做法是只抽取负样本集中的一部分来进行训练(比如抽取其中的三分之一)。

One-vs-One

与One-vs-Rest不同,这里将训练k(k-1)/2个二分类模型。也就是说训练阶段无序从k个类别中抽取2个类别训练一个分类器。预测阶段,输入一个样本实例,统计k(k-1)/2个分类器的预测类别,结果中出现次数最多的类别,就是最终的预测结果。

这个模型的缺陷是由于模型的量级是k^2,所以它的时间开销会相当大。

Directed Acyclic Graph Method

它的训练阶段和OvO的训练阶段完全一致,区别只在于最后的预测阶段。

构建一个下图所示的分类器图:

输入一个预测实例,首先将它送入根节点G12分类器,按照预测结果,将它送入后续分类器节点,树枝上的权重-1表示预测结果为Gij中的j类别,+1表示预测结果为Gij中的i类别。最后以叶节点所表示的类别作为预测结果。

文本分类——怎么将二分类模型应用到多分类问题?相关推荐

  1. mmcls多标签分类实战(二):resnet多标签分类

    上一章讲了如何制作数据集,接下来我们使用mmcls来实现多标签分类. Config配置 mmcls是通过config来配置整个网络结构的.如下,我使用的是resnet18,因为数据中有5个属性,所以输 ...

  2. PGM学习之二 PGM模型的分类与简介

    废话:和上一次的文章确实隔了太久,希望趁暑期打酱油的时间,将之前学习的东西深入理解一下,同时尝试用Python写相关的机器学习代码. 一 PGM模型的分类 通过上一篇文章的介绍,相信大家对PGM的定义 ...

  3. CNN如何用于NLP任务?一文简述文本分类任务的7个模型

    点上方蓝字视学算法获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:选自 | Ahmed BESBES   作者 | Ahmed Be ...

  4. 入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型

    选自Ahmed BESBES 作者:Ahmed Besbes 本文转自"机器之心"(almosthuman2014) 本文介绍了用于文本分类任务的 7 个模型,包括传统的词袋模型. ...

  5. CNN如何用于NLP任务?一文简述文本分类任务的7个模型(附代码)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 选自 | Ahmed BESBES   作者 | Ahmed Besbes 转自 | 机器之心 ...

  6. 基于LSTM三分类的文本情感分析,采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种

    基于LSTM三分类的文本情感分析,采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种 ,含数据集可直接运行 完整代码下载地址:基于LSTM三分类的文本情感分 ...

  7. textcnn文本词向量_基于Text-CNN模型的中文文本分类实战

    1 文本分类 文本分类是自然语言处理领域最活跃的研究方向之一,目前文本分类在工业界的应用场景非常普遍,从新闻的分类.商品评论信息的情感分类到微博信息打标签辅助推荐系统,了解文本分类技术是NLP初学者比 ...

  8. CNN也能用于NLP任务,一文简述文本分类任务的7个模型

    选自Ahmed BESBES,作者:Ahmed Besbes,机器之心编译. 本文介绍了用于文本分类任务的 7 个模型,包括传统的词袋模型.循环神经网络,也有常用于计算机视觉任务的卷积神经网络,以及 ...

  9. NLP之NBGBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva)、梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测)

    NLP之NB&GBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva).梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测) ...

  10. 【机器学习】贝叶斯分类三大实战项目:高斯模型进行疾病诊断、多项式模型进行文本分类、伯努利模型进行好/差评判别

    贝叶斯分类三大实战项目:高斯模型进行疾病诊断.多项式模型进行文本分类.伯努利模型进行好/差评判别 1 贝叶斯高斯模型 1.1 模块导入以及数据加载 1.2 划分数据 1.3 模型创建与评估 2 贝叶斯 ...

最新文章

  1. Linux 与 硬件 —— 各个硬件设备在Linux中的文件名
  2. ansa打开catia文件_关于CATIA文件格式的那些事儿
  3. 线性表及其逻辑和存储结构(二级)
  4. Builder Pattern 在 Objective-C 中的使用
  5. 使用refs获取节点_闲庭信步聊前端 - 原来你是这样的Refs
  6. python opencv旋转_Python opencv实现与rotatedrect类似的矩形旋转,pythonopencv,RotatedRect
  7. java 流 flush_Java CharArrayWriter flush()方法
  8. virtio数据结构总览 | 图
  9. 本示例主要展示如何在XtraGrid网格控件(包含在DevExpress WinForms套包中)的主视图中指定HyperLinkEdit控件作为列编辑器...
  10. android压缩图片,并将其转化成base64提交到服务器
  11. 深入浅出了解OCR识别票据原理(Applying OCR Technology for Receipt Recognition)
  12. 【电力负荷预测】基于matlab粒子群算法优化支持向量机预测电力负荷【含Matlab源码 1225期】
  13. Python从入门到入土-基础知识准备
  14. c语言的整形变量选择题,C语言选择题 (附答案)
  15. 将Ruby和Watir与NUnit集成
  16. Android应用开发详解
  17. graphpad7.04多组比较p值_GraphPad Prism 统计指南 | 什么是P值?
  18. 移动设备管理的具体措施有哪些?(下)
  19. [其他] 月份, 星期英文
  20. 2022双非计算机保研经验(西电,北邮,厦大,浙软)

热门文章

  1. windows putty Bitvise 登陆linux 服务器
  2. 【HTML】Html页面跳转的5种方式
  3. rxtx for java_RXTX实现JAVA串口编程
  4. ENSP-----ISIS协议
  5. js对象定义的3种方法
  6. SPHYSICS流体力学仿真模拟程序的动态链接库编译及C#混合编程方法
  7. Kali Linux 无法定位软件包
  8. 华为证书有效期是多久?证书要到期了怎么办?
  9. Q# 微软量子计算编程语言
  10. Qt信号与槽实现方式