熵与信息论

        经典信息论的核心概念是香农熵。假设我们得到了一个变量X的值,X的香农熵量化了我们在获悉 X的值时所能得到的平均信息量;另一种观点是将X的看作在我们获悉的值前对其不确定程度的度量。这两种观点是互补的;我们既可以将看作在我们获悉X的值前,对其不确定程度的度量,也可以看作在我们已经得到的值后,对获得信息量的度量。
        直觉上,随机变量的信息内容不应该依赖于随机变量取值的标签。例如,有一个随机变量取值为“头”和“尾”的概率分别为 1/4与3/4,另一个随机变量取值为0和1的概率分别为1/4与3/4,我们希望这两个随机变量包含相同的信息量。因此,随机变量的被定义为关于随机变量取值的概率的函数,且不受这些值的标签影响。我们经常将写作概率分布P1...Pn的函数这一概率分布的香农熵定义为

                                        H(X)\equiv H(p_{1},...p_{n})\equiv -\sum_{x}^{}p_{x}logp_{x}                                (1)

注意到\lim_{x\rightarrow 0}xlogx=0

        为什么要用这种方式表示熵呢?对熵的定义给出直观的论证,即熵的定义满足一些公理,这些公理是信息度量被期望拥有的性质。 更具体地说,假设有某个源(可能是无线电天线)正在产生某种类型的信息,比如以比特事的形式让我们考虑一个非常简单的模型,对于一个源:我们将它建立为一个产生一串独立同分布随机变量 X1,X2,… 的模型。大多数的真实信息源并不完全是这样的但这通常是对真实情况的一个很好的近似。香农的问题是我们最少需要多少资源来存储由源产生的这些信息,并使其在之后可以被重构。这个问题的答案被证明就是熵,也就是对每个源的符号我们需要 H(X)个比特,其中H(X)≡ (X1)≡ H(X)≡…..是源模型中每个随机变量的熵。这一结果被称为香农无噪声信道编码定理,我们将在第12章中证明它的经典与量子版本。
        我们举一个关于香农无噪声信道编码定理的具体例子,假设有一个信息源每次产生 1,2,3,4四个符号中的一个。在不进行压缩的情况下,每次使用源都需要消耗2比特的空间来存储4种可能的输出。然而,假设源产生符号1的概率是1/2,符号2的概率是1/4,符号3和4的概率是1/8,我们可以利用输出结果的这一偏向来压缩源,实现的方法是用较短的比特串来存储常见的符号例如1,而用较长的比特串来存储少见的符号例如3和4。一种可行的压缩方式是将1编码为比特串0,2为比特串10,3为比特串110,4为比特串111。可以注意到压缩后的串的平均长度就是每次使用源产生的信息量·1+·2+3+3=比特,这比用最普通直接的方式来存储源所需要的比特数要少!令人惊讶的是它恰好等于源的熵,即 H(X)=-1/2l0g(1/2)-1/4l0g(1/4)-1/8log(1/8)-1/8log(1/8)=7/4!此外,可以证明任何尝试更进一步地压缩源的企图都将不可避免地导致信息损失;因此熵量化了可能达到的最优压缩表示。

(定义的直观论证) 假定我们正在尝试量化在一次概率试验中可能发生的事件 E能够提供的信息量,我们通过使用一种取值由事件 E决定的“信息函数”I(E)来完成这件事。假定我们对这一函数有如下假设:
1.I(E)是一个只和事件 E的发生概率有关的函数,因此可以将其写作I=I(p),p表示取值
为0到1的概率。
2.I是关于概率的平滑函数。
3.当p,q>0时,I(pg)=I(p)+I(q)。(解释:当两个独立事件分别以概率p与q同时发生时所能获得的信息等于每个事件单独发生时所能获得的信息之和。)
        证明I(p)= klogp是满足以上假设的函数,其中k是一个常数。由此可以推出一组发生概率分别为p1...pn的互斥事件的平均信息增益等于k \sum_{i}^{}p_{i}logp_{i},而这恰好就等于香农熵乘以一个常数。

二元熵

        由于二值随机变量的熵非常有用,因此我们给它一个特殊的名字--二元熵,定义为
                                         H_{bin}(p)\equiv -plogp-(1-p)log(1-p)                                    (2)

