深度学习|交叉熵

文章目录

什么是交叉熵

熵是用来衡量一个系统的混乱程度,混乱程度也其实代表着整个系统内部的不确定性。
信息量并不是指任意一种信息的量,它是指有助于减少系统内部不确定性的信息的量的大小。
也就是说信息量越大,系统混乱程度越小,熵也就越小。
而接下来的问题是怎么去衡量信息量的大小。
或者换种想法,这个衡量是用什么体系,用什么标准下去衡量(比如说人的生命在法律体系中是无价的,但在资本市场中,人的生命可以转化为劳动力商品,用工资进行结算)

如何构造信息量的函数


如果知道了阿根廷进了决赛且阿根廷赢了决赛,那么就可以知道阿根廷夺冠这件事情。其实也相当于说这两件事情是等价的。
如果将知道这件事情,看成是知道了这件事情背后的信息的话。
那么不妨假设有一个抽象函数f(某件事情)=对应的信息量。
于是有 f ( A B ) = f ( A ) + f ( B ) f(AB)=f(A)+f(B) f(AB)=f(A)+f(B)
而对数函数具有相同的性质 l n A B = l n A + l n B lnAB = lnA+lnB lnAB=lnA+lnB
所以可以尝试用对数函数去拟合f函数。
所以不妨设 f ( x ) = C 1 l o g C 2 x f(x)=C_1log_{C_2}x f(x)=C1logC2x

关于 C 1 C_1 C1参数的选择

f(x)中的x可以对应上x这种情况发生的概率,如果这个x越具体,信息量就越大,越多的限制条件,发生的概率将会越小。
也就是说f(x)要满足随着x的减小,反而有所增大。
所以C1为负数。

关于 C 2 C_2 C2参数的选择

可以以e为底,也可以以2为底,其中以2为底的好处是,可以和计算机贴贴。(计算机底层是用二进制进行计算的,若采用2进制,和计算机会更加兼容)。
比如说一共有4位数据(16种可能),其中0101就可以唯一表示/确定出第5种可能。
(位数越多,说明情况越多,在从不确定的处境进入到确定的处境的过程越发艰难)

一个系统的熵

在这里插入图片描述
比如中国队和法国队打比赛,中国队要赢球的概率非常小,只有1%。也就是说赢起来艰难,赢的条件复杂,需要xx恰好跑位到xx位置,xx之前有认真训练,xx是真材实料的等等条件同时成立,也就是说为了达到1%的成功的确定,需要有很多的信息量。相对法国队赢球来说,中国队赢球的信息量会大很多。
但这是单看单个个体而言的。对于整个系统而言,要考虑单个个体的发生的概率,所以单个个体对整个系统的信息量的贡献为概率乘上对应的信息量。

如何比较两个系统的熵

最简单粗暴的想法是直接计算出两个系统的熵。但这是有问题的,不同模型/系统可能不同的评判标准,对同一件事情的信息量衡量出来的结果可能有所不同。
进而需要对这个熵,进行适当的修改——相对熵/KL散度
在这里插入图片描述
D K L ( P ∣ ∣ Q ) D_{KL}(P||Q) DKL(P∣∣Q),其中P在Q的前面,代表以P作为基准,去衡量Q的差异。其中P和Q对应两套不同的概率模型。
在这里插入图片描述
按等式的直观感受 D K L ( P ∣ ∣ Q ) D_{KL}(P||Q) DKL(P∣∣Q)相当于是将Q调整为P的各种情况下信息量之差的和。
由于f在前面已经有公式,所以可以进一步进行展开。

在这里插入图片描述
在这里插入图片描述
由于吉布斯不等式的存在,散度必然是大于0的。

交叉熵在神经网络中的应用

在这里插入图片描述
所以应用就是要找到其对应关系。
比如说 p i , q i , m p_i,q_i,m pi,qi,m分别对应神经网络中的什么?
在这里插入图片描述
在神经网络中,可以用标签来代表 p i p_i pi(该情况出现的可能),用模型预测为猫的概率为 q i q_i qi,而m是要处理的图像的总量。
在这里插入图片描述

