信息论基础知识

注意:本文只针对离散随机变量做出探讨,连续随机变量的情况不适用于本文探讨的内容!

(一)自信息

1. 自信息

I ( x ) = − l o g n P ( x ) \color{blue}I(x) = - log_{n}{P(x)} I(x)=lognP(x)
注意:
若n = 2,叫做bit
若n = 3,叫做tet
若n = e,叫做nat
若n = 10,叫做hat
一般来讲,在信息论中,以2为底数比较普遍。
从公式的含义来看, 由于 P ( x ) 代表的是概率的大小,其值介于区间 ( 0 , 1 ) 之间, 当 p ( x ) 趋于 0 时代表信息量是无穷大的;而当 p ( x ) 趋于 1 时,它代表的信息量是 0 。 \color{red}从公式的含义来看,\\由于P(x)代表的是概率的大小,其值介于区间(0,1)之间,\\ 当p(x)趋于0时代表信息量是无穷大的;而当p(x)趋于1时,它代表的信息量是0。 从公式的含义来看,由于P(x)代表的是概率的大小,其值介于区间(0,1)之间,p(x)趋于0时代表信息量是无穷大的;而当p(x)趋于1时,它代表的信息量是0

自信息还包括条件自信息和联合自信息。其中条件自信息定义如下:
I ( x y ) = − log ⁡ P ( x ∣ y ) = − log ⁡ p ( x y ) p ( y ) I(xy) = - \log P(x|y) = - \log \frac {p(xy)}{p(y)} I(xy)=logP(xy)=logp(y)p(xy)

联合自信息的定义如下:
I ( x y ) = − l o g n P ( x y ) \color{red}I(xy) = - log_{n}{P(xy)} I(xy)=lognP(xy)

联合自信息的特点:
I ( x y ) = I ( y ∣ x ) + I ( x ) = I ( x ∣ y ) + I ( y ) \color{red}I(xy) = I(y|x) + I(x) = I(x|y) + I(y) I(xy)=I(yx)+I(x)=I(xy)+I(y)

当x 与y 相互独立时有:
I ( x y ) = I ( x ) + I ( y ) \color{red}I(xy) = I(x) + I(y) I(xy)=I(x)+I(y)

2. 条件熵
条件熵是平均条件自信息的另一种解释,是条件自信息的期望值。
I ( x ∣ y ) = − ∑ x ∈ X P ( x i ∣ y i ) ∑ y ∈ Y P ( y i ) l o g P ( x i ∣ y i ) = − ∑ x ∈ X ∑ y ∈ Y P ( x y ) L o g P ( x ∣ y ) I(x|y) = -\sum_{x\in X}P(x_i|y_i)\sum_{y \in Y}P(y_i)logP(x_i|y_i)=-\sum_{x\in X}\sum _{y \in Y}P(xy)LogP(x|y) I(xy)=xXP(xiyi)yYP(yi)logP(xiyi)=xXyYP(xy)LogP(xy)

要注意:此处log符号前的概率是 p ( x y ) \color{green}p(xy) p(xy)而不是 p ( x ∣ y ) \color{green}p(x|y) p(xy)
另外,从上面的公式可知,必须要计算整个y的条件概率,而不是 y i y_i yi的条件概率,故log符号前面是p(xy)而不是p(x|y)

3.平均互信息

