深度学习|交叉熵

文章目录

什么是交叉熵

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

如何构造信息量的函数


如果知道了阿根廷进了决赛且阿根廷赢了决赛,那么就可以知道阿根廷夺冠这件事情。其实也相当于说这两件事情是等价的。
如果将知道这件事情,看成是知道了这件事情背后的信息的话。
那么不妨假设有一个抽象函数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,一经查实,立即删除!

相关文章

C语言浮点型详解

1. 浮点型变量介绍 1.1 类型概览 浮点型变量用于存储小数数值,C语言提供了三种主要的浮点数类型:单精度浮点型(float)、双精度浮点型(double)、长双精度浮点型(long double)。 类…

听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,…

MySQL 8.0中新增的功能(三)

字符集支持 默认字符集已从latin1更改为utf8mb4。utf8mb4字符集新增了几个排序规则&#xff0c;包括utf8mb4_ja_0900_as_cs&#xff0c;这是MySQL中首个用于Unicode的日语特定排序规则。 JSON增强功能 MySQL的JSON功能性方面进行了以下增强或添加&#xff1a; ->> &a…

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

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

vector_01_使用vector第一步是什么?

C 中使用vector来存储数据&#xff0c;其打开方式是什么&#xff1f; 开始第一步&#xff0c;定义一个vector类型的变量&#xff0c;try 一try。 #include <iostream> #include <utility> // #include <vector> /*先注释&#xff0c;编译器会报什么错误&am…

UE5.1_UMG序列帧动画制作

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

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

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

uniapp知识大杂烩?

UniApp是一个基于Vue.js框架的跨平台开发框架&#xff0c;可以用于同时开发iOS、Android和Web应用程序。下面是一些UniApp的知识点大杂烩&#xff1a; 跨平台开发&#xff1a;UniApp采用了一套代码多端运行的原则&#xff0c;可以使用一种语言&#xff08;通常是Vue.js&#xf…

【鸿蒙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;相较于传…

(rhel8)man rpm个人学习笔记

1.一些自己原先不懂的英文英文单词简介 单词 释义exampleverify验证、核实、证实、核对select选择、选取select-optionsencapsulate概括、压缩、简述... used to encapsulate software to be install,and source packages,...recipe配方、方法same as belownecesssary必要的co…

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; 测试…

6-Docker Compose-同时管理mysql和tomcat application

1.创建docker-compose.yml文件,添加如下内容并保存 vim docker-compose.yml [root@centos79 ~]# cat docker-compose.yml #yml文件 version: 3 services:mysql-ztj:restart: alwaysimage: daocloud.io/library/mysql:5.7.4container_name: mysql-ztjports:- 3306:3306envir…

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

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

SLAM ORB-SLAM2(15)单应矩阵的计算和评分

SLAM ORB-SLAM2(15)单应矩阵的计算和评分 1. 前言2. 单应矩阵2.1. 概念2.2. 推导2.3. 计算原理3. ComputeH213. CheckHomography1. 前言 在 《SLAM ORB-SLAM2(13)查找单应矩阵》 中了解到 查找单应矩阵主要过程: 特征点坐标归一化 Normalize函数 Normalize 参考 《SLAM O…

华为HCIE课堂笔记第十一章 IPv6概述

第十一章 IPv6概述 11.1 背景 根本原因是&#xff1a;IPv4地址枯竭&#xff0c;IPv6是IPV4的升级版本 11.1.1 IPv6地址的优势&#xff1a; 地址空间足够大 128bit支持即插即用底层化地址结构&#xff1a;地址分配有一定的标准相比于IPv4简化了报文的头部&#xff0c;提高了…

关于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;之后就无需进行输入了。