交叉熵损失

2023-11-18

什么是交叉熵损失

       提起损失,我们最熟悉的可能就是MSE,最小均方误差损失了。MSE通俗理解,就是预测值与真实值之间取个差,再求平方。交叉熵损失也是一种衡量预测值与真实值之间的差异的方式。两者的定义不同,适用的范围也不同。通常来说,交叉熵损失用于分类问题的损失计算,其表达式为:
       L o s s = 1 N ∑ i = 1 N y i j l o g ( p i j ) , j = 1 , 2 , . . . , C . Loss = \frac{1}{N}\sum_{i=1}^Ny_{ij}log(p_{ij}),j=1,2,...,C. Loss=N1i=1Nyijlog(pij),j=1,2,...,C.
       其中, N N N 表示的是样本的个数, C C C表示的分类的类别个数。 y i j y_{ij} yij表示第i个样本是否属于第j类,只有两个值,0或者1。而 p i j p_{ij} pij表示的是i样本预测为第j类的概率值,取值范围是[0,1]。
       交叉熵损失可以适用于二分类,多分类问题,它可以捕捉预测概率相对大小的差异,进一步可以更加细致的衡量不同分类器的性能。而MSE也可以捕捉这种信息,那为什么在分类问题中几乎不适用MSE损失函数呢?因为使用MSE+sigmoid配合的话,前期地学习速率非常地缓慢,因此大家就不怎么用它了。
       神经网络最后一层一般是softmax函数,经过softmax函数以后变成归一化的概率值,logits指的就是未归一化的概率值,logit,对it求log,logits = log(P/1-P),P就是未归一化的概率值。上述 L o s s Loss Loss中的 p i j p_{ij} pij指的就是softmax函数输出的归一化的概率值,也就是每一个class对应的概率。

one hot向量

       对于多分类问题,不需要做one-hot编码,pytorch中会自动做one hot编码,接下来再进行crossentropy的损失的求解。
       对于二分类问题,需要做one-hot编码,然后再求损失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

交叉熵损失 的相关文章

  • DMA 突发模式

    这里的4个节拍 8个节拍 16个节拍的增量突发传输要如何解释 DMA传输需要用到总线矩阵 有个总线仲裁管理总线事务 由它来控制该谁谁用总线 普通的DMA传输可能传一个数据就必须跟总线仲裁提要求 总线仲裁才来安排传输 如果是增量突发传输 就是
  • 全局网络端口配置

    1 查询网络通路情况 curl cip cc 2 对网络进行配置 指定端口 export http proxy socks5 127 0 0 1 7890 export https proxy socks5 127 0 0 1 7890 查

