如何用softmax和sigmoid来做多类分类和多标签分类

本文探讨了softmax和sigmoid在多类分类和多标签分类中的使用。softmax常用于多类分类,通过将神经网络的输出转换为概率分布,选择概率最高的类别;而在多标签分类中,可以选取概率超过阈值的类别。sigmoid主要适用于二分类问题,但在多标签场景下,对每个分类独立应用sigmoid判断是否超过阈值来确定样本的标签。
摘要由CSDN通过智能技术生成

首先,说下多类分类和多标签分类的区别

 

多标签分类: 一个样本可以属于多个类别(或标签),不同类之间是有关联的,比如一个文本被被划分成“人物”和“体育人物”两个标签。很显然这两个标签不是互斥的,而是有关联的

多类分类:  一个样本属于且只属于多个分类中的一个,一个样本只能属于一个类,不同类之间是互斥的,比如一个文本只能被划分成“人物”,或者被划分成“文化”,而不能同时被划分成“人物”和“文化”,“文化”和“人物”这两个分类就是互斥的

 

那么,如何用softmax和sigmoid来做多类分类和多标签分类呢?

1、如何用softmax做多分类和多标签分类

现假设,神经网络模型最后的输出是这样一个向量logits=[1,2,3,4], 就是神经网络最终的全连接的输出。这里假设总共有4个分类

用softmax做多分类的方法:

  tf.argmax(tf.softmax(logits))

  首先用softmax将logits转换成一个概率分布,然后取概率值最大的作为样本的分类

  这样看似乎,tf.argmax(logits)同样可以取得最大的值,也能得到正确的样本分类,这样的话softmax似乎作用不大

  那么softmax的主要作用其实是在计算交叉熵上,首先样本集中y是一个one-hot向量,如果直接将模型输出logits和y来计算交叉熵,

  因为logits=[1,2,3,4],计算出来的交叉熵肯定很大,这种计算方式不对

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值