pytorch交叉熵

目录

  • 1. Entropy
  • 2. 交叉熵
  • 3. 二分类
  • 4. 为什么分类问题使用交叉熵
  • 5. 代码示例

1. Entropy

Entropy中文是熵的意思,它代表一种不确定性,不确定性越高惊喜度也就越高。
在这里插入图片描述
在这里插入图片描述
如上图,假设熵代表中奖概率,当熵为2 的中奖概率为1/4没什么惊喜,当熵为1.3568时,中奖概率就比较低了,惊喜度就比较高了,而当熵为0.0313时,中奖概率已经很低很低了,这时惊喜度就很高了。

2. 交叉熵

交叉熵计算公式分为两个部分,H§熵和DKL(KL Devergence散度),当p和q的分布相同时,DKL=0,此时H(p,q) = H§
当使用one-hot编码时,H§=0,此时H(p,q) = DKL(p|q)
在这里插入图片描述

3. 二分类

交叉熵计算公式在这里插入图片描述
使用交叉熵计算loss的一个实例:
在这里插入图片描述
从图中可以看出通过交叉熵计算loss梯度下降还是比较快的。

4. 为什么分类问题使用交叉熵

在这里插入图片描述

因为使用交叉熵梯度下降比较快,从上图的曲线也可以看出,刚开始的时候loss比较大,使用交叉熵后,loss很快就降下来了。
而当使用交叉熵梯度不下降的时候,可以尝试MSE。

5. 代码示例

在这里插入图片描述
F.cross_entropy = softmax + log + nll_loss
图中1:logits不能是经过softmat和log的,因为F.cross_entropy 中已经包括两个操作。
图中2:要经过softmax和log两个操作
F.nll_loss是将softmax、log操作分离计算loss的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599201.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++的学习之路:15、list(2)

本章主要是讲模拟实现list,文章末附上代码。 目录 一、创建思路 二、构造函数 三、迭代器 四、增删 五、代码 一、创建思路 如下方代码,链表是由一块一块不连续的空间组成的,所以这里写了三个模板,一个是节点,一…

【论文速读】| 大语言模型平台安全:将系统评估框架应用于OpenAI的ChatGPT插件

本次分享论文为:LLM Platform Security: Applying a Systematic Evaluation Framework to OpenAI’s ChatGPT Plugins 基本信息 原文作者:Umar Iqbal, Tadayoshi Kohno, Franziska Roesner 作者单位:华盛顿大学圣路易斯分校,华盛…

OpenResty基于来源IP和QPS来限流

桶原理 我们可以想像: 有一只上面进水、下面匀速出水的桶,如果桶里面有水,那刚进去的水就要存在桶里等下面的水流完之后才会流出,如果进水的速度大于水流出的速度,桶里的水就会满,这时水就不会进到桶里,而…

【新手上路】C#联合Halcon第一个demo搭建

前言 学习Halcon目的是能够利用C#封装成一个视觉的上位机应用配合机器人或者过程控制来提高生产的效率,尤其是在检测外观和定位方面的应用。现在我们就来搭建第一个demo。让他们能够跑起来! Halcon方面 打开Halcon软件,然后先随便写一个代…

electron-egg 如何把任意网站变成桌面软件

以前,开发一个桌面软件要花费大量的人力和时间。现在随着Electron的出现,大大简化了开发门槛。今天,给大家介绍一个工具,让你5分钟之内就把一个网站变成一个可安装的桌面软件。 所需工具 electron-egg是一个简单、快速、功能丰富…

日期时间相关的类

分界线jdk8 jdk8之前和之后分别提供了一些日期和时间的类,推荐使用jdk8之后的日期和时间类 Date类型 这是一个jdk8之前的类型,其中有很多方法已经过时了,选取了一些没有过时的API //jdk1.8之前的日期 Date Date date new Date(); // 从1970年…

解决 macOS 系统向日葵远程控制鼠标、键盘无法点击的问题

解决 macOS 系统向日葵远程控制鼠标\键盘无法点击的问题 1、首先正常配置,在系统偏好设置 - 安全性与隐私内,将屏幕录制、文件和文件夹、完全的磁盘访问权限、辅助功能全部都加入向日葵客户端 2、通过打开的文件访达,使用command shift G…

leetcode代码记录(下一个更大元素 I

目录 1. 题目:2. 我的代码:小结: 1. 题目: nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数&#x…

嵌入式学习49-单片机2

指令周期 1M 机器周期 12M (晶体震荡器产生) 中断两种方式 …

JVM—对象的创建流程与内存分配

JVM—对象的创建流程与内存分配 创建流程 对象创建的流程图如下: 对象的内存分配方式 内存分配的方式有两种: 指针碰撞(Bump the Pointer)空闲列表(Free List) 分配方式说明收集器指针碰撞&#xff08…

前端:SVG绘制流程图

效果 代码 html代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>SVG流程图示例</title><style>/* CSS 样式 */</style><script src"js/index.js"></script…

自然语言处理技术(Natural Language Processing)知识点

自然语言处理知识点 自然语言处理1. word2vec是什么2. 常用的NLP工具和软件3. 朴素贝叶斯分类器4. BiLSTM-CRF模型怎么去实现5. Bert模型实现NER6. 命名实体识别任务中&#xff0c;怎么去处理数据分布不均的问题&#xff1f;7. 用户问题检索相关文本时&#xff0c;具体都用了哪…