交叉熵损失函数(Cross-Entropy Loss Function)

news2024/11/15 17:25:08

交叉熵损失函数(Cross-Entropy Loss Function)

在处理机器学习或深度学习问题时,损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低,模型越好。交叉熵损失是最重要的成本函数。它用于优化分类模型。对交叉熵的理解取决于对 Softmax 激活函数的理解。我在下面写了另一篇文章来涵盖这个先决条件

考虑一个 4 类分类任务,其中图像被分类为狗、猫、马或猎豹。

上图中,Softmax 将 logits 转换为概率。交叉熵的目的是获取输出概率(P)并测量与真值的距离(如下图所示)。

对于上面的示例,类 dog 的所需输出是 [1,0,0,0] ,但模型输出 [0.775, 0.116, 0.039, 0.070]

目标是使模型输出尽可能接近期望的输出(真值)。在模型训练过程中,模型权重会相应迭代调整,目的是最小化交叉熵损失。调整权重的过程定义了模型训练,随着模型不断训练并且损失最小化,我们说模型正在学习。

交叉熵的概念可以追溯到信息论领域,克劳德·香农 (Claude Shannon) 在 1948 年引入了熵的概念。在深入研究交叉熵成本函数之前,让我们先介绍一下熵。

熵(Entropy)

随机变量 X 的熵是变量可能结果固有的不确定性水平。

对于 p(x) — 概率分布和随机变量 X,熵定义如下:

方程 1:熵的定义。注意 log 以 2 为底计算。

负号的原因: log(p(x))<0 对于 (0,1) 中的所有 p(x) 。 p(x) 是概率分布,因此值必须介于 0 和 1 之间。

log(x) 的绘图。对于介于 0 和 1 之间的 x 值,log(x) <0(负数)。

H(x) 的值越大,概率分布的不确定性越大,值越小,不确定性越小。

示例

考虑以下 3 个具有形状的“容器”:三角形和圆形

容器1:选择三角形的概率是26/30,选择圆形的概率是4/30。因此,选择一种形状和/或不选择另一种形状的概率更加确定。

容器 2:选择三角形的概率为 14/30,否则为 16/30。几乎有 50-50 的机会选择任何特定形状。选择给定形状的确定性低于 1。

容器 3:从容器 3 中选取的形状很可能是圆形。选取圆形的概率为 29/30,选取三角形的概率为 1/30。非常确定所选择的形状将是圆形。

让我们计算熵,以便我们确定我们对选择给定形状的确定性的断言。

正如预期的那样,第一个和第三个容器的熵小于第二个容器。这是因为在容器 1 和 3 中选择给定形状的概率比在容器 2 中更加确定。现在我们可以继续讨论交叉熵损失函数。

交叉熵损失函数(Cross-Entropy Loss Function)

也称为对数损失、对数损失或逻辑损失。将每个预测类别概率与实际类别所需输出 0 或 1 进行比较,并计算分数/损失,根据概率与实际预期值的差距对概率进行惩罚。惩罚本质上是对数的,对于接近 1 的大差异产生大分数,对于趋向于 0 的小差异产生小分数。

在训练期间调整模型权重时使用交叉熵损失。目的是最小化损失,即损失越小模型越好。完美模型的交叉熵损失为 0。

交叉熵定义为:

二元交叉熵损失(Binary Cross-Entropy Loss)

对于二元分类(具有两个类别 - 0 和 1 的分类任务),我们将二元交叉熵定义为

二元交叉熵通常计算为所有数据示例的平均交叉熵,即

示例

考虑具有以下 Softmax 概率 (S) 和标签 (T) 的分类问题。目标是根据这些信息计算交叉熵损失。

Logits(S) 和单热编码真值标签(T) 以及分类交叉熵损失函数用于测量预测概率和真值标签之间的“距离”。

分类交叉熵计算如下


Softmax 是连续可微函数。这使得计算损失函数对于神经网络中每个权重的导数成为可能。该属性允许模型相应地调整权重以最小化损失函数(模型输出接近真实值)。

假设经过一些模型训练迭代后,模型输出以下 logits 向量


0.095 小于之前的损失,即 0.3677 暗示模型正在学习。优化过程(调整权重以使输出接近真实值)持续到训练结束。

一般深度学习框架提供了以下交叉熵损失函数:二元、分类、稀疏分类交叉熵损失函数。