其中p与1-p是输出两个值的概率。图 11-1展示了二元熵函数的图像。可以注意到 H(p)= H(1-p),并且当p=1/2时 H(p)达到最大值1。

        二元熵是用来理解熵的更一般性质的极好试验场。当我们混合两个或更多的概率分布时,会如何表现是一个特别令人感兴趣的性质。例如,想象一下Alice拥有两枚硬币,一枚是25 美分硬币,另一枚是I澳元硬币。两枚硬币都被调整过以便具有某种偏向,其中美元正面朝上的概率是PU,澳元正面朝上的概率是PA。假设Alice以q的概率掷美元,以1-q的概率掷澳元,并且告诉 Bob结果是正面朝上还是反面朝上。那么Bob平均能够获得多少信息量?直觉上,Bob得到的信息应该至少与掷美元或掷澳元得到的平均信息量相等。这一直觉用公式可以表达为
                            H(qpu+(1-q)p_{A})\geq qH(pu)+(1-q)H(p_{A})                               (3)
       大多时候上述不等式是严格的,因为Bob获得的信息不仅包括了硬币的值,也包括关于硬币特性的额外信息。比方说,如果pu=1/3,PA=5/6,并且结果是正面朝上,那么 Bob 就得到了一个相当明显的迹象,即硬币可能是澳元。

对于实值函数
                ​​​​​​​        ​​​​​​​                f(px+(1-p)y)\geq pf(x)+(1-p)f(y)
容易看出来二值函数是凹的、也可以通过检查图-1从面在视觉上捕提到这一性质,容易观察到的二元熵的图始终位于任意一条切测图的线条之上。作者的话(不要被上述育警式论证的前单所蒙蔽以致陷人虚安的自满之中:量子信息论中许多最深刻的结果都源自于经典或最子嫡的精妙应用。此外,对于量子熵而言,有时候很难证明直观上认为应当具有的回性)

总结

 

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

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

相关文章

Ubuntu 22.04系统启动时自动运行ROS2节点

在 Ubuntu 启动时自动运行 ROS2 节点的方法 环境:Ubuntu 系统,ROS2 Humble,使用系统自带的 启动应用程序 目标:在系统启动时自动运行指定的 ROS2 节点 效果展示 系统启动后,自动运行小乌龟节点和键盘控制节点。 实践…

龙蟠科技业绩压力显著:资产负债率持续攀升,产能利用率也不乐观

《港湾商业观察》施子夫 黄懿 去年十月至今两度递表后,10月17日,江苏龙蟠科技股份有限公司(以下简称,龙蟠科技;603906.SH,02465.HK)通过港交所主板上市聆讯。 很快,龙蟠科技发布公告称,公司全…

OceanBase 安全体系解析之身份鉴别

本文作者:金长龙爱可生测试工程师,负责 DMP 产品的测试工作。 本文以MySQL为参照,详细阐述了OceanBase 在MySQL模式下的安全体系中,身份鉴别的能力,涵盖了身份鉴别机制、用户名的构成规则、密码的复杂度,以…

在Java中的动态绑定和静态绑定

动态绑定和静态绑定是两种方法调用的绑定机制静态绑定 静态绑定也称为早期绑定,是在编译时确定调用的方法。动态绑定 动态绑定也称为晚期绑定,是在运行时确定调用的方法。静态绑定用于编译时确定的方法调用,动态绑定是Java实现运行时多态的…

CISE|暴雨受邀出席第二十六届中国国际软件博览会

10月24日至26日,备受瞩目的第二十六届中国国际软件博览会(简称CISE)在国家会展中心(天津)圆满举办。CISE不仅汇聚了来自全国各地的顶尖软件企业和机构,还吸引了众多专家学者和行业精英共襄盛举,…

Cesium基础-(Entity)-(Box)

** 里边包含Vue、React框架代码详细步骤、以及代码详细解释 ** 3、Box 盒子 以下是 BoxGeometry 类的属性、方法和静态方法,以表格形式展示: 属性 属性名类型默认值描述minimumCartesian3盒子的最小 x, y, 和 z 坐标。maximumCartesian3盒子的最大 x, y, 和 z 坐标。vertex…

【PHP】PHP使用Modbus-Rut协议与RS485串口通信,向设备发送和接收数据

目录 一、前言 二、开发前说明 三、效果图 四、安装PHP扩展 五、安装phpModbus类库 六、通信逻辑 七、完整实例 一、前言 使用PHP语言与硬件设备通信交互,并向COM串口发送和接收数据。 前面写了三篇关于PHP与RS235和USB端口通信的文章,可以作为参…

