与信息熵相关的概念梳理(条件熵/互信息/相对熵/交叉熵)

2023-05-16

香农信息量

信息量表示不确定性的大小。 信息量的单位是比特(bit)。

香 农 信 息 量 = log ⁡ 1 p = − log ⁡ p ( 以 2 为 底 ) 香农信息量=\log\frac{1}{p}=-\log p\quad(以2为底) =logp1=logp(2)

上式中,p越小,则不确定性越大,包含的信息量就越多。比如32支球队,在无任何先验信息的前提下,用二分法猜冠军队伍,最多猜5次,那么信息量就是 log ⁡ 1 32 = 5 \log \frac{1}{32}=5 log321=5


信息熵(Entropy)

用于衡量信息量和变量的不确定度。熵越大,所涵盖的信息量越大,变量的不确定度越大。对于任意一个随机变量X,它的熵定义如下:
H ( X ) = − ∑ x ∈ X P ( x ) log ⁡ P ( x ) H(X)=-\sum_{x\in X}P(x)\log P(x) H(X)=xXP(x)logP(x)
当X中每个x的概率P(x)相等时,X的不确定度最大,熵最大,也就是其涵盖的信息量最大。

熵的概念来源于热力学中的熵,代表系统中的混乱程度(也就是不确定度)。熵越大,系统越混乱,越接近与均匀分布。(很容易想象,如果系统的分布很不均匀,也就是有某种规律在里面,那么系统的混乱程度就低)


条件熵(Conditional Entropy)

条件熵的含义是:假定X和Y是两个随机变量。现在我们知道X和Y同时出现的概率(联合分布),以及在Y取不同值的前提下X的概率分布(条件概率分布)。那么定义X在Y的条件下的条件熵为:
H ( X ∣ Y ) = − ∑ x ∈ X , y ∈ Y P ( x , y ) l o g P ( x ∣ y ) H(X|Y)=-\sum_{x\in X,y\in Y}P(x,y)logP(x|y) H(XY)=xX,yYP(x,y)logP(xy)
可以证明,H(X)>=H(X|Y)。也就是说多了Y的信息后,关于X的不确定性下降了。在统计语言模型中,如果把Y看成是前一个字,那么在数学上就证明了二元模型的不确定性小于一元模型。

当Y与X完全无关(独立)时,H(X|Y)=H(X)

同理,可以定义有两个条件的条件熵
H ( X ∣ Y , Z ) = − ∑ x ∈ X , y ∈ Y , z ∈ Z P ( x , y , z ) l o g P ( x ∣ y , z ) H(X|Y,Z)=-\sum_{x\in X,y\in Y,z\in Z}P(x,y,z)logP(x|y,z) H(XY,Z)=xX,yY,zZP(x,y,z)logP(xy,z)
还可以证明H(X|Y)>=H(X|Y,Z)。也就是说,三元模型应该比二元的好。


互信息(Mutual Information)

互信息用来表示事件X和Y的相关性。互信息是一个取值在0到min(H(X),H(Y))之间的函数。当X和Y完全相关时,它的取值是H(X),同时H(X)=H(Y);当X和Y完全不相关时,X与Y的互信息为0。互信息的公式如下:
I ( X ; Y ) = ∑ x ∈ X , y ∈ Y P ( x , y ) l o g P ( x , y ) P ( x ) P ( y ) = H ( X ) − H ( X ∣ Y ) I(X;Y)=\sum_{x\in X,y\in Y}P(x,y)log\frac{P(x,y)}{P(x)P(y)}=H(X)-H(X|Y) I(X;Y)=xX,yYP(x,y)logP(x)P(y)P(x,y)=H(X)H(XY)


相对熵(Relative Enrtopy)

