联合熵和条件熵
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。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进程的错误输出࿰…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...