【基础知识】多标签分类CrossEntropyLoss 与 二分类BCELoss
什么是多标签分类
图片中是否包含房子?你的回答就是有或者没有,这就是一个典型的二分类问题(一个问题两个选项,是或不是)。
同样还是这幅照片,问题变成了:这幅照片是谁拍摄的?备选答案你,你的父亲,你的母亲,这就变成了一个多分类问题(一个问题多个选项)。
若此时问题如下:
你会发现图中所示的答案有多个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相关推荐
- 分类家族:二分类、多分类、多标签分类、多输出分类
分类家族:二分类.多分类.多标签分类.多输出分类 目录 分类家族:二分类.多分类.多标签分类.多输出分类 二分类
- 计算机二级C语言公共基础知识,以及习题总结(二)树和二叉树
二级C语言公共基础知识,以及习题总结(一) 跳转 二级C语言公共基础知识,以及习题总结(二)树和二叉树 跳转 二级C语言公共基础知识,以及习题总结(三)查找和排序 跳转 二级C语言公共基础知识,以及习 ...
- 决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类)
决策树算法模型的归类与整理(ID3&C4.5&CART&线性二分类&非线性二分类) 一. 总结摘要 决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归. ...
- R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset)
R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset) 目 ...
- MFC 基础知识:主对话框与子对话框(二)
(仅供使用VS MFC初学者学习,高手莫见笑) 接"MFC 基础知识:主对话框与子对话框(一)"的内容 在"MFC 基础知识:主对话框与子对话框(一)"中Edi ...
- java基础知识之整体内容概述(二)
一.Java基础知识图解 1.1软件开发的介绍: 1.软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合.有系统软件和应用软件之分. 2.人机交互方式 (1)图形化界面(Graphi ...
- python 多分类 recall_python实现二分类和多分类的ROC曲线教程
基本概念 precision:预测为对的当中,原本为对的比例(越大越好,1为理想状态) recall:原本为对的当中,预测为对的比例(越大越好,1为理想状态) F-measure:F度量是对准确率和召 ...
- (imdb数据集)电影评论分类实战:二分类问题
目录 前言 一.电影评论分类实战 1-1.数据集介绍&数据集导入&分割数据集 1-2.字典的键值对颠倒&数字评论解码 1-3.将整数序列转化为张量(训练数据和标签) 1-4.搭 ...
- JAVA进阶的基础知识快速通过---自学笔记(二)
温故而知新---陆续学习陆续更新中,你有更好的记忆和学习方法,请在评论区提出来大家一起交流,认真看完,一行行代码备注看完看懂,保证学会,学不会找我. 前言: 代码学完发现很简单,很多初学者搞不明白什么 ...
最新文章
- Dtree【树形下拉框】
- Python的故事_two
- Singing Everywhere
- 零基础如何学好Python?这2点一定要明白
- shell变量/环境变量和set/env/export用法_转
- 2017-9-26 NOIP模拟赛
- 第六届 蓝桥杯 省赛 第一题 奖券数目
- ubuntu 学习笔记2--安装tomcat
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第三节SpringBoot热部署devtool和配置文件自动注入实战_16、注解配置文件自动映射到属性和实体类实战...
- (转载)《相信自己》
- 删除下拉框只找23火星软件_删除下拉框速来火星下拉,删除下拉框就推92火星软件...
- matlab正激变换器,12个步骤设计恒流正激式开关电源
- python做小游戏之一小迷宫游戏
- 使用sphinx+markdown来编写文档,生成html和pdf
- matlab 利用polyfitpolyval函数进行基线矫正【matlab程序】
- 手机QQ2010(BlackBerry)Beta1公测
- 【C++从入门到入土】第五篇:继承(爆肝画图详解)
- 存款利息计算器html代码,html+jQuery简单的利息计算器
- 基于51单片机 + MQ-3酒精传感器 + ADC0832模数转换器 + LCD1602液晶显示器的酒精检测系统
- 论文总结 - Playing Atari with Deep Reinforcement Learning
热门文章
- 嵌入式计算机的生活应用,嵌入式系统在生活中有哪些应用
- 转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;
- HTC官解后刷机步骤
- docker最全笔记速查,逻辑清晰
- mysql----where 1=1是什么意思
- 云计算技术及其应用前景分析
- 企业微信个人二维码在哪里?会失效吗?
- 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
- 苹果语音输入最新资讯
- 2020年 Web 开发的最佳编程语言