分类交叉熵和稀疏分类交叉熵(Categorical Cross-Entropy and Sparse Categorical Cross-Entropy)

分类交叉熵和稀疏分类交叉熵都具有与等式 2 中定义的相同的损失函数。两者之间的唯一区别在于如何定义真值标签。

  • 当真实标签是 one-hot 编码时,使用分类交叉熵,例如,对于 3 类分类问题,我们有以下真实值 [1,0,0][0,1,0][0,0,1].
  • 在稀疏分类交叉熵中,真值标签是整数编码的,例如 3 类问题的 [1][2][3]

reference

@article{Koech2023Aug,
author = {Koech, Kiprono Elijah},
title = {{Cross-Entropy Loss Function - Towards Data Science}},
journal = {Medium},
year = {2023},
month = aug,
urldate = {2023-11-29},
publisher = {Towards Data Science},
language = {english},
url = {https://towardsdatascience.com/cross-entropy-loss-function-f38c4ec8643e}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

堆栈_有效括号

题比较特殊&#xff0c;主要在于它的所有要输入&#xff0c;都是左括号开头&#xff0c;没有右括号开头的&#xff0c;比如"] ["&#xff0c;这种是不算为括号的&#xff0c;由于必然是对称的&#xff0c;若能符合&#xff0c;因而直接在遇到右括号时&#xff0c;检查…

【Java 并发编程】进程线程、lock、设计模式、线程池...

博主&#xff1a;_LJaXi Or 東方幻想郷 专栏&#xff1a; Java | 从入门到入坟 Java 并发编程 并发编程多线程的入门类和接口线程组和线程优先级线程的状态及主要转化方法线程间的通信重排序和 happens-beforevolatilesynchronized 与锁CAS 与原子操作AQS计划任务Stream 并行计…

java深浅拷贝

对于Java拷贝的理解 在java语言中&#xff0c;当我们需要拷贝一个对象的时候&#xff0c;常见的会有两种方式的拷贝&#xff1a;深拷贝和浅拷贝。 浅拷贝 只是拷贝了原对象的地址&#xff0c;所以原对象的任何值发生改变的时候&#xff0c;拷贝对象的值也会随之而发生变化。 拿…

广州华锐视点提供AI虚拟主播定制,为品牌注入新活力!

随着科技的飞速发展&#xff0c;人工智能已经逐渐渗透到我们生活的方方面面。在这个信息爆炸的时代&#xff0c;如何让您的品牌在众多竞争对手中脱颖而出&#xff0c;成为行业的佼佼者&#xff1f;答案就是——AI虚拟主播&#xff01; 广州华锐视点提供AI数字人定制服务&#x…

详解云WAF:免费GOODWAF归来

文前聊心 说说这篇文章的目的&#xff1a; 介绍一下自己的开发升级的项目&#xff1a;GOODWAF&#xff0c;看名字也能看的出来这是一款防火墙&#xff0c;但它不同于现在的软件防火墙&#xff0c;它是一款云WAF防火墙。 其实GOODWAF这个IP概念前两年就存在了&#xff0c;但为什…

计算机组成原理-存储系统基本概念

文章目录 现代计算机的结构总览存储器的层次化结构各存储器的速度与价格存储器的分类&#xff08;按层次分类&#xff09;存储器的分类&#xff08;按存储介质分类&#xff09;存储器的分类&#xff08;按存取方式分类&#xff09;存储器的分类&#xff08;按信息的可更改性分类…

Qt串口助手

QT5 串口助手 ​ 由于C课程作业的需要&#xff0c;用QT5写了个简陋的串口助手。只作为一个简单的案例以供参考&#xff0c;默认读者具有C基础和了解简单的Qt操作。 功能展示 【用QT写了个简单的串口助手】 准备工作 Qt自带有<QSerialPort> 库, 可以方便地配置和调用…

neo4j使用之超神之旅

1.查询整个链路中任意一段的关系类型是“department”的链路数据 MATCH path (n)-[r1 *0..7 {relation_type:once2once}]-(m) where id(n)0 and any(x in relationships(path) where type(x)department) return path效果图&#xff1a; 2.查询整个链路中最后一段的关系类型…

代币化:2024年的金融浪潮预示着什么?

自“TradFi”领袖到加密专家&#xff0c;各方预测代币化机会高达数十万亿。虽然已有引人注目的用例&#xff0c;但与未来几年可能在链上转移的大量数字化资产相比&#xff0c;这些仅是冰山一角。 代币化何时会变为洪流&#xff1f;什么阻碍了其发展&#xff1f; 今年10月&…

TA-Lib学习研究笔记——Price Transform (五)

TA-Lib学习研究笔记——Price Transform &#xff08;五&#xff09; 1.AVGPRICE Average Price 函数名&#xff1a;AVGPRICE 名称&#xff1a;平均价格函数 语法&#xff1a; real AVGPRICE(open, high, low, close) df[AVGPRICE] tlb.AVGPRICE(df[open],df[high],df[low…

7-1 哈夫曼树与哈夫曼编码

哈夫曼树与哈夫曼编码 题目描述输入格式输出格式输入样例输出样例 分数 30 作者 伍建全 单位 重庆科技学院 题目描述 哈夫曼树(Huffman Tree)又称最优二叉树&#xff0c;是一种带权路径长度最短的二叉树。所谓树的带权路径长度&#xff0c;就是树中所有的叶结点的权值乘上其到…

应用场景丨社区建筑结构健康监测系统

随着社区的快速发展&#xff0c;社区建筑的结构安全与健康问题日益受到广泛关注。考虑到社区建筑的特点&#xff0c;如人口密集、结构复杂等&#xff0c;建筑结构健康监测系统的应用显得尤为重要。 社区建筑结构健康监测系统的效果 1. 结构安全性提升&#xff1a;通过实时监测…

企业软件的分类有哪些|app小程序定制开发

企业软件的分类有哪些|app小程序定制开发 企业软件是指为了满足企业运营和管理需求而开发的软件系统。根据不同的功能和应用领域&#xff0c;企业软件可以分为以下几个分类&#xff1a; 1. 企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;ERP&#xff09;软…

什么是灯塔工厂?灯塔工厂的作用?

什么是灯塔工厂&#xff1f; "灯塔工厂"概念源于德国的工业4.0战略&#xff0c;又称“工业4.0示范工厂”或“标杆工厂”&#xff0c;代表工业领域顶级的智能制造能力。2018年&#xff0c;由世界经济论坛和麦肯锡共同推出。 灯塔工厂是通过数字化、网络化和智能化手…

国产CPU计算平台选型指南

信创&#xff0c;这两年已经不是什么新鲜词了&#xff0c;随着29号文、79号文的实施落地&#xff0c;信创产品加速从党政走向八大关基行业。 八大行业中&#xff0c;金融、教育、电信、石油等企业步伐更大&#xff0c;很多企业已经从窗口业务、日常办公这类轻量应用场景&#…

网络安全应该怎么学?(0基础小白)

一、网络安全应该怎么学&#xff1f; 1.计算机基础需要过关 这一步跟网安关系暂时不大&#xff0c;是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通&#xff0c;可以与学习其他课程同步进行。 2.渗透技…

佳易王棋牌室灯控计时计费管理系统软件教程,佳易王棋牌室内零食怎么计费

佳易王棋牌室灯控计时计费管理系统软件教程&#xff0c;佳易王棋牌室内零食怎么计费 一、佳易王棋牌桌球计时计费软件部分功能简介&#xff1a; 1、计时计费功能 &#xff1a;开台时间和所用的时长直观显示&#xff0c;每3秒即可刷新一次时间。 2、销售商品功能 &#xff1a;…

2023年【P气瓶充装】找解析及P气瓶充装复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 P气瓶充装找解析参考答案及P气瓶充装考试试题解析是安全生产模拟考试一点通题库老师及P气瓶充装操作证已考过的学员汇总&#xff0c;相对有效帮助P气瓶充装复审模拟考试学员顺利通过考试。 1、【多选题】CNG双燃料汽车…

软件测试面试经历和上岸后工作分享

哈喽、因为最近很多小伙伴私信问我的比较多&#xff0c;今天就专门说下&#xff0c;之前为甚转行和怎么选机构就不和大家细说了&#xff0c;之前的文章和视频也都有提到过。 今天主要是和大家说下自己转行后的感受和面试时候的一些经历&#xff0c;希望能给正在转行&#xff0c…

轻松搭建Nextcloud私有云盘并实现公网访问本地资源

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…