又叫KL散度(Kullback-Leibler Divergence)
K L ( f ( x ) ∣ ∣ g ( x ) ) = ∑ x ∈ X f ( x ) ⋅ log ⁡ f ( x ) g ( x ) KL(f(x)||g(x))=\sum_{x\in X}f(x)\cdot \log\frac{f(x)}{g(x)} KL(f(x)g(x))=xXf(x)logg(x)f(x)
相对熵也用来衡量相关性,但和变量的互信息不同,它用来衡量两个取值为正数的函数的相似性。

不必关心公式本身,只要记住下面三条结论就好:

  1. 如果两个函数完全相同,那么它们的相对熵为0
  2. 相对熵越大,两个函数的差异越大;相对熵越小,两个函数的差异越小
  3. 对于概率分布或者概率密度函数(>0),如果取值都大于0,那么相对熵可以度量两个随机分布的差异性

需要注意,相对熵是不对称的,即:
K L ( f ( x ) ∣ ∣ g ( x ) ) ≠ K L ( g ( x ) ∣ ∣ f ( x ) ) KL(f(x)||g(x)) \ne KL(g(x)||f(x)) KL(f(x)g(x))=KL(g(x)f(x))
因此为了方便,詹森和香农剔除一种新的相对熵计算方法,将不等式两边取平均,即:
J S ( f ( x ) ∣ ∣ g ( x ) ) = 1 2 [ K L ( f ( x ) ∣ ∣ g ( x ) ) + K L ( g ( x ) ∣ ∣ f ( x ) ) ] JS(f(x)||g(x))=\frac{1}{2}[KL(f(x)||g(x))+KL(g(x)||f(x))] JS(f(x)g(x))=21[KL(f(x)g(x))+KL(g(x)f(x))]


交叉熵(Cross-Entropy)

对于一个随机事件,其真实概率分布为p(x),从数据中得到的概率分布为q(x),则我们定义,交叉熵为:
H ( p , q ) = ∑ i p ( x ) log ⁡ 1 q ( x ) = − ∑ i p ( x ) log ⁡ q ( x ) H(p,q)=\sum_ip(x)\log\frac{1}{q(x)}=-\sum_ip(x)\log q(x) H(p,q)=ip(x)logq(x)1=ip(x)logq(x)
理解:

用p的熵来衡量识别一个真实分布的信息量: H ( p ) = ∑ p log ⁡ 1 p H(p)=\sum p\log \frac{1}{p} H(p)=plogp1

用q来估计真实分布为p的样本的信息量: H ( p , q ) = ∑ p log ⁡ 1 q H(p,q)=\sum p\log \frac{1}{q} H(p,q)=plogq1

则估计多出来的冗余信息量 D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = ∑ p log ⁡ p q D(p||q)=H(p,q)-H(p)=\sum p\log\frac{p}{q} D(pq)=H(p,q)H(p)=plogqp (就是KL散度)

在机器学习中,通常设定p为真实标记的分布,q为训练后模型预测标记的分布。很容易发现:
H ( p , q ) = H ( p ) + D K L ( p ∣ ∣ q ) H(p,q)=H(p)+D_{KL}(p||q) H(p,q)=H(p)+DKL(pq)
即:pq的交叉熵=p的信息熵+pq的KL散度(相对熵)

由于真实分布的信息熵H§是固定不变的,因此我们在机器学习中就用交叉熵作为损失函数。