随机推荐

  • openGL API glGenSamplers 详解

    暂时先放openGL官方文档的解释 后面我会加入中文翻译 Name glGenSamplers generate sampler object names C Specification void glGenSamplers GLsizei
  • 【开发工具】JAVA性能分析:3、超详细的JProfiler快照分析(官方中文版)

    Snapshots 快照分析 到目前为止 我们只查看了JProfiler GUI从配置文件JVM中运行的性能分析代理获取数据的实时会话 JProfiler还支持将所有分析数据写入文件的快照 在以下几种情况下 这可能是有利的 您可以自动记录分
  • Java中如何将Set转List呢?

    转自 Java中如何将Set转List呢 下文笔者讲述Java中Set转List的方法分享 如下所示 实现思路 方式1 借助ArrayList进行转换 方式2 借助List实现类的addAll 方法 例 Map
  • 栈之中缀表达式转后缀表达式

    题目描述 就是把我们平常写的运算表达式换成另外一种表达式 运算符前面两个数字执行相关操作 用图说明一下 比如3 2 gt 3 2 比如3 3 2 gt 3 3 2 再比如 3 3 2 2 3 gt 3 3 2 2 3 程序设计思路 特殊情况
  • Xftp5连接linux时,服务器发送了一个意外的数据包。received:3,expected:20

    Xftp5连接linux时 服务器发送了一个意外的数据包 received 3 expected 20的解决方法 xtfp5连接要点 主机 H 可在虚拟机中使用ifconfig进行查看 用户名使用who进行查看 解决方法 进入文本文件 cd
  • 自然语言处理spaCy--训练一个词性标注模型

    自然语言处理spaCy 训练一个词性标注模型 一 什么是词性标注 1 引入库 2 使用百度LAC模块进行词性标注 3 模型训练 完整代码 总结 一 什么是词性标注 词性标注的全称为Part Of Speech tagging 顾名思 义 词
  • Elasticsearch顶尖高手系列-快速入门篇

    快速入门篇课程介绍 Elasticsearch 是目前行业中非常热门的一个技术 Elasticsearch是一种分布式的海量数据搜索与分析的技术 可以用于电商网站 门户网站 企业IT系统等各种场景下的搜索引擎 也可以用于对海量的数据进行近实
  • Android AES加密算法及其实现

    昨天老大叫我看看android加密算法 于是网上找了找 找到了AES加密算法 当然还有MD5 BASE64什么的http snowolf iteye com blog 379860这篇文章列举了很多 但是基本都是j2se平台的 androi
  • python开源报表系统详细操作流程_手把手教你实现自动化报表系统

    今天给大家安利一套自动化报表的实现过程 说到报表 大家脑海里一定浮现了各种高大上的财务报表 不管他们如何实现的 本文却要教你实现自己的报表系统 对于土豪公司来说 这些都是小case 因为商业的工具平台挺多的 选的都头疼 对于小企业 如果不想
  • elf.h

    http en wikipedia org wiki Executable and Linkable Format http www ouah org RevEng x430 htm Format of an ELF executable
  • keytool生成BKS格式的私钥跟信任证书

    Andrid生成SSL证书 第一步 为服务器生成证书库 keytool genkey alias roomcastServer keypass 123456 keyalg RSA keysize 1024 validity 36500 ke
  • JS根据时区获取对应时间

    安装插件 luxon yarn add luxon 页面使用 引入DateTime类 import DateTime from luxon let c DateTime fromObject zone 传入时区 zone America L
  • 操作系统9-文件系统,I/O子系统

    大纲 文件系统和文件 文件描述符 目录 文件别名 文件系统种类 虚拟文件系统 文件缓存和打开文件 文件分配 空闲空间管理 I O子系统特点 结构 传输 冗余磁盘阵列RAID 哟西太太太太太激动了 算是真正意义上的第一次完整严谨写了 博客 笔
  • Java StringBuilder类(为什么更高效、常用方法、构造器)

    StringBuilder类 一 引言 二 StringBuilder类特点 三 StringBuilder构造方法 四 StringBuilder常用方法 五 StringBuilder为什么高效率 六 StringBuffer类 一 引
  • android 文件删除命令大全,Android中删除sdcard里文件的命令

    Android中删除sdcard里文件的命令 有时我们需要删除android模拟器或手机上的sd卡文件 特别是模拟器上的 这时我们就需要借助于一些命令来帮助我们删除文件 复制代码 代码如下 重新挂载模拟器 adb remount 开始she
  • fasterxml ToStringSerializerBase报错

    ToStringSerializerBase报错 报错内容 整合dubbo时报错 Caused by java lang NoClassDefFoundError com fasterxml jackson databind ser std
  • 英语姓名

    英语姓名的一般结构为 教名 自取名 姓 如 William Jafferson Clinton 但在很多场合中间名往往略去不写 如 George Bush 而且许多人更喜欢用昵称取代正式教名 如 Bill Clinton 上述教名和中间名又
  • Unity中的单元测试

    我知道的单元测试有两种方法 1 从Unity的AssetStore窗口下载UnityTestTools 已下架了 2 使用TestRuner 2018 2 5以上版本有 我用的是2018 2 7 TestRuner的用法 操作窗口 Wind
  • 堵塞队列之ArrayBlockingQueue和LinkedBlockingQueue解析

    在线程池创建的时候 需要传一个堵塞队列来维护需要执行的线程任务 其中最常用的是ArrayBlockingQueue和LinkedBlockingQueue 他们都继承了BlockingQueue接口 ArrayBlockingQueue 一
  • 交叉熵损失

    什么是交叉熵损失 提起损失 我们最熟悉的可能就是MSE 最小均方误差损失了 MSE通俗理解 就是预测值与真实值之间取个差 再求平方 交叉熵损失也是一种衡量预测值与真实值之间的差异的方式 两者的定义不同 适用的范围也不同 通常来说 交叉熵损失