当前位置: 首页 > news >正文

交叉熵损失(Cross Entropy Loss)学习笔记

  在分类任务中,我们通常使用交叉熵作为损失函数,首先给出交叉熵的计算公式:
二分类中:
L = 1 N ∑ i L i = 1 N ∑ i − [ y i l o g ( p i ) + ( 1 − y i ) ⋅ l o g ( 1 − p i ) ] \mathcal{L}=\frac1{N}\sum_{i}L_i=\frac1{N}\sum_{i}-[y_ilog(p_i)+(1-y_i)\cdot log(1-p_i)] L=N1iLi=N1i[yilog(pi)+(1yi)log(1pi)]  其中, y i y_i yi表示样本的label, p i p_i pi表示第i个样本预测为正类的概率。
多分类中:
L = 1 N ∑ i = − 1 N ∑ i ∑ c = 1 M y i c l o g ( p i c ) \mathcal{L}=\frac1{N}\sum_{i}=-\frac1{N}\sum_{i}\sum_{c=1}^{M}y_{ic}log(p_{ic}) L=N1i=N1ic=1Myiclog(pic)  其中,M是样本类别的数量, y i c y_{ic} yic是样本i的label取等于c取1,否则取0, p i c p_{ic} pic第i个样本预测属于类别c的概率。
  那么交叉熵为什么好呢,举一个例子:

预测值label是否正确
0.3 0.3 0.40 0 1 (democrat)
0.3 0.4 0.30 1 0 (republican)
0.1 0.2 0.71 0 0 (other)

  如果使用分类误差作为损失函数,该神经网络的分类误差为 1/3,请注意,这个net只是勉强正确地完成了前两个样本,并且在第三个样本上相差甚远。看这个例子:

预测值label是否正确
0.1 0.2 0.70 0 1 (democrat)
0.1 0.7 0.20 1 0 (republican)
0.3 0.4 0.31 0 0 (other)

  这个net的分类误差也是1/3,但是它很明显比上面那两个更好,对于前两个样本它很好的完成了分类,对于第三个样本则比较勉强,我们发现,分类误差是一种非常粗略的性能度量标准。
  对于这两个net我们计算交叉熵的值分别是1.37和0.54,第二个net的损失就比较小,这是符合逻辑的,相比于分类误差,交叉熵会更精细。同样我们也可以计算均方误差(MSE)作为损失,它的公式为: M S E = 1 n ∑ i n ( y i ^ − y i ) 2 MSE=\frac1n\sum_i^n(\hat{y_i}-y_i)^2 MSE=n1in(yi^yi)2  计算出来的值分别是0.81和0.34。但是相比于交叉熵,MSE过于强调不正确的输出,如果使用softmax层进行分类,反向传播的方法训练网络,有可能出现训练停滞不前的情况。

本文的例子来自Why You Should Use Cross-Entropy Error Instead Of Classification Error Or Mean Squared Error For Neural Network Classifier Training

相关文章:

交叉熵损失(Cross Entropy Loss)学习笔记

在分类任务中,我们通常使用交叉熵作为损失函数,首先给出交叉熵的计算公式: 二分类中: L 1 N ∑ i L i 1 N ∑ i − [ y i l o g ( p i ) ( 1 − y i ) ⋅ l o g ( 1 − p i ) ] \mathcal{L}\frac1{N}\sum_{i}L_i\frac1{N}\sum…...

python flask alchemy在判断None值时与flake8格式检测冲突

python flask alchemy 在判断None值时候,推荐使用/!来判断。例如: query.filter(User.nameNone)query.filter(User.name!None) 但是这样的代码提交后时过不了flake8的语法检查,会报错: flake8...................................…...

Text Intelligence - TextIn.com AI时代下的智能文档识别、处理、转换

本指南将介绍Text Intelligence,AI时代下的智能文档技术平台 Textin.com 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认…...

55.0/CSS 的应用(详细版)

目录 55.1.1 设计边框样式 55.1.2 调整边框的粗细 55.1.3 边框颜色 55.1.4 复合设置边框 55.2 模块的边距 55.3 模块的内边距 55.4 层的应用 55.4.1 层的建立 55.4.2 浮动——float 55.4.3 清除浮动 55.4.4 层的定位 55.4.5 设置层的溢出——overflow 55.4.6 设置鼠…...

磁盘类型选择对阿里云RDS MySQL的性能影响

测试说明 这是一个云数据库性能测试系列,旨在通过简单标准的性能测试,帮助开发者、企业了解云数据库的性能,以选择适合的规格与类型。这个系列还包括: * 云数据库(RDS MySQL)性能深度测评与对比 * 阿里云RDS标准版(x86) vs 经济…...

数据结构---算法的时间复杂度

文章目录 前言计算机重要存储数据结构与算法数据结构概念算法 数据库概念 算法的复杂度时间复杂度概念为什么有时间复杂度大O渐进表示法时间复杂度实例实例1:时间复杂度:O(N)实例2:这里输入参数是不确定的所以 时间复杂…...

