当前位置:网站首页>分类任务的种类
分类任务的种类
2022-08-06 18:15:00 【为为为什么】
分类任务是机器学习中的常见基本任务,而分类本身也存在着多种类别,本文对相关内容进行整理。
分类的维度
- 分类任务是机器学习中的基础任务,是指针对输入数据中的给定示例预测其类别标签的预测性建模问题,即为输入数据分配已知的标签。
- 对于分类任务主要有两个维度:标签、类别
- 以水果分类为例:
标签
标签为某个分类域,定义一组标签需要同时确定标签内的类别数量,分类时在标签内的类别是互斥但必须选择一个的
例如: 水果分类中的: 颜色,水果种类 为标签
类别
类别为标签内的子项,定义一组标签需要其中定义若干(至少为2)个类别,类别之间互斥,分类时必须选择一个
例如: 水果分类中的: 颜色中: 黄色、绿色、红色 … 等颜色均为类别 水果中: 苹果、葡萄、香蕉 … 等种类均为类别
分类的种类
在确定了维度后,根据维度数量我们可以对常见的分类任务区分四个种类
Category = 2 | Category > 2 | |
|---|---|---|
Label = 1 | Binary Classification | Multi-Class Classification |
Label > 1 | Multi-Label Classification | Multi-Task Classification |
二分类 (Binary Classification)
- 二分类任务,从贴标签的角度可以理解为为数据分类,确定是否贴当前这个标签;
- 也可以从分类的角度,有两个类别,必须确定数据属于哪一种
- 根据二分类任务的结果可以画出统计结果混淆矩阵
- 神经网络中常用 Sigmoid 激活函数生成结果
- 损失函数常用 Binary Cross Entropy Loss
- 可以直接绘制 ROC 曲线、 AP 曲线等来评估模型性能
- 存在虚警、漏警概率
多分类 (Multi-Class Classification)
- 多分类的目标是将数据划分到事先确定好的一个类别种类 注意:多分类在训练模型之前,必须确定所有的类别
- 多分类任务已经脱离了是否有标签的范畴,已经不是 “有” 或者 “没有”这1 bit 信息可以表示的了,类别数越多分类结果代表的信息量越大,相应分类任务应该会更加趋于困难
- 多分类由于结果类别唯一确定,GT类别唯一确定,因此分类结果可以绘制漂亮的混淆矩阵:
- 神经网络训练多分类时一般使用 Softmax 处理最终一层特征,得到和为 1 的概率输出
- 损失函数一般使用 多分类的 Cross Entropy Loss
- 不适合直接使用ROC、AP等评估标准,将多分类结果综合后可以得到各个类别的 AP、ROC 曲线
- 没有虚警、漏警的概念,分类正确率是常用的评价指标
多标签 (Multi-Label Classification)
- 多标签分类可以理解为多个二分类任务的结合,模型需要为数据做出多个“是\否”的判断
- 多标签数据难以绘制多类别混淆矩阵,但可以绘制多个二分类混淆矩阵 有的刚接触多标签、多分类的同学可能会尝试为多标签分类任务绘制混淆矩阵,但是尝试后经常会发现错误的类别不知道该画到哪个格子里,漏检的数据很可能在矩阵中无处安放; 想要尝试绘制混淆矩阵因为这些标签可能在含义上有一些多分类的性质,让我们想要套用多分类漂亮的评估方法; 但事实上多标签与多分类存在本质上的不同,多标签的本质是多个独立的二分类任务,任务之间没有关联性,而混淆矩阵尝试寻找的正是类别之间的关联;在一个多分类的类别组里可能相关,多标签则不然。
- 在神经网络训练多标签网络时,激活函数类似二分类,使用 Sigmoid 函数输出 L 个结果
- infer 时,模型开发人员需要为每组标签确定阈值,不同标签之间的分值没有可比性
- 损失函数一般使用 L 个 Binary Cross Entropy Loss
- 可以用多个 ROC、AP曲线评估不同标签上的分类性能
多任务 (Multi-Task Classification)
- 多任务为多分类与多标签分类的结合,任务中有多于1个分类需求,至少有一个分类任务是多分类
- 任务比较复杂,但是可以拆解为多个二分类\多分类进行评估
- 神经网络实现时常用多个分类头,以适应不同的任务
- 损失函数与激活函数与二分类、多分类相同
参考资料
边栏推荐
- `Mathematics` Fundamental Theorem of Calculus
- Cut, printf, awk, sed commands for shell string screenshot commands
- js数组遍历常用方法 0802二
- Euro-NCAP-2023 安全辅助避撞系统测试流程中文版
- [The Beauty of Software Engineering - Column Notes] 39 | Project Summary: Do a good job in project review and turn experience into ability
- 论文阅读笔记(二)——Mask R-CNN
- 好好学习第一天:手写数字识别
- 分享一个在单片机中使用的RTOS代码框架
- Euro-NCAP-HWA test procedure Chinese version
- el-input textarea显示自定义剩余字数
猜你喜欢
Implementing a caching mechanism using soft references

Scala----For循环---02

GD32F303固件库开发(11)----ADC在DMA模式下扫描多个通道

亚马逊测评系统是什么,跨境卖家如何通过自己养号来实现快速出单?

PreScan快速入门到精通第二十二讲驾驶员模型之路径跟踪

美客多、虾皮平台测评自养号怎么做?

Euro-NCAP-2023-Safe Driving Assistance Driver Condition Monitoring DMS and Speed Limit Assist Test Procedure-Chinese Version

优秀的软件测试工程师是怎样练成的?

From VLAN to IPVLAN: Talking about virtual network devices and their cloud-native applications

RSA encryption/signature process
随机推荐
jni学习4.动态注册
ESP8266-Arduino编程实例-力敏电阻传感器
LeetCode刷题系列 -- 20. 有效的括号
nfs 报错 clnt_create RPC Program not registered 解决方案
USB通讯原理
裸辞后吊打大厂面试官,四面拿到阿里offer后我还是选择了美团
el-input textarea display custom remaining word count
Scala----For循环---02
使用接口地址池为直连网段分配地址
【 IDEA 】关闭右侧代码缩略图
Paper Reading Notes (2) - Mask R-CNN
coordtransform 坐标转换
解决——》Mysql导出excel时,数值型变成科学计数法
Euro-NCAP-2023 Safety Assisted Collision Avoidance System Test Procedure Chinese Version
分享一个在单片机中使用的RTOS代码框架
CarSim Simulation Advanced Advanced (3) ---VS Command Line (3)
IDEA03:数据库CDC、Kafka和连接器Debezium配置
selenium webDriver的运用
CarSim Simulation Advanced (1) ---VS Command Line (1)
Sketch91:如何设置对齐的参考对象,根据指定元素进行对齐教程