交叉熵损失(Cross-Entropy loss)

news2024/9/21 0:48:27

在处理机器学习或深度学习问题时,损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低,模型越好。交叉熵损失是最重要的成本函数。它用于优化分类。对交叉熵的理解取决于对 Softmax 激活函数的理解。

 一、softmax激活函数

激活函数是神经网络的组成部分。如果没有激活函数,神经网络是一个简单的线性回归模型。这意味着激活函数为神经网络提供了非线性。

维基百科:通常作为神经网络的最后一层,将网络的输出标准化为预测输出类别的概率分布。

在这里,Z 表示输出层神经元的值,指数充当非线性函数。随后将这些值除以指数值之和以进行标准化,然后将其转换为概率。

例子:

假设 Z21、Z22、Z23 的值分别为 2.33、-1.46 和 0.56。SoftMax 激活函数应用于每个神经元,并生成以下值。

这些是数据点属于各个类别的概率值,各类别概率之和等于 1。

在这种情况下,很明显输入属于类别 1。因此,如果这些类别中任何一个的概率发生变化,第一类的概率值也会发生变化。

二、交叉熵

交叉熵是给定随机变量或事件集的两个概率分布之间差异的度量。

信息量化了编码和传输事件所需的位数。较低概率的事件具有更多的信息,较高概率的事件具有较少的信息。

在信息论中,我们喜欢描述事件的“惊喜”。事件的可能性越小,就越令人惊讶,这意味着它包含更多信息。

  • 低概率事件令人惊讶):更多信息。
  • 高概率事件不足为奇):信息较少。

给定事件P(x)的概率,可以计算事件x的信息h(x )如下:

h(x) = -log(P(x))

在物理学中,“熵”被用来表示热力学系统所呈现的无序程度。香农将这一概念引入信息论领域,提出了“信息熵”概念,通过对数函数来测量信息的不确定性。

交叉熵(cross entropy)是信息论中的重要概念,主要用来度量两个概率分布间的差异。假定 p和 q是数据 x的两个概率分布,通过 q来表示 p的交叉熵可如下计算:

H(p,q)=- \sum_{x}p(x)logq(x)

交叉熵刻画了两个概率分布之间的距离,旨在描绘通过概率分布 q来表达概率分布 p的困难程度。根据公式不难理解,交叉熵越小,两个概率分布 p和 q越接近。这里仍然以三类分类问题为例,假设数据 x属于类别 1。记数据x的类别分布概率为 y,显然 y=(1,0,0)代表数据 x的实际类别分布概率。记\hat{y}代表模型预测所得类别分布概率。那么对于数据 x而言,其实际类别分布概率 y和模型预测类别分布概率\hat{y}的交叉熵损失函数定义为:

crossEntropy =-ylog{\hat{y}}

神经网络所预测类别分布概率与实际类别分布概率之间的差距越小越好,即交叉熵越小越好。

假设所预测中间值 (z1,z2,z3)经过 Softmax映射后所得结果为 (0.34,0.46,0.20)。由于已知输入数据 x属于第一类,显然这个输出不理想而需要对模型参数进行优化。如果选择交叉熵损失函数来优化模型,则 (z1,z2,z3)这一层的偏导值为 (0.34−1,0.46,0.20)=(−0.66,0.46,0.20)。

可以看出,softmax和交叉熵损失函数相互结合,为偏导计算带来了极大便利。偏导计算使得损失误差从输出端向输入端传递,来对模型参数进行优化。在这里,交叉熵与Softmax函数结合在一起,因此也叫softmax损失(Softmax with cross-entropy loss)。

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

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

相关文章

手机上怎么合成gif?手机图片合成gif分享