参考

王木头讲科学

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

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

相关文章

听GPT 讲Rust源代码--compiler(15)

File: rust/compiler/rustc_arena/src/lib.rs 在Rust源代码中&#xff0c;rustc_arena/src/lib.rs文件定义了TypedArena&#xff0c;ArenaChunk&#xff0c;DroplessArena和Arena结构体&#xff0c;以及一些与内存分配和容器操作相关的函数。 cold_path<F: FnOnce,drop,new,…

解决 POST http://x.x.x.x:8000/aaa/ net::ERR_CONNECTION_TIMED_OUT

记录一下我遇到的问题和解决办法 我的项目前后端分离&#xff0c;在前端用的vue访问后端时连接不上后端&#xff0c;一切操作都触发不了后端&#xff0c;数据也传不到后端去&#xff1b; 原因&#xff1a;url有问题&#xff0c;url地址写的不是本机&#xff0c;所以导致连接超…

UE5.1_UMG序列帧动画制作

UE5.1_UMG序列帧动画制作 UMG序列帧动画制作相对比较简单&#xff0c;不像视频帧需要创建媒体播放器那么复杂&#xff0c;以下简要说明&#xff1a; 1. 事件函数 2. 准备序列帧装入数组 3. 构造调用事件函数 4. 预览 序列帧UMG0105 5. 完成&#xff01;按需配置即可。

MySQL之数据类型建表以及约束

SELECT(查询) 查询操作用于从数据库中检索数据 查询可以基于不同的条件&#xff0c;如字段值、范围、排序等 查询结果可以返回单个记录或多个记录 查询指定列 select 列名 from 表名 列名&#xff1a;代表从指定的列名中查找 , 如果是查找对应的多列&#xff0c;则用英文…

【鸿蒙4.0】安装DevEcoStudio

1.下载安装包 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者华为鸿蒙DevEco Studio是面向全场景的一站式集成开发环境,&#xff0c;在鸿蒙官网下载或升级操作系统开发工具DevEco Studio最新版本&#xff0c;SDK配置和下载&#xff0c;2.1支持Mac、Windows操作系统。…

华为MDC610接口说明

1、MDC610对外功能接口 2、1、MDC610硬件技术规格

新火种AI|三星打响“AI手机”第一枪,2024会是AI终端元年吗?

作者&#xff1a;文子 编辑&#xff1a;小迪 AI手机&#xff0c;距离取代传统手机不远了。 三星新年第一炸&#xff0c;AI手机重磅来袭 2024年才刚刚开始&#xff0c;手机行业就迎来第一个王炸。 作为常年盘踞销量全球前三的品牌&#xff0c;三星突然宣布&#xff0c;将在北…

智慧工厂:科技与制造融合创新之路

随着科技的迅猛发展&#xff0c;智慧工厂成为制造业领域的热门话题。智慧工厂利用先进的技术和智能化系统&#xff0c;以提高生产效率、降低成本、增强产品质量和灵活性为目标&#xff0c;正在引领着未来制造业的发展。 智慧工厂的核心是数字化和自动化生产&#xff0c;相较于传…

Kettle Local引擎使用记录(基于Kettle web版数据集成开源工具data-integration源码)

Kettle Web &#x1f4da;第一章 前言&#x1f4da;第二章 demo源码&#x1f4d7;pom.xml引入Kettle引擎核心文件&#x1f4d7;java源码&#x1f4d5; controller&#x1f4d5; service&#x1f4d5; 其它&#x1f4d5; maven settings.xml &#x1f4d7;测试&#x1f4d5; 测试…

梦想家内容管理系统(Dreamer CMS)跨站请求伪造漏洞

梦想家内容管理系统&#xff08;Dreamer CMS&#xff09;跨站请求伪造漏洞 目标:GitHub - iteachyou-wjn/dreamer_cms: Dreamer CMS 梦想家内容发布系统采用流行的SpringBoot搭建&#xff0c;支持静态化、标签化建站。不需要专业的后台开发技能&#xff0c;会HTML就能建站&…