后缀为.vue是什么文件

.vue是一种文件格式,它是用于构建Web应用程序的前端框架Vue.js的组件文件 Vue.js是一个流行的JavaScript框架,用于构建用户界面 在Vue.js中,应用程序被组织为一组可重用的组件,而.vue文件就是用来定义这些组件的 一个.vue文件包…...

前端微信小程序AES加密解密踩坑

项目场景: 今天蛮沮丧的,在和别人对接的时候aes加解密的时候踩了坑。今天有个同事请假了,所以本来他和别人对接的活,老大给了我,然后我就正式踏上了战战兢兢的对接之路。 1.一开始的时候对面先是问用的啥加密方法。这…...

代码随想录算法训练营第五十八天| 739 每日温度 496 下一个更大元素 |

目录 739 每日温度 496 下一个更大元素 | 739 每日温度 求后面第一个比他大的元素的位置&#xff0c;单调栈如果递增 求后面第一个比他小的元素的位置&#xff0c;单调栈需要递减 class Solution { public:vector<int> dailyTemperatures(vector<int>& tempe…...

配置自定义RedisTemplate 解决redis序列化java8 LocalDateTime

目录 配置自定义RedisTemplate 引入依赖 配置连接redis 编写测试类 出现问题 配置序列化 解决redis序列化java8 LocalDateTime 问题背景 问题描述 问题分析 解决方案一&#xff08;全局&#xff09; 解决方案二&#xff08;单个字段&#xff09; 配置自定义RedisTe…...

华为---登录USG6000V防火墙---console、web、telnet、ssh方式登录

目录 一、环境搭建 二、第一次登录USG6000V防火墙&#xff0c;即通过console方式登录 三、用户配置 四、web登录USG6000V防火墙 1. 用web创建的用户通过web方式登录USG6000V防火墙 2. 命令行创建的用户通过web方式登录USG6000V防火墙 五、ssh方式登录USG6000V防火墙 1. 用…...

css图片属性,图片自适应

CSS 图片属性指南&#xff1a;background-size 和 object-fit 在前端开发中&#xff0c;使用图片是非常常见的。为了让图片在网页中显示得更好&#xff0c;CSS 提供了多种属性来调整和控制图片的大小和布局。其中&#xff0c;background-size 和 object-fit 是两个常用的属性&a…...

【Python百宝箱】数据科学的黄金三角:数据挖掘和聚类

数据之舞&#xff1a;Python数据科学库横扫全场 前言 在当今数据驱动的时代&#xff0c;Python成为数据科学家和分析师的首选工具之一。本文将介绍一系列强大的Python库&#xff0c;涵盖了数据处理、可视化、机器学习和自然语言处理等领域。无论你是初学者还是经验丰富的数据…...

【数据结构和算法】最大连续1的个数 III

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一&#xff1a;滑动窗口 2.2 滑动窗口解题模板 三、代码 3.1 方法一&#xff1a;滑动窗口 四、…...

AngularJS

理解实现代码的逻辑为主要&#xff0c;代码怎么写为次要。 参考资料&#xff1a; 《AngularJS入门与进阶》&#xff0c;江荣波著 前端开发常用框架 React&#xff1a;由Facebook开发&#xff0c;用于构建用户界面的JavaScript库&#xff0c;以组件化和虚拟DOM著称。 Angular&…...

初级数据结构(七)——二叉树

文中代码源文件已上传&#xff1a;数据结构源码 <-上一篇 初级数据结构&#xff08;六&#xff09;——堆 | NULL 下一篇-> 1、写在前面 二叉树的基本概念在《初级数据结构&#xff08;五&#xff09;——树和二叉树的概念》中已经介绍得足够详细了。上一…...

对比学习综述

1.简介 2.相关工作 2.1、Inst Disc 代理任务&#xff1a;个体判别。把每一个图片看作是一种类别&#xff0c;把每一个图片都区分开来。 正负样本选择&#xff1a;正样本是图片本身&#xff0c;负样本是数据集里的其他图片&#xff0c;该文章从memory bank中随机抽取4096个负…...

R语言【cli】——cli_warn可以更便捷的在控制台输出警告信息

Package cli version 3.6.2 cli_warn(message, ..., .envir parent.frame()) 参数【message】&#xff1a;它是通过调用 cli_bullets() 进行格式化的。进一步地&#xff0c;还需要调用 inline-makeup&#xff08;内联标记&#xff09;。 参数【...】&#xff1a;传递给 rlan…...

从零开始创建GPTs 人人都可以编写自己的ChatGPT产品

在这个人工智能迅猛发展的时代&#xff0c;GPT&#xff08;生成式预训练变换器&#xff09;已经成为一项令人兴奋的技术&#xff0c;它打开了创意和知识的新大门。无论你是一名编程新手、一位热爱探索的学生&#xff0c;还是对未来充满好奇的专业人士&#xff0c;GPTs都可以为你…...

人工智能对网络安全的影响

