博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度学习 | (2) 二分类、多分类与多标签分类的区别与损失函数
阅读量:4038 次
发布时间:2019-05-24

本文共 861 字,大约阅读时间需要 2 分钟。

目录


1. 基本概念

  • 2分类

分类任务有两个类别,每个样本属于两个类别中的一个,标签0/1.比如:训练一个图像分类器,判断一张输入图片是否是猫。

  • 多分类

分类任务有n个类别,每个样本属于n个类别中的一个,每个样本有且只有一个标签。比如:新闻文本分类,每个样本/新闻只有一个主题标签,如:政治、经济、体育等。

  • 多标签分类

分类任务有n个类别,每个样本属于n个类别中的若干个,每个样本有若干个标签。比如:新闻文本分类,每个样本/新闻可能有多个主题标签,如:一段新闻可能被同时认为是宗教、政治、金融或者教育相关话题。

 

2. 2分类问题

2分类问题输出层只有一个单元,并采用sigmoid损失函数(将输出转换为0-1之间的概率分布)和2分类交叉熵损失。

 

2. 多分类问题

多分类问题(n \geq 3)一般有三种解决方案:

  • 直接进行多分类

如使用神经网络模型时,调整输出层的单元数,当进行n分类时,设置输出层的单元数为n,采用softmax损失函数(把输出层整体转换为0-1之间的概率分布)+多分类交叉熵损失。

把标签转换为one-hot向量,每个样本的标签是一个n维向量,其所属类别位置为1,其余位置为0:

  • one vs. all

每次选其中一个类别为正类,其余类别为负类。如果进行n分类的话,则训练n个2分类器。测试时,将新样本喂给n个2分类器,每个2分类器的输出是当前类为正类的置信度,选择置信度最大的类别。

  • one vs. one

每次从所有类别中选择两个类别,如果进行n分类的话,则训练C^2_n = \frac{n(n-1)}{2}个2分类器。测试时,将新样本喂给这些2分类器,采用多数投票原则,哪个类别得票最多(出现次数最多),则把新样本归为哪个类别。

 

3. 多标签分类问题

每个样本有多个类别标签,并且每个样本对应的标签数量是不固定的。

把多标签问题转换为每个标签上的2分类问题。输出层采用sigmoid激活函数(把每个输出单元转换为0-1之间的概率分布)+2分类交叉熵损失。

把标签转换为multi-hot向量,每个样本的标签是一个n维向量,其所属类别位置为1,其余位置为0:

 

转载地址:http://czsdi.baihongyu.com/

你可能感兴趣的文章
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>