现代数字信号处理I--最佳线性无偏估计 BLUE 学习笔记

目录 1. 最佳线性无偏估计的由来 2. 简单线性模型下一维参数的BLUE 3. 一般线性模型下一维参数的BLUE 4. 一般线性模型下多维参数的BLUE 4.1 以一维情况说明Rao论文中的结论 4.2 矢量参数是MVUE的本质是矢量参数中的每个一维参数都是MVUE 4.3 一般线性模型多维参数BLUE的…

视频剪辑哪个软件好用?推荐四款热门工具!!

在这个Vlog和短视频当道的互联网时代,掌握一款好用的视频剪辑软件就像拥有了打开创作世界的魔法钥匙。今天我们来聊聊视频剪辑软件,帮你成为剪辑达人哦!接下来,给大家详细介绍四款常用且各具特色的视频剪辑软件,助你轻…

算法:利用前序序列和中序序列构造二叉树

题目 链接:leetcode链接 思路分析 前序遍历的顺序是:根 左子树 右子树 中序遍历的顺序是: 左子树 根 右子树 所以,我们可以通过前序遍历获得二叉树的根 可以通过中序遍历去分割二叉树,将二叉树分割成 左子树 根…

偷懒总结篇|贪心算法|动态规划|单调栈|图论

由于这周来不及了,先过一遍后面的思路,具体实现等下周再开始详细写。 贪心算法 这个图非常好 122.买卖股票的最佳时机 II(妙,拆分利润) 把利润分解为每天为单位的维度,需要收集每天的正利润就可以,收集正利润的区间…

HarmonyOS ArkTS与C++数据类型转换

1. HarmonyOS ArkTS与C数据类型转换 本文介绍了C与TS各自数据类型与互相之间的数据类型转换,在需要使用C模块时可以快速上手对各种数据类型进行转换。 1.1. 概述 HarmonyOS的主力开发语言是ArkTS,也提供了C语言的支持,对于一些能力&#xff…

1.3 面向对象 C++面试问题

1.3.1 简述一下什么是面向对象,面向对象与面向过程的区别 什么是面向对象 面向对象(Object-Oriented Programming,OOP)是一种编程范式,它通过将现实世界中的实体抽象为“对象”来组织代码。面向对象编程关注对象及其交互&#x…

D51【python 接口自动化学习】- python基础之模块与标准库

day51 模块的导入 学习日期:20241027 学习目标:模块与标准库 -- 66 模块的导入:如何使用其他人编写好的代码功能? 学习笔记 模块的作用 导入模块的方法 # 导入模块 # 方式一 import os # 获取当前的位置 print(os.getcwd())# …

arduino uno R3更换328pb-au芯片,烧录bootloader

使用usbasp烧录器进行烧录,解压 【免费】usbsap驱动以及软件资源-CSDN文库 安装驱动 然后打开软件 界面如下 1按步骤选中芯片, ATmega328P(由于没有328PB,直接选这个也行) 2查看spi接线, 3读取芯片id&a…

【SpringCloud】07-分布式事务与Seata

1. 分布式事务 2. Seata 3. 安装seata 配置数据库 CREATE DATABASE IF NOT EXISTS seata /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTIONN */; USE seata;------------------------------- The script used when storeM…

加强版 第一节图像二值化定义

本节课介绍了图像又彩色图像转变为彩色图像转变为灰度图像转变为黑色图像的转化过程。 灰度图像-单通道-取值范围为0-255 二值图像-单通道-取值0(黑色)-255(白色) 二值分割 有五种分割方式 如图所示 第一种:大于…

RabbitMQ 高级特性——事务

文章目录 前言事务配置事务管理器加上Transactional注解 前言 前面我们学习了 RabbitMQ 的延迟队列,通过延迟队列可以实现生产者生产的消息不是立即被消费者消费。那么这篇文章我们将来学习 RabbitMQ 的事务。 事务 RabbitMQ 是基于 AMQP 协议实现的,…

「C/C++」C/C++标准库之#include <cmath>数学库

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

认识线程 — JavaEE

目录 认识线程(Thread) 1 线程是什么? 2 为什么要有线程 3 进程和线程的区别 区别一 区别二 区别三 区别四 4. Java的线程和操作系统线程的关系 认识线程(Thread) 1 线程是什么? 一个线程就是一个 "执行流"。…