显然, H ( p , q ) ≥ H ( p ) H(p,q)\ge H(p) H(p,q)H(p)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与信息熵相关的概念梳理(条件熵/互信息/相对熵/交叉熵) 的相关文章

  • 2021年Redis面试题(持续更新)

    目录 1 redis基础redis 中的数据类型有哪些为什么说redis能够快速执行 2 Redis中的五种数据结构string 字符串 list 列表 set 集合 hash 哈希 zset 有序集合 3 Redis的持久化Redis 的
  • 吐槽一下csdn博客选中文字之后的悬浮窗

    悬浮窗出来的莫名其妙 xff0c 还会挡文字 xff0c 展示一下我框一段文字出现的一百种情况 xff0c csdn是否考虑出一个设置可以自定义把这个功能关闭和开启 看文章很自然的会选中文字一行一行的看 xff0c 我相信很多人都是这样的
  • c语言基础

    基本语法 预定义常量及类型 函数结果状态代码 span class token macro property span class token directive hash span span class token directive k
  • c语言实现基础的排序

    1 插入排序 1 1 直接插入排序 span class token keyword void span span class token function insert sort span span class token punctua
  • 流程图怎么画

    前言 最近在看博客的时候发现很多流程图都不是流程图 xff0c 想画成流程图但是总有些时候会变了样子 xff0c 所以我就想说说流程图到底因该怎么画 组成 流程图一般由由圆角矩形 矩形 菱形 平行四边形 箭头组成 作用 流程图一般都是用圆角
  • mybatis-plus使用中遇到的问题

    mybatis plus使用中遇到的问题 mapper配置问题mybatis plus与mybatis冲突mybatis plus与pagehelper冲突 最近新搭一个测试项目 xff0c 使用了 mybatis plus当前的最新版本
  • 解决“将截断字符串或二进制数据。语句已终止。”的问题

    在EF中 xff0c 使用CodeFirst给实体添加约束的时候 xff0c 使用NeGut控制台进行更新到数据库中 xff0c 先使用add migration migrationName命令进行创建 xff08 migrationNam
  • Struts2的基本原理与实现

    Struts2是什么 百度说的 Struts2是一个基于MVC设计模式的Web应用框架 xff0c 它本质上相当于一个servlet xff0c 在MVC设计模式中 xff0c Struts2作为控制器 Controller 来建立模型与视
  • 如何用EA优雅的画流程图

    绘制流程图 1 首先在EA中新建一个流程图 xff1a 2 添加图形 添加需要的图形 xff0c 同时每个图形上面有附加的说明 xff0c 说明和图形之间的相对位置是可以移动的 不过对于画流程图来说 xff0c 还是建议将说明放在图形的正中
  • Android获得手机唯一设备ID号

    在安卓的工程中 xff0c 往往需要获得手机设备唯一的ID号 xff0c 我们可以用TelephonyManager类来获得 xff1a 首先声明一个TelephonyManager类的对象 xff1a 接着声明一个String类型的变量
  • (综合)xorg-xserver相关完全解析

    本文主要是从以下几个方面介绍xorg xserver 相关的知识 1 linux系统图形界面框架 2 xserver 和x client启动过程 3 图形2d xff0c 3d加速原理简介 4 xserver主分支代码解析 5 xserve
  • 小新 Pro 13‘ 2020 macOS 安装教程

    小新 Pro 13 2020 macOS 安装教程 电脑配置 CPU xff1a Intel Core i5 10210U CPU 64 1 60GHz 4C8T RAM xff1a 板载 16 GB 2666 MHz DDR4 硬盘 xf
  • IDEA社区版创建spring boot项目的安装插件

    由于最近idea的官方查的有点严 xff0c pojie的企业版idea总失效 xff0c 现在给大家说一下社区版idea创建spring项目的一个方法 xff01 xff01 xff01 在项目实战中了解到的IDEA创建springboo
  • 软件工程论述题:衡量模块独立性的两个标准是什么?各表示什么含义?

    8 衡量模块独立性的两个标准是什么 各表示什么含义 内聚和耦合 内聚 又称为块内联系 指模块内部各成分之间相互关联的程度 以高内聚为设计目标 耦合 也称块间联系 模块之间相互联系程度的度量 联系越紧密 耦合性越强 独立性越差 以低耦合为设计
  • linux如何查看wifi信号强弱

    在linux中观察wifi信号强弱 xff0c 可以通过dBm数值来判断 现在来看这个所谓的dBm xff0c 数值范围在 XX 0之间 这个数越大 xff0c 信号强度越高 50dBm 0dBm范围内 xff0c 恭喜你 xff0c 你的
  • Edge浏览器的书签(收藏夹)文件夹地址在哪?

    最近因为工作电脑经常重装系统 xff0c 所以每次重装系统之前都要备份一些数据 xff0c Edge浏览器这两年突然香了起来 xff0c 插件yyds xff01 所以平时生活还是使用Edge会多一点 xff0c 但是收藏夹备份却吃了大亏
  • CCS5.4+Proteus8的F28027实践课二、定时器0控制LED流水灯

    刚游泳回来 xff0c 看到昨晚那篇博客访问量比较高 xff0c 对我是莫大的鼓励 xff0c 所以马不停蹄的去找了相关的手册准备我们今天的课程 今天我们要说的是用定时器0产生的定时中断让LED闪烁 大家都是大部分都是工科出身 xff0c
  • dns2tcp搭建DNS隧道绕过校园网

    1 问题场景 在学校是如果校园网没钱了 xff0c 难道就不能上网了 xff1f xff1f xff1f xff1f 对于从事技术的人来说尤其是学计算机出身的人来说这是不能容忍的 我们看下面场景 xff1a 当我们校园网没有认证时 xff0
  • 关闭浏览器的跨域

    无损关闭浏览器的跨域 关闭浏览器的安全模式 注意 xff01 这样会导致一些网站无法访问 xff0c 比如谷歌无法登录等 所以建议使用一个非主要的浏览器开启 编辑桌面的chrome 或者 edge 浏览器快捷方式 右键快捷方式 xff0c
  • CentOS安装MySQL(YUM源安装)

    安装mysql主要分为两种方式 xff0c 本次简单介绍使用YUM源进行安装mysql xff0c 如果不是使用docker xff0c 可以跳过步骤1 2 1 docker环境准备 在安装mysql之前 xff0c 请先确认使用的cent