技术的快速发展带来了不断增长的威胁环境&#xff0c;网络犯罪分子和恶意行为者利用我们互联世界中的漏洞。在这个数字时代&#xff0c;数据泄露和网络攻击呈上升趋势&#xff0c;仅靠传统的安全措施已经不够了。人工智能 &#xff08;AI&#xff09; 的进步彻底改变了网络安全…...

n600高效涡流选粉机设计【说明书 CAD图纸 开题报告 任务书 实习报告】

n600高效涡流选粉机作为粉体分级领域的核心设备&#xff0c;其设计聚焦于提升分级精度与处理效率。该设备通过优化涡流场分布与颗粒运动轨迹&#xff0c;实现微细粉体的高效分离。其核心作用在于利用离心力和气流的复合作用&#xff0c;使不同粒径的颗粒在旋转流场中产生差异化…...

Fay数字人框架终极指南:30分钟打造你的AI虚拟助手

Fay数字人框架终极指南&#xff1a;30分钟打造你的AI虚拟助手 【免费下载链接】Fay Fay 是一个开源的数字人类框架&#xff0c;集成了语言模型和数字字符。它为各种应用程序提供零售、助手和代理版本&#xff0c;如虚拟购物指南、广播公司、助理、服务员、教师以及基于语音或文…...

科哥二次开发Image-to-Video:性能提升39%,小白友好度大增

科哥二次开发Image-to-Video&#xff1a;性能提升39%&#xff0c;小白友好度大增 1. 项目背景与核心价值 Image-to-Video技术正在改变内容创作的方式&#xff0c;它能够将静态图片转化为生动的视频内容。然而&#xff0c;原始I2VGen-XL模型在实际应用中面临两大挑战&#xff…...

AD20 原理图与PCB的协同设计:从单向更新到双向同步的进阶指南

1. AD20协同设计的基础概念 刚接触AD20时&#xff0c;最让我头疼的就是原理图和PCB之间的同步问题。记得第一次做多板卡项目&#xff0c;光是处理不同原理图之间的元件冲突就折腾了一整天。AD20的协同设计功能远比我们想象的强大&#xff0c;但要用好它&#xff0c;得先理解几个…...

手把手教你用Python实现熵权PCA:从数据清洗到可视化,一个案例全讲透

用Python实战熵权PCA&#xff1a;电商商品竞争力分析全流程解析 在电商平台的海量商品中&#xff0c;如何快速识别出真正具有竞争力的产品&#xff1f;传统的人工筛选方式不仅效率低下&#xff0c;还容易受到主观偏见的影响。本文将带你用Python实现一个完整的熵权PCA分析流程&…...

Yi-Coder-1.5B代码生成实战:快速搭建本地AI编程助手

Yi-Coder-1.5B代码生成实战&#xff1a;快速搭建本地AI编程助手 1. 引言&#xff1a;你的私人编程助手&#xff0c;本地就能跑 还在为写重复的样板代码而烦恼吗&#xff1f;或者面对一个新框架的API文档&#xff0c;不知道从何下手&#xff1f;如果你是一名开发者&#xff0c…...

nli-distilroberta-baseGPU算力优化:显存占用降低37%的DistilRoBERTa推理部署

NLI DistilRoBERTa Base GPU算力优化&#xff1a;显存占用降低37%的推理部署指南 1. 项目概述 自然语言推理(NLI)是理解两段文本之间逻辑关系的重要任务。基于DistilRoBERTa的NLI模型通过知识蒸馏技术&#xff0c;在保持90%以上准确率的同时&#xff0c;模型体积缩小40%&…...

【Mojo-Python互操作黄金标准】:基于CPython 3.12+Mojo 0.5.2的ABI兼容性白皮书(仅限首批200名开发者获取)

第一章&#xff1a;Mojo-Python互操作的ABI兼容性基石Mojo 语言设计之初即明确将 Python 生态无缝集成作为核心目标&#xff0c;其 ABI&#xff08;Application Binary Interface&#xff09;兼容性并非运行时桥接或胶水层模拟&#xff0c;而是通过底层统一的 CPython 对象模型…...

PHPBrew终极性能优化指南:10个技巧加速PHP编译安装

PHPBrew终极性能优化指南&#xff1a;10个技巧加速PHP编译安装 【免费下载链接】phpbrew Brew & manage PHP versions in pure PHP at HOME 项目地址: https://gitcode.com/gh_mirrors/ph/phpbrew PHPBrew是一款纯PHP编写的PHP版本管理工具&#xff0c;能够帮助开发…...

从云中心到边缘节点,Java Runtime冷启动优化全解析,将延迟压至87ms以内

第一章&#xff1a;Java边缘运行时部署的演进与挑战随着物联网、5G和实时AI推理场景的爆发式增长&#xff0c;Java应用正加速向边缘侧迁移。然而&#xff0c;传统JVM设计面向服务器长期运行环境&#xff0c;其启动延迟高、内存占用大、冷启动慢等特性与边缘设备资源受限、事件驱…...