I ( x ; y ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( x y ) p ( x ) p ( y ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( x ∣ y ) p ( x ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( y ∣ x ) p ( y ) = I ( y ; x ) I(x;y) = \sum_{x \in X} \sum_{y \in Y} log \frac {p(xy)} {p(x) p (y)} =\\ \sum_{x \in X} \sum_{y \in Y} log \frac {p(x|y)} {p(x)} =\sum_{x \in X} \sum_{y \in Y} log \frac {p(y|x)} {p(y)} = I(y;x) I(x;y)=xXyYlogp(x)p(y)p(xy)=xXyYlogp(x)p(xy)=xXyYlogp(y)p(yx)=I(y;x)

互信息的重要性质:

I ( x ; y ) = H ( x ) − H ( x ∣ y ) = H ( y ) − H ( y ∣ x ) I(x; y) = H(x) - H(x|y) = H(y) -H(y|x) I(x;y)=H(x)H(xy)=H(y)H(yx)

证明:
H ( x ) − H ( x ∣ y ) = − ∑ x ∈ X P ( x ) l o g P ( x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = − ∑ x ∈ X p ( x ) l o g p ( x ) ∑ y ∈ Y p ( y ∣ x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = − ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g p ( x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x y ) P ( x ) P ( y ) = I ( x ; y ) H(x) - H (x|y) = -\sum_{x \in X} P(x)log P(x) + \sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y) \\ = - \sum_{x \in X}p(x) log p(x) \sum_{y \in Y} p(y|x) +\sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y)\\ = - \sum_{x \in X} \sum_{y \in Y}p(xy)logp(x) + \sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y) \\ = \sum_{x \in X} \sum_{y \in Y} p(xy)log \frac {P(xy)}{P(x)P(y)}= I(x;y) H(x)H(xy)=xXP(x)logP(x)+xXyYp(xy)logP(xy)=xXp(x)logp(x)yYp(yx)+xXyYp(xy)logP(xy)=xXyYp(xy)logp(x)+xXyYp(xy)logP(xy)=xXyYp(xy)logP(x)P(y)P(xy)=I(x;y)

此处要注意的是一个知识点就是, ∑ y ∈ Y p ( y i ∣ x ) = ∑ y ∈ Y p ( x ∣ y i ) p ( y i ) p ( x ) = 1 \sum_{y \in Y} p(y_i|x) =\sum_{y \in Y} \frac {p(x|y_i)p(y_i)}{p(x)} = 1 yYp(yix)=yYp(x)p(xyi)p(yi)=1

注意:"平均"的含义是期望值,平均互信息即为互信息的期望值,其定义为:
I ( x ; y ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( x y ) p ( x ) p ( y ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( x ∣ y ) p ( x ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( y ∣ x ) p ( y ) = I ( y ; x ) I(x;y) = \sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(xy)} {p(x) p (y)} =\\ \sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(x|y)} {p(x)} =\sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(y|x)} {p(y)} = I(y;x) I(x;y)=xXyYP(xy)logp(x)p(y)p(xy)=xXyYP(xy)logp(x)p(xy)=xXyYP(xy)logp(y)p(yx)=I(y;x)

4. 条件互信息
联合集XYZ中,给定条件Z下,X与Y的互信息定义如下:

I ( x ; y ∣ z ) = I ( x ∣ z ) − I ( x ∣ y z ) = − log ⁡ P ( x ∣ z ) + log ⁡ P ( x ∣ y z ) = log ⁡ p ( x ∣ y z ) p ( x ∣ z ) I(x;y|z) = I(x|z) - I(x|yz) = -\log P(x|z) + \log P(x|yz) = \log \frac {p(x|yz)}{p(x|z)} I(x;yz)=I(xz)I(xyz)=logP(xz)+logP(xyz)=logp(xz)p(xyz)

(二)熵

熵的定义比较重要,重点讲述,但是其含义跟上一个标题中的平均互信息、条件熵类似,都是一种期望值。

熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。 用数学期望值的原因是因为,自信息是一个随机事件的概率 , 不能用作整个信源的信息测度。 由此可见,熵是自信息概念的进一步扩展,是自信息的期望值 \color{red}熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。\\用数学期望值的原因是因为,自信息是一个随机事件的概率, 不能用作整个信源的信息测度。\\由此可见,熵是自信息概念的进一步扩展,是自信息的期望值 熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。用数学期望值的原因是因为,自信息是一个随机事件的概率,不能用作整个信源的信息测度。由此可见,熵是自信息概念的进一步扩展,是自信息的期望值

二元熵

二元熵是熵的一个特例,也就是一件事情有两种情况发生,这两种情况的概率已知,那么这件事情的熵计算公式如下:
H ( x ) = − p l o g p − ( 1 − p ) l o g ( 1 − p ) H(x) = - p log p - (1-p) log(1-p) H(x)=plogp(1p)log(1p)

离散熵:

H ( x ) = E x [ I ( x ) ] = − ∑ i = 1 n [ P ( x i ) l o g n P ( x i ) ] \color{blue} H(x) = E_x[I(x)]=-\sum^{ n }_{i=1} [P(x_i)log_nP(x_i)] H(x)=Ex[I(x)]=i=1n[P(xi)lognP(xi)]

连续熵:

H ( x ) = E x [ I ( x ) ] = − ∫ + ∞ − ∞ P ( x ) l o g n P ( x ) d x \color{green}H(x) = E_{x}[I(x)] = - \int_{+\infty}^{-\infty}P(x)log_{n}P(x)dx H(x)=Ex[I(x)]=+P(x)lognP(x)dx

注意:积分中是对x微分而不是P(x)

熵的一些重要知识点:
根据极限相关知识,可得:

lim ⁡ P ( x ) → 0 − P ( x ) l o g n P ( x ) = lim ⁡ x → 0 l o g n P ( x ) 1 − P ( x ) = 1 P ( x ) P ( x ) 2 = P ( x ) = 0 \color{red}\lim_{P(x) \to 0}-P(x)log_nP(x) = \lim_{x \to 0} \frac {log_nP(x)} {\frac{1}{-P(x)}} = \frac{1}{P(x)} P(x)^2 = P(x) = 0 P(x)0limP(x)lognP(x)=x0limP(x)1lognP(x)=P(x)1P(x)2=P(x)=0

同时,当P(x)= 1时,H(x) = 0。

连续熵的导数为0时, H ′ ( x ) = − P ( x ) l o g n P ( x ) = 0 H'(x) = -P(x) log_nP(x) = 0 H(x)=P(x)lognP(x)=0,可得:
(1)当熵的导数为0时,可得P(x) = 1( P ( x ) = 0 不在定义域中,不符合条件 \color{green}P(x) = 0不在定义域中,不符合条件 P(x)=0不在定义域中,不符合条件),因此熵在该点处取得极值。
(2)再考察P(x) = 1 左右处的值,左侧导数大于0,右侧导数小于0,因此在P(x) = 1处连续熵函数取得最小值0。( 此处似乎有错误 , 问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查 \color{red}此处似乎有错误,问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查 此处似乎有错误,问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查
(3)熵的值总是大于0。由于P(x)的含义是x的概率,概率总是大于0小于1的,又 − P ( x ) l o g n P ( x ) = P ( x ) l o g n 1 P ( x ) -P(x)log_nP(x) =P(x)log_n \frac{1}{P(x)} P(x)lognP(x)=P(x)lognP(x)1,根据log函数的性质, l o g n 1 P ( x ) log_n\frac{1}{P(x)} lognP(x)1也大于0,故熵的值必然大于0。
(4)H(xy) = H(x) + H(y|x)
证明:
H ( x ) + H ( y ∣ x ) = − ∑ i = 1 n P ( x y ) l o g P ( x y ) P ( x ) − ∑ i = 1 n P ( x ) l o g P ( x ) = − ∑ i = 1 n P ( x y ) l o g P ( x y ) = H ( x y ) H(x) + H(y|x) =- \sum_{i=1}^n P(xy) log \frac {P(xy) }{P(x)} - \sum _{i=1}^n P(x)log P(x) =\\ -\sum_{i=1}^n P(xy) log P(xy) = H(xy) H(x)+H(yx)=i=1nP(xy)logP(x)P(xy)i=1nP(x)logP(x)=i=1nP(xy)logP(xy)=H(xy)
同理,H(xy) = H(y) + H(x|y)

另外,还有几个重要的结论:
(1)当已知分布上下限时均匀分布的熵最大,当知道均值和方差时正态分布的熵最大。
(2)给定一串数据,其中数据元 x 出现的概率为p(x),则最佳编码长度为 − l o g 2 P ( x ) -log_2P(x) log2P(x),整段文本的平均编码长度为 − ∑ i = 1 n P ( x i ) l o g 2 P ( x i ) -\sum_{i=1}^{n}P(x_i)log_2P(x_i) i=1nP(xi)log2P(xi),即底为2的熵。
(3)最大离散熵定理:
具有n个符号的离散信源,只有在n个信源等概率的情况下熵才能取得最大值,即等概率的熵最大,这叫做最大离散熵定理。
此定理是熵的判定中一个重要定理。

最大离散熵定理的证明:

已知条件: ∑ i = 1 n p i = 1 , H ( x ) = − ∑ i = 1 n p i l o g p i , p 1 = p 2 = . . = p i = p n , 根据拉格朗日乘数法则得: H ( x ) = − ∑ i = 1 n p i l o g p i + λ ( ∑ i = 1 n p i − 1 ) , ∂ H ( x ) ∂ p i = − n l o g p i − n + n λ = 0 , p i = 1 n ,由此得知: p i = e λ − 1 ,即 p i 服从指数分布 已知条件:\\ \sum _{i = 1} ^ np_i = 1, \\ H(x) = -\sum_{i=1}^{n} p_i log p_i,\\ p_1 = p_2 = .. = p_i = p_n,\\ 根据拉格朗日乘数法则得:\\ H(x) = -\sum_{i=1}^{n} p_i log p_i + \lambda(\sum _{i = 1}^n p_i -1) ,\\ \frac {\partial H(x)}{\partial p_i} = - nlogp_i - n + n \lambda = 0, p_i = \frac {1}{n},由此得知:\\ p_i = e ^ {\lambda - 1},即p_i服从指数分布 已知条件:i=1npi=1,H(x)=i=1npilogpi,p1=p2=..=pi=pn,根据拉格朗日乘数法则得:H(x)=i=1npilogpi+λ(i=1npi1)piH(x)=nlogpin+=0,pi=n1,由此得知:pi=eλ1,即pi服从指数分布

(4)已知均值和方差时,正态分布下熵的值最大,该证明的参考链接如下:
https://zhuanlan.zhihu.com/p/309831227

(5)任何概率分布下的信息熵一定不会大于它对其它概率分布下自信息的数学期望(交叉熵有极小值
证明:
∵ l n x ≤ x − 1 ∴ ∑ i = 1 n p i × l n q i p i ≤ ∑ i = n n p i × ( q i p i − 1 ) = ∑ i = 1 n q i − ∑ i = 1 n p i = 0 ∴ ∑ i = 1 n p i × l n q i p i = ∑ i = 1 n p i l n q i − ∑ i = 1 n p i l n p i ≤ 0 ∴ ∑ i = 1 n p i l n q i ≤ ∑ i = 1 n p i l n p i \because lnx \le x - 1\\ \therefore \sum _{i=1}^{n} p_i \times ln \frac {q_i}{p_i} \le \sum _{i=n} ^{n} p_i \times \bigl ( \frac{q_i}{p_i} - 1) = \sum _{i=1}^{n}q_i - \sum _{i=1} ^ {n} p_i = 0 \\ \therefore \sum _{i=1}^{n} p_i \times ln \frac {q_i}{p_i} = \sum _{i=1}^{n} p_i ln q_i - \sum _{i=1}^{n} p_i ln p_i \le 0 \\ \therefore \sum _{i=1}^{n} p_i ln q_i \le \sum _{i=1}^{n} p_i ln p_i lnxx1i=1npi×lnpiqii=nnpi×(piqi1)=i=1nqii=1npi=0i=1npi×lnpiqi=i=1npilnqii=1npilnpi0i=1npilnqii=1npilnpi

交叉熵有极小值也是机器学习的基础理论之一。

(6)熵函数具有上凸性,熵函数必有最大值。(此结论只针对离散随机变量)

(三)熵几个概念之间的图形化关系

最后,关于信息论中各个部分的关系如下,其中:

图中H(X)与H(Y)是X,Y两个部分的熵,I(XY)是两者熵的重合部分。

H(X|Y)是H(X) 去掉I(XY)部分,H(Y|X)是H(Y) 去掉I(XY)部分,H(XY)是两者的面积去掉I(xy)的部分。

在这里插入图片描述

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

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

相关文章

这些Wireshark过滤条件,让你的Wireshark网络分析变得更加高效

文章首发地址 Wireshark 是一款开源网络数据包分析工具,可以用于捕获、分析和调试网络数据包。在使用 Wireshark 进行数据包分析时,常常需要使用过滤条件来过滤数据包,以便查找特定的数据包或者分析网络性能。 过滤协议 过滤特定协议的数据…

网络协议栈-基础知识

1、分层模型 1.1、OSI七层模型 1、OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。 2、每一层都有相关…

vue报错‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

运行我的后台管理项目的时候报错:‘vue-cli-service’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 查看自己package.json中是否有vue 或者vue-cli-service 查看自己项目目录下有没有node_module文件夹,如果有删除,然后…

typeScript 之 Number

工具: PlayeGround 源码: GitHub TypeScript 简介 数字的基本类型是number,它是双精度64位浮点数,在TypeScript和JavaScript中没有整数。 但是他们支持使用Number对象,它是对原始数值的包装对象。 const value new Number(pa…

腾讯云宣布VPC网络架构重磅升级,可毫秒级感知网络故障并实现自愈

8月11日,腾讯云宣布VPC(Virtual Private Cloud,云私有网络)架构重磅升级。新架构采用多项腾讯核心自研技术,能够支撑用户构建业界最大 300万节点超大规模单VPC网络,并将转发性能最大提升至业界领先的200Gbp…

Linux 虚拟内存入门

在计算机系统中,物理内存是一种有限的资源,即使该系统支持内存扩展(多插几根内存条),但是对于内存的安装也有最大限制。物理内存不一定是连续的,它可以作为一个不同地址的集合进行访问; 此外&am…

06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别

为什么需要多线程 CPU、内存、IO之间的性能差异巨大多核心CPU的发展线程的本质是增加一个可以执行代码工人 多线程的优点 多个执行流,并行执行。(多个工人,干不一样的活) 多线程的缺点 上下文切换慢,切换上下文典型值…

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…

81 | Python可视化篇 —— Seaborn数据可视化

Seaborn是Python中一个基于Matplotlib的高级数据可视化库,它提供了更简单的API和更美观的图形样式,适用于数据探索和展示。在本教程中,我们将介绍Seaborn的基本概念和用法,并通过一些示例演示如何使用Seaborn来创建各种图表和图形。 文章目录 1. 导入Seaborn库和数据2. 数据…

复古游戏库管理器RomM

什么是 RomM ? RomM(代表 Rom Manager)是一个专注于复古游戏的游戏库管理器。通过 Web 浏览器管理和组织您的所有游戏。受 Jellyfin 的启发,允许您从现代界面管理所有游戏,同时使用 IGDB 元数据丰富它们。 RomM 支持的…

机器学习:隐马尔可夫模型(HMM)

后续会回来补充代码 1 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学模型,描述由隐藏的马尔可夫链随机生成观测序列的过程。 1.1 数学定义 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成…

Hbase-面试题

1. Hbase-region切分 自动切分,默认情况下 2.0版本,第一次region的数据达到256M,会进行切分,以后就是每达到10G切分一次,切分完成后,会进行负载均衡,均衡到其他regionserver预分区自定义rowke…

数据治理-组织变革

为什么要有组织变革 组织变更的原因是,数据管理,对大多数企业而言,意味着原有的思维理念、工作模式、写作方式和信息技术的改变。这些改变无法依赖单纯的技术创新优化实现,而是通过组织管理的变更来实现。 数据管理成功实践的机制…

二叉树的完全性检验

给定一个二叉树的 root ,确定它是否是一个 完全二叉树 。 在一个 完全二叉树 中,除了最后一个关卡外,所有关卡都是完全被填满的,并且最后一个关卡中的所有节点都是尽可能靠左的。它可以包含 1 到 2h 节点之间的最后一级 h 。 示…

【算法挨揍日记】day02——双指针算法_快乐数、盛最多水的容器

202. 快乐数 202. 快乐数https://leetcode.cn/problems/happy-number/ 题目: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个…

【C#】获取已安装的应用名称、启动路径、安装位置、产品代码、卸载字符串等

代码 /// <summary>/// Windows信息/// </summary>public partial class WindowsInfo{private static List<AppInfo> GetInstalledAppInfos(){List<AppInfo> appInfos new List<AppInfo>();string SameApp "";void AddApp(RegistryK…

宋浩高等数学笔记(十一)曲线积分与曲面积分

个人认为同济高数乃至数学一中最烧脑的一章。。。重点在于计算方式的掌握&#xff0c;如果理解不了可以暂时不强求&#xff0c;背熟积分公式即可。此外本贴暂时忽略两类曲面积分之间的联系&#xff0c;以及高斯公式的相关内容&#xff0c;日后会尽快更新&#xff0c;争取高效率…

PHP 之房贷计算器、组合贷

一、等额本金 // &#xff08;等额本金&#xff09; //$loanAmount>贷款金额 //$loanPeriod>贷款年限 //$interestRate>贷款利息 function calculateEqualPrincipalPayment($loanAmount, $loanPeriod, $interestRate) {$monthlyPrincipal $loanAmount / ($loanPerio…

【数据结构】二叉树常见题目

文章目录 前言二叉树概念满二叉树完全二叉树二叉搜索树(二叉排序树)平衡⼆叉搜索树存储⽅式 二叉树OJ二叉树创建字符串二叉树的分层遍历1二叉树的分层遍历2给定一个二叉树, 找到该树中两个指定节点的最近公共祖先二叉树搜索树转换成排序双向链表二叉树展开为链表根据一棵树的前…

Linux(centos7)无nc命令

起因 网上傻x特别多&#xff0c;下个东西要积分&#xff0c;直接分享一波 rpm包 https://www.123pan.com/s/lUl7Vv-0Qvl3.html提取码:PD1J 安装命令 rpm -ivh nc-1.84-24.el6.x86_64.rpm