关于CNN卷积神经网络与Conv2D标准卷积的重要概念

温故而知新&#xff0c;可以为师矣&#xff01; 一、参考资料 深入解读卷积网络的工作原理&#xff08;附实现代码&#xff09; 深入解读反卷积网络&#xff08;附实现代码&#xff09; Wavelet U-net进行微光图像处理 卷积知识点 CNN网络的设计论&#xff1a;NAS vs Handcra…

解决Gitee每次push都需要输入用户名和密码

其实很简单&#xff0c;只需要使用命令 git config --global credential.helper store 在你下次push时只需要再输入一次用户名和密码&#xff0c;电脑就会保存下来&#xff0c;之后就无需进行输入了。

OpenHarmony底座升级指南(3.2升级4.0)

前言 本文旨在帮助开发者完成底座升级&#xff0c;文中主要以OpenHarmony 3.2 release 升级至OpenHarmony 4.0 release为模板描述。 一、流程概览&#xff1a; 1.1 准备工作 在准备阶段&#xff0c;需要完整收集所有的定制化修改&#xff0c;明确修改人&#xff1b;并且要将…

嵌入式项目——平衡小车(1)

焊接 驱动板需要焊接的如上图。 陀螺仪8pin排母电机两路排线插口。(个别同学需要焊接)两个电池仓,注意电池仓分正反。 安装 底部电池板 4个 双通尼龙柱M3*224个 尼龙螺钉M3*6电机驱动板

【算法笔记】深入理解dfs(两道dp题)

DFS过程的概述 一个一个节点的搜&#xff0c;如果是树状结构的话&#xff0c;先找到最左边那一条分支搜到最后一个节点&#xff0c;这个时候最后一个节点&#xff08;假设是b&#xff09;的数据会被更新&#xff08;具体看题目的要求&#xff09;&#xff0c;然后返回到上一个…

【计算机图形学】NAP: Neural 3D Articulation Prior

文章目录 1. 这篇论文做了什么事&#xff0c;有什么贡献&#xff1f;2. Related Work铰接物体建模3D中的Diffusion model扩散模型 3. Pipeline铰接树参数化基于Diffusion的铰接树生成去噪网络 4. 实验评价铰接物体生成——以往做法与本文提出的新指标NAP捕捉到的铰接物体分布质…

玩转Mysql 四(MySQL逻辑架构与数据引擎)

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。 一、MySQL逻辑架构 1、从Oracle收购MySQL后&#xff0c;MySQL逻辑架构受Oracle影响&#xff0c;MySQL8版本中逻辑架构受Oracle的影响逐步完善查询缓存&#xff0c;O…

数据结构:树详解

创建二叉树 给出了完整的先序遍历序列&#xff0c;子树为空用’#’表示&#xff0c;所以这样我们在通过先序遍历序列创建二叉树时我们直到先序遍历序列是先进行根结点&#xff0c;然后左子树最后右子树的顺序进行遍历的&#xff0c;所以对于完整的先序遍历序列我们可以直到先序…

VS code的使用介绍

VS code的使用介绍 简介下载和安装常用的插件使用教程快捷键 集成Git未找到 Git。请安装 Git&#xff0c;或在 "git.path" 设置中配置。操作步骤打开文件夹初始化仓库文件版本控制状态提交文件到git打开git操作栏位 好用的插件ChineseDraw.io Integration实体关系 Gi…

Windows电脑无法睡眠解决办法

原因 电脑无法休眠的原因&#xff0c;是打开离开模式策略后&#xff0c;windows内核会持续调用CPU资源&#xff0c;导致系统一直在运行而无法关闭。关闭后就好了。 解决步骤 修改注册表 操作步骤如下: 按winR&#xff0c;输入regedit&#xff0c;打开注册表编辑页面。输入如下…