随机推荐

  • 将门禁卡写入到手机、手环,加密卡也能写

    前言 准备材料 IC卡操作 读取IC卡数据 xff08 必看 xff09 写入到小米手环 写入到带有NFC的手机 复制IC卡 ID卡操作 读取ID卡数据 复制ID卡 前言 门禁卡大多以IC卡 ID卡为主IC卡又分为UID CUID等等只有I
  • Ubuntu中开启ssh服务的方法

    我们可以在网上看到很多关于Ubuntu开启SSH服务的文章 xff0c 但是介绍的有很多方法都是不够理想的 xff0c 这些方法都无法实现远程登录到Ubuntu上 xff0c 那么下面就让小编为大家分享Ubuntu中开启ssh服务的方法 s
  • fedora 的kde桌面无法输入中文问题

    简单三步 xff1a xff08 1 xff09 xff1a sudo yum y install ibus 安装ibus拼音库 xff08 2 xff09 xff1a sudo yum y install im chooser 安装拼音切
  • go切片常见错误

    x1f447 下面代码会输出什么 xff1f slices span class token operator 61 span span class token function make span span class token pun
  • OpenVINO的部署和使用

    现在几乎每家硬件或互联网公司都推出了自家的机器学习框架 xff0c 小米的mace 谷歌的TensorFlow Facebook的Torch等等 今天要介绍的是Inter公司出品的OpenVINO OpenVINO主要分为Model Opt
  • Mybatis-Plus分页插件

    引言 xff1a MyBatis Plus自带分页插件 xff0c 只要简单的配置即可实现分页功能 1 添加Configuration配置类 64 Configuration 64 MapperScan 34 com atguigu myb
  • 关于manjaro命令行界面方块乱码

    通常情况下这些方块乱码是中文 xff0c 其实这篇文档讲的很清楚 xff0c 如果 etc locale conf中有设置LANG 61 zh CN UTF 8就会导致tty乱码 解决办法也如文档所说有两个 xff1a 首先是修改 etc
  • 如何安装arm交叉工具链及问题解决

    在进行基于arm的嵌入式linux开发时 xff0c 首先要安装交叉工具链 要按照交叉工具链首先要获得交叉工具链的压缩包 xff0c 我这里用的是开发板上自带的压缩包 xff1a arm linux gcc 4 5 1 v6 vfp tgz
  • 04)go语言使用优化 启动时不打开CMD控制台,后台运行

    一 生成没有cmd窗口的exe程序 1 目前go语言生成exe我是在goland运行时设置了输出路径 xff0c 运行时就会产生exe可执行文件 2 默认是执行的go bulid指令 xff0c 生成的ext双击打开是有CMD窗口的 xff
  • C#使用RDP远程桌面

    由于本人是做数据库维护经常使用到远程桌面 xff0c 但是windows自带的远程桌面难以区分很不方便 xff0c 所以我自己写了一个RDP RDP一共修改了两次 第一种思路就是使用windows自带的RDP xff0c 保存成RDP文件
  • 【Altium秘籍】room 复制报错的解决办法

    在使用多通道绘图时 nbsp 有时会出现 nbsp 后加的通道 无法拷贝room格式 nbsp 仔细看会发现 是由于新建的 room 不属于原来的 类中 这个原因 个人觉得是 软件的bug nbsp 更新数据时遗漏导致 数据不同步 目前 n
  • 将多边形点按照逆时针排序

    Point center bool PointCmp const Point amp a const Point amp b if a x gt 61 0 amp amp b x lt 0 return true if a x 61 61
  • 排队论入门学习 (for 数学建模)

    排队论入门学习 xff08 for 数学建模 xff09 文字部分引用了很多浙大数学建模排队论ppt中的内容 xff0c 本人做个总结和代码实现 为什么研究排队论 xff1f 研究排队问题 xff0c 就是要把排队的时间控制到一定的程度内
  • 层次分析法(AHP)

    层次分析法 xff08 AHP xff09 问题的提出 日常生活中有许多决策问题 决策是指在面临多种方案时需要依据一定的标准选择某一种方案 购物 xff1a 买钢笔 xff0c 一般要依据质量 颜色 实用性 价格等方面的因素来选择某一只钢笔
  • 遗传算法解决TSP问题(c++实现)

    遗传算法 遗传算法简介 遗传算法 Genetic Algorithms xff0c 简称 GA 是一种基于自然选择原理和自然遗传机制的搜索 寻优 算法 xff0c 它是模拟自然界中的生命进化机制 xff0c 在人工系统中实现特定目标的优化
  • 灰色预测模型GM(1,1) 与例题分析

    灰色预测模型 灰色预测的概念 xff08 1 xff09 灰色系统 白色系统和黑色系统 白色系统是指一个系统的内部特征是完全已知的 xff0c 既系统信息是完全充分的 黑色系统是一个系统的内部信息对外界来说是一无所知的 xff0c 只能通过
  • 共轭梯度法的推导与完整算法

    共轭梯度法 学习自知乎 xff1a https www zhihu com question 27157047 and wikipedia and 非线性规划课 简介 在数值线性代数中 xff0c 共轭梯度法是一种求解对称正定线性方程组Ax
  • 随机森林算法学习(RandomForest)

    随机森林算法学习 最近在做kaggle的时候 xff0c 发现随机森林这个算法在分类问题上效果十分的好 xff0c 大多数情况下效果远要比svm xff0c log回归 xff0c knn等算法效果好 因此想琢磨琢磨这个算法的原理 要学随机
  • 锁存器芯片74HC573芯片的用法,及其在实际电路中的应用

    一 74HC573介绍 锁存器是一种对脉冲电平敏感的存储单元电路 xff0c 它们可以在特定输入脉冲电平作用下改变状态 锁存 xff0c 就是把信号暂存以维持某种电平状态 锁存器的最主要作用是缓存 xff0c 其次完成高速的控制器与慢速的外
  • 与信息熵相关的概念梳理(条件熵/互信息/相对熵/交叉熵)

    香农信息量 信息量表示不确定性的大小 信息量的单位是比特 xff08 bit xff09 香 农 信 息 量 61 log