深度学习 | (2) 二分类、多分类与多标签分类的区别与损失函数

目录

1. 基本概念

2. 2分类问题

2. 多分类问题

3. 多标签分类问题


参考文章

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:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值