什么是多标签分类

图片中是否包含房子?你的回答就是有或者没有,这就是一个典型的二分类问题(一个问题两个选项,是或不是)。

同样还是这幅照片,问题变成了:这幅照片是谁拍摄的?备选答案你,你的父亲,你的母亲,这就变成了一个多分类问题(一个问题多个选项)。

若此时问题如下:

你会发现图中所示的答案有多个yes,而不同于之前的多分类只有一个yes。这就是多标签分类

多标签的问题的损失函数是什么

这里需要先了解一下softmax 与 sigmoid函数

这两个函数最重要的区别,我们观察一下:

区别还是很明显的。
综上,我们可以得出以下结论:

pytorch中的实现

torch.nn.CrossEntropyLoss()

交叉熵快速理解参考:博客2

CrossEntropyLoss(pre, label, ignore_index = -1)
该函数会默认对预测值pre做softmax后,再计算交叉熵。

BCELoss

在图片多标签分类时,如果3张图片分3类,会输出一个3*3的矩阵。

需要先用Sigmoid给这些值都映射到0~1之间:

假设Target是:

计算后的loss为:

BCEWithLogitsLoss

BCEWithLogitsLoss就是把Sigmoid+BCELoss合成一步。我们直接用刚刚的input验证一下是不是0.7193:

补充阅读:
关于交叉熵损失函数详解:博客1

【基础知识】多标签分类CrossEntropyLoss 与 二分类BCELoss相关推荐

  1. 分类家族:二分类、多分类、多标签分类、多输出分类

    分类家族:二分类.多分类.多标签分类.多输出分类 目录 分类家族:二分类.多分类.多标签分类.多输出分类 二分类

  2. 计算机二级C语言公共基础知识,以及习题总结(二)树和二叉树

    二级C语言公共基础知识,以及习题总结(一) 跳转 二级C语言公共基础知识,以及习题总结(二)树和二叉树 跳转 二级C语言公共基础知识,以及习题总结(三)查找和排序 跳转 二级C语言公共基础知识,以及习 ...

  3. 决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类)

    决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类) 一. 总结摘要 决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归. ...

  4. R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset)

    R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset) 目 ...

  5. MFC 基础知识:主对话框与子对话框(二)

    (仅供使用VS MFC初学者学习,高手莫见笑) 接"MFC 基础知识:主对话框与子对话框(一)"的内容 在"MFC 基础知识:主对话框与子对话框(一)"中Edi ...

  6. java基础知识之整体内容概述(二)

    一.Java基础知识图解 1.1软件开发的介绍: 1.软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合.有系统软件和应用软件之分. 2.人机交互方式   (1)图形化界面(Graphi ...

  7. python 多分类 recall_python实现二分类和多分类的ROC曲线教程

    基本概念 precision:预测为对的当中,原本为对的比例(越大越好,1为理想状态) recall:原本为对的当中,预测为对的比例(越大越好,1为理想状态) F-measure:F度量是对准确率和召 ...

  8. (imdb数据集)电影评论分类实战:二分类问题

    目录 前言 一.电影评论分类实战 1-1.数据集介绍&数据集导入&分割数据集 1-2.字典的键值对颠倒&数字评论解码 1-3.将整数序列转化为张量(训练数据和标签) 1-4.搭 ...

  9. JAVA进阶的基础知识快速通过---自学笔记(二)

    温故而知新---陆续学习陆续更新中,你有更好的记忆和学习方法,请在评论区提出来大家一起交流,认真看完,一行行代码备注看完看懂,保证学会,学不会找我. 前言: 代码学完发现很简单,很多初学者搞不明白什么 ...

最新文章

  1. Dtree【树形下拉框】
  2. Python的故事_two
  3. Singing Everywhere
  4. 零基础如何学好Python?这2点一定要明白
  5. shell变量/环境变量和set/env/export用法_转
  6. 2017-9-26 NOIP模拟赛
  7. 第六届 蓝桥杯 省赛 第一题 奖券数目
  8. ubuntu 学习笔记2--安装tomcat
  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第三节SpringBoot热部署devtool和配置文件自动注入实战_16、注解配置文件自动映射到属性和实体类实战...
  10. (转载)《相信自己》
  11. 删除下拉框只找23火星软件_删除下拉框速来火星下拉,删除下拉框就推92火星软件...
  12. matlab正激变换器,12个步骤设计恒流正激式开关电源
  13. python做小游戏之一小迷宫游戏
  14. 使用sphinx+markdown来编写文档,生成html和pdf
  15. matlab 利用polyfitpolyval函数进行基线矫正【matlab程序】
  16. 手机QQ2010(BlackBerry)Beta1公测
  17. 【C++从入门到入土】第五篇:继承(爆肝画图详解)
  18. 存款利息计算器html代码,html+jQuery简单的利息计算器
  19. 基于51单片机 + MQ-3酒精传感器 + ADC0832模数转换器 + LCD1602液晶显示器的酒精检测系统
  20. 论文总结 - Playing Atari with Deep Reinforcement Learning

热门文章

  1. 嵌入式计算机的生活应用,嵌入式系统在生活中有哪些应用
  2. 转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;
  3. HTC官解后刷机步骤
  4. docker最全笔记速查,逻辑清晰
  5. mysql----where 1=1是什么意思
  6. 云计算技术及其应用前景分析
  7. 企业微信个人二维码在哪里?会失效吗?
  8. 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  9. 苹果语音输入最新资讯
  10. 2020年 Web 开发的最佳编程语言