手机上的功能越来越丰富,很多电脑上能制作的东西手机上也能制作。那么当我们想要在手机上制作gif动画的时候要怎么操作呢?非常的简单,使用在线制作动画gif(https://www.gif.cn/)网站-GIF中文网,手机自带浏览…

分析某款go扫描器之四

一、概述 上文提到实现IP的探测存活以及tcp扫描的实现,这部分来分析实现本机网卡信息获取,以及维护一张mac地址表以及ip扫描端口状态表,同时实现syn扫描功能。 项目来源:https://github.com/XinRoom/go-portScan/blob/main/util…

K8S(十一)—Service详解

目录 Service发布服务(服务类型)type: ClusterIP选择自己的 IP 地址例子 type: NodePort选择你自己的端口为 type: NodePort 服务自定义 IP 地址配置例子 type: LoadBalancer混合协议类型的负载均衡器禁用负载均衡器节点端口分配设置负载均衡器实现的类别…

互动破千万!冰雪营销两大玩法,小红书数据分析!

2022年冬奥会带火了冰雪运动,到如今“冰雪热”仍在持续。通过千瓜数据,查看小红书平台“冰雪”这一关键词的数据,近30天互动总量超过1300万,官方连续发布的几场活动,皆与冰雪相关,#东北精神上的快乐老家 #追…

js中async和await高级用法

文章目录 一、介绍二、async/await与高阶函数三、控制并发数四、使用async/await优化递归五、异步初始化类实例六、在async函数中使用await链式调用七、结合async/await和事件循环八、使用async/await简化错误处理九、最后 一、介绍 JavaScript的异步编程已经从回调(callback)…

Vue前端设计模式

文章目录 一、什么是设计模式?二、设计几个原则三、常见的设计模式及实际案例3.1、单例模式3.1.1、Element UI3.1.2、Vuex 3.2、工厂模式3.2.1、VNode3.2.2、vue-route 3.3、策略模式3.3.1、表格 formatter3.3.2、表单验证 3.4、代理模式3.4.1、拦截器3.4.2、前端框…

考研小白助力宝典(2)

前言 考研,是一场耗时长久的脑力之战,刻苦勤奋的态度和披荆斩棘的精神外,往往取决于谁抓好了信息利剑!合理得当利用好信息平台,就已经快人一步战胜了大部分的竞争对手了! 目录 着重学习练习 考研相关简介 …

vscode开发python环境配置

前言 vscode作为一款好用的轻量级代码编辑器,不仅支持代码调试,而且还有丰富的插件库,可以说是免费好用,对于初学者来说用来写写python是再合适不过了。下面就推荐几款个人觉得还不错的插件,希望可以帮助大家更好地写…

visio绘制封闭图形并填充颜色

文章目录 一、绘制扇形二、填充颜色 一、绘制扇形 1.文件->选项->开发工具 2.使用圆形和直线绘制如图所示图形 3.选中该图形,选择开发工具->操作->修剪 4.拖动即为扇形。 二、填充颜色 选择开发工具-操作选项,并分别依次点击组合-连接-拆分…

laravel 对接支付,本地穿透问题

本地穿透有好多工具,参考链接:https://zhuanlan.zhihu.com/p/339923535 我这边是用的 NATAPP 官网:https://natapp.cn/ 客户端下载:https://natapp.cn/# NATAPP1分钟快速新手图文教程:https://natapp.cn/article/n…

C# NPOI导出datatable----Excel模板画图表

1、创建Excel模板 2、安装NPOI管理包 3、创建工作簿 (XLSX和XLS步骤一样,以XLS为例) IWorkbook workbook null; string time DateTime.Now.ToString("yyyyMMddHHmmss"); string excelTempPath Application.StartupPath "…

flutter开发实战-第一帧布局完成回调实现

flutter开发实战-第一帧布局完成回调实现 在开发中,我们有时候需要在第一帧布局完成后调用一些相关的方法。这里记录一下是实现过程。 Flutter中有多种不同的Binding,每种Binding都负责不同的功能。下面是Flutter中常见的Binding: 这里简单…

EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(四)CEEMD

往期精彩内容: 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测(三)EMD-LSTM-Attention模型-CSDN博客 风速预测(四)基于Pyt…

25、新加坡南洋理工、新加坡国立大学提出FBCNet:完美融合FBCSP的CNN,EEG解码SOTA水准![抱歉老师,我太想进步了!]

前言: 阴阳差错,因工作需要,需要查阅有关如何将FBCSP融入CNN中的文献,查阅全网,发现只此一篇文章,心中大喜,心想作者哪家单位,读之,原来是自己大导(新加坡工…

2017年第六届数学建模国际赛小美赛B题电子邮件中的笔迹分析解题全过程文档及程序

2017年第六届数学建模国际赛小美赛 B题 电子邮件中的笔迹分析 原题再现: 笔迹分析是一种非常特殊的调查形式,用于将人们与书面证据联系起来。在法庭或刑事调查中,通常要求笔迹鉴定人确认笔迹样本是否来自特定的人。由于许多语言证据出现在电…

pytorch-模型预测概率值为负数

在进行ocr识别模型预测的时候,发现预测的结果是正确的,但是概率值是负数: net_out net(img) #torch.Size([70, 1, 41]) logit, preds net_out.max(2) #41是类别 需要对类别取最大值 preds preds.transpose(1, 0).contiguous().view(-1) …

圆通单号查询,圆通速递物流查询,将指定派件员的单号筛选出来

批量查询圆通速递单号的物流信息,并将指定派件员的单号筛选出来。 所需工具: 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的伙伴记得先注册&#xff…

AIGC:阿里开源大模型通义千问部署与实战

1 引言 通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍…

JS模块化规范之CMD

JS模块化规范之CMD 模块化规范CMD(Common Module Definition)概念基本语法CMD实现 模块化规范 CMD(Common Module Definition) 概念 CommonJS module definition CMD规范专门用于浏览器端,模块的加载时异步的&#x…

macOS 开发 - 报错 Expected expression(空格问题)

文章目录 问题尝试解决方式 问题 一个简单的 查找沙盒内文件的代码,编译不通过,很郁闷 尝试 可以肯定 NSBundle 代码这么写没问题,即使重敲还是报错; 换个位置,甚至 mainBundle 都无法提示出来。 重启 Xcode 也无法…