联合熵和条件熵
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。
文章目录
- 联合熵
- 条件熵
联合熵
联合集 XY 上, 对联合自信息 I(xy)I(x y)I(xy) 的平均值称为联合熵:
H(XY)=Ep(xy)[I(x⇌y)]=−∑x∑yp(xy)logp(xy)\begin{array}{l} H(X Y)=\underset{p(x y)}{E}[I(x \rightleftharpoons y)] \\ =-\sum_{x} \sum_{y} p(x y) \log p(x y) \end{array} H(XY)=p(xy)E[I(x⇌y)]=−∑x∑yp(xy)logp(xy)
当有n个随机变量 X=(X1,X2,…,Xn)X=\left(X_{1}, X_{2}, \ldots, X_{n}\right)X=(X1,X2,…,Xn) , 有
H(X)=−∑X1,X2,…,Xnp(x1,x2,…,xn)logp(x1,x2,…,xn)H(\mathbf{X})=-\sum_{X_{1}, X_{2}, \ldots, X_{n}} p\left(x_{1}, x_{2}, \ldots, x_{n}\right) \log p\left(x_{1}, x_{2}, \ldots, x_{n}\right) H(X)=−X1,X2,…,Xn∑p(x1,x2,…,xn)logp(x1,x2,…,xn)
信息熵与热熵的关系
信息熵的概念是借助于热熵的概念而产生的。
-
信息熵与热熵含义相似
-
信息熵与热熵的区别:
- 信息熵的不增原理
- 热熵不减原理
-
热熵的减少等于信息熵的增加。
条件熵
联合集 XY\mathbf{X Y}XY 上, 条件自信息I(y/x)I(y / x)I(y/x)的平均值定义为条件熵:
H(Y/X)=Ep(xy)[I(y/x)]=−∑x∑yp(xy)logp(y/x)=∑xp(x)[−∑yp(y/x)logp(y/x)]=∑xp(x)H(Y/x)\begin{array}{l} H(Y / X)=\underset{p(x y)}{E}[I(y / x)]=-\sum_{x} \sum_{y} p(x y) \log p(y / x) \\ =\sum_{x} p(x)\left[-\sum_{y} p(y / x) \log p(y / x)\right]=\sum_{x} p(x) H(Y / x) \end{array} H(Y/X)=p(xy)E[I(y/x)]=−∑x∑yp(xy)logp(y/x)=∑xp(x)[−∑yp(y/x)logp(y/x)]=∑xp(x)H(Y/x)
推广:
H(Xn∣X1,…,Xn−1)=−∑X1,X2,…,Xnp(x1,x2,…,xn)logp(xn∣x1,…,xn−1)\begin{array}{l} H\left(X_{n} \mid X_{1}, \ldots, X_{n-1}\right) =-\sum_{X_{1}, X_{2}, \ldots, X_{n}} p\left(x_{1}, x_{2}, \ldots, x_{n}\right) \log p\left(x_{n} \mid x_{1}, \ldots, x_{n-1}\right) \end{array} H(Xn∣X1,…,Xn−1)=−∑X1,X2,…,Xnp(x1,x2,…,xn)logp(xn∣x1,…,xn−1)
注意:当有n个随机变量 X=(X1,X2,…,Xn)X=\left(X_{1}, X_{2}, \ldots, X_{n}\right)X=(X1,X2,…,Xn) 。
H(X,Y)=H(Y)+H(X∣Y)=H(X)+H(Y∣X)H(X)=H(X1)+H(X2∣X1)+…+H(Xn∣X1,X2,…,Xn−1)\begin{array}{l} H(X, Y)=H(Y)+H(X \mid Y)=H(X)+H(Y \mid X) \\ H(\mathbf{X}) =H\left(X_{1}\right)+H\left(X_{2} \mid X_{1}\right)+\ldots+H\left(X_{n} \mid X_{1}, X_{2}, \ldots, X_{n-1}\right) \end{array} H(X,Y)=H(Y)+H(X∣Y)=H(X)+H(Y∣X)H(X)=H(X1)+H(X2∣X1)+…+H(Xn∣X1,X2,…,Xn−1)
注意: H(X∣Y)\mathbf{H}(\mathbf{X} \mid \mathbf{Y})H(X∣Y) 表示已知变量 Y\mathbf{Y}Y 后, 对变量 X\mathbf{X}X 尚存在的平均不确定性(存在疑义)。
已知信源 X=[ABC1/31/31/3]X=\left[\begin{array}{ccc}A & B & C \\ 1 / 3 & 1 / 3 & 1 / 3\end{array}\right]X=[A1/3B1/3C1/3] 和 Y=[DEF1/103/53/10]Y=\left[\begin{array}{ccc}D & E & F \\ 1 / 10 & 3 / 5 & 3 / 10\end{array}\right]Y=[D1/10E3/5F3/10] ,请快速两个信源的信息熵的关系。
答:H(X) > H(Y)。其实不用计算,由上面可知一个简单的结论,等概率时信息熵最大。
参考文献:
- Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
- Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
- 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
- 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.
相关文章:
联合熵和条件熵
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录联合熵条件熵联合…...
华为OD机试真题Python实现【求最大数字】真题+解题思路+代码(20222023)
求最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删…...
Python爬虫(10)selenium爬虫后数据,存入csv、txt并将存入数据并对数据进行查询
之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览…...
Python 之 Pandas 时间函数 time 、datetime 模块和时间处理基础
文章目录一、time 模块1、时间格式转换图2. struct_time 元组元素结构3. format time 结构化表示二、datetime 模块1. date类2. 方法和属性3. datetime 类三、timedelta 类的时间加减四、时间处理基础Python 中提供了对时间日期的多种多样的处理方式,主要是在 time …...
C语言学习及复习笔记-【5】C 运算符
文章目录5. C 运算符5.1 关系运算符5.2 逻辑运算符5.3 位运算符5.4 杂项运算符 ↦ sizeof & 三元5.5 例子1). 利用异或 ^ 来交换两个数的值,而且不引入其他变量。2). 利用位与 & 运算,判断一个整数是否是2的整数次幂。3). 不同长度的数据进行位运…...
数仓、数据湖、湖仓一体、数据网格
第一代:数据仓库 定义 为解决数据库面对数据分析的不足,孕育出新一类产品数据仓库。数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和信息的全局共享。 数…...
C语言【atoi函数】
C语言【atoi函数】🫅系统atoi函数🫅 模拟实现atoi函数看到atoi函数,有人又会问有这个函数,我怎么没用过。那就说明:不是你刷题太少,就是atoi函数存在感太低。 这篇函数就带你领略atoi函数的魅力 Ǻ…...
一起学习用Verilog在FPGA上实现CNN----(八)integrationFC设计
1 integrationFC设计 LeNet-5网络结构全连接部分如图所示,该部分有2个全连接层,1个TanH激活层,1个SoftMax激活层: 图片来自附带的技术文档《Hardware Documentation》 integrationFC部分原理图,如图所示,…...
面试题总结
1.js的数据类型 分为基本数据类型和引用数据类型。 基本数据类型 ES5的5种:Null,undefined,Boolean,Number,String, ES6新增:Symbol表示独一无二的值 ES10新增:BigInt 表示任意大的…...
go进阶(1) -深入理解goroutine并发运行机制
并发指的是同时进行多个任务的程序,Web处理请求,读写处理操作,I/O操作都可以充分利用并发增长处理速度,随着网络的普及,并发操作逐渐不可或缺 一、goroutine简述 在Golang中一个goroutines就是一个执行单元ÿ…...
mongodb 操作记录
#启动服务 net start MongoDB #停止服务 net stop MongoDB #进入mongo shell 方式 mongo db #查看当前数据库是那个 #插入一条数据 db.runoob.insert({x:10}) #查找数据 db.runoob.find() 查询所有的数据库 show dbs #连接mongodb mongodb://[username:password]host1[:po…...
JDBC简单的示例
JDBC 编程步骤 加载驱动程序: Class.forName(driverClass) //加载MySql驱动 Class.forName("com.mysql.jdbc.Driver") //加载Oracle驱动 Class.forName("oracle.jdbc.driver.OracleDriver")获得数据库连接: DriverManager.getCon…...
Spring架构篇--2.3 远程通信基础--IO多路复用select,poll,epoll模型
前言:对于传统的BIO(同步阻塞)模型,当有客户端连接达到服务端,服务端在对改连接进行连接建立,和数据传输过程中,是无法响应其他客户端的,只有当服务端完成对一个客户端处理后&#x…...
python--matplotlib(4)
前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。 其他matplotlib文章 python--matpl…...
【项目精选】城市公交查询系统(论文+视频+源码)
点击下载源码 1.1 选题背景 随着低碳生活的普及,人们更倾向于低碳环保的出行方式,完善公交系统无疑具有重要意义。公交是居民日常生活中最常使用的交通工具之一,伴随着我国经济繁荣和城市人口增长,出行工具的选择也变得越来越重要…...
less、sass、webpack(前端工程化)
目录 一、Less 1.配置less环境 1.先要安装node:在cmd中:node -v检查是否安装node 2.安装less :cnpm install -g less 3.检查less是否安装成功:lessc -v 4.安装成功后,在工作区创建xx.less文件 5.在控制台编译less,命令&…...
解析Java中的class文件
解析class文件需要把class文件当成文件流来处理,定义ClassReader结构体 type ClassReader struct {data []byte }go语言中的reslice语法可以跳过已经读过的数据。 同时定义了ClassFile数据结构来描述class文件的各个部分,该数据结构如下所示࿱…...
直播预告 | 企业如何轻松完成数据治理?火山引擎 DataLeap 给你一份实战攻略!
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 企业数字化转型正席卷全球,这不仅是趋势所在,也是企业发展必然面对的考题,也是企业最关心、最难决策的难题,数字化不…...
华为OD机试真题Python实现【 磁盘容量】真题+解题思路+代码(20222023)
磁盘容量 题目 磁盘的容量单位常用的有M、G、T 他们之间的换算关系为1T =1024G,1G=1024M 现在给定n块磁盘的容量,请对他们按从小到大的顺序进行稳定排序 例如给定5块盘的容量 5 1T 20M 3G 10G6T 3M12G9M 排序后的结果为 20M 3G 3M12G9M 1T 10G6T 注意单位可以重复出现 上述…...
php调试配置
错误信息输出 错误日志 nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog。原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出࿰…...
手把手教你配置Davinci NvM Block:从Fee关联到Dataset索引的保姆级避坑指南
手把手教你配置Davinci NvM Block:从Fee关联到Dataset索引的保姆级避坑指南 在汽车电子软件开发中,非易失性存储管理(NvM)是确保关键数据持久化的核心模块。Davinci配置工具作为AUTOSAR开发环境的重要组成部分,其NvM B…...
别再手动算了!用Matlab RF Toolbox一键搞定S/Z/Y/ABCD参数转换(附3dB电桥实例代码)
射频工程师的救星:Matlab RF Toolbox参数转换全攻略 每次面对S/Z/Y/ABCD参数的手动转换,是不是总有种想摔计算器的冲动?那些复杂的矩阵运算和容易出错的推导过程,简直是在浪费生命。作为一名射频工程师,我深知这种痛苦…...
Qwen3-TTS-12Hz-1.7B-VoiceDesign效果展示:同一instruct跨语言声线迁移能力验证
Qwen3-TTS-12Hz-1.7B-VoiceDesign效果展示:同一instruct跨语言声线迁移能力验证 你有没有想过,同一个声音描述,比如“温柔的成年女性声音”,用中文说出来是一种感觉,用英文、日文说出来,会不会还是同一种感…...
自编码器在异常检测中的实战应用:以金融交易数据为例
自编码器在金融异常检测中的实战指南:从数据清洗到模型部署 金融交易数据中的异常行为检测一直是风险控制的核心环节。传统基于规则的系统难以应对日益复杂的欺诈模式,而自编码器这类无监督学习模型正在改变游戏规则。本文将带您从零构建一个完整的异常检…...
手把手教你搭建He-Ne激光空间滤波实验(附完整光路图)
从零搭建He-Ne激光空间滤波实验:光路设计与调试实战指南 在光学实验室里,空间滤波技术就像给图像装上"智能滤镜",能够选择性地增强或抑制特定空间频率成分。想象一下,当你透过不同形状的"光学窗口"观察世界时…...
Python数据可视化实战:用matplotlib绘制专业级折线图(附完整代码)
Python数据可视化实战:用matplotlib绘制专业级折线图(附完整代码) 数据可视化是现代数据分析不可或缺的一环,而折线图作为最基础也最常用的图表类型之一,能够直观展示数据随时间或有序类别的变化趋势。对于Python开发者…...
别再让DeepSeek-R1的<think>标签刷屏了!手把手教你用API和Python脚本一键隐藏思考过程
高效隐藏DeepSeek-R1思考过程的工程实践 当你在深夜调试一个集成DeepSeek-R1的客服系统时,终端突然被满屏的<think>标签刷爆——这种场景对开发者来说再熟悉不过了。作为一款强调推理过程的大语言模型,DeepSeek-R1默认会在输出中包含详细的思考步骤…...
lychee-rerank-mm与LangChain整合:构建智能文档检索系统
lychee-rerank-mm与LangChain整合:构建智能文档检索系统 1. 引言 想象一下这样的场景:你在一家律师事务所工作,每天需要从成千上万份法律文书中快速找到与当前案件相关的资料。传统的全文搜索只能帮你找到包含关键词的文档,但无…...
VisualVM JMX监控实战:MBean管理与应用指标收集
VisualVM JMX监控实战:MBean管理与应用指标收集 【免费下载链接】visualvm VisualVM is an All-in-One Java Troubleshooting Tool 项目地址: https://gitcode.com/gh_mirrors/vi/visualvm VisualVM是一款功能强大的Java故障排除工具,它集成了JMX…...
MedGemma-X部署教程:一行命令启动,开启自然语言交互的影像分析
MedGemma-X部署教程:一行命令启动,开启自然语言交互的影像分析 1. 为什么选择MedGemma-X? 在医疗影像分析领域,传统CAD系统往往只能提供简单的二分类结果(如"正常/异常"),而MedGemm…...
