信息熵、联合熵、条件熵、互信息

信息熵、联合熵、条件熵、互信息一个随机事件 xxx 的自信息量 1 定义为 I x log 1p x I x log frac 1 p x I x logp x 1 注意 在信息论中 log loglog 函数的底通常设置为 2 此时 自信息量的单位为比特 bit 在机器学习中 log loglog 函数的底通常设置为自然常数 e 此时 自信息量的单位为奈特 nat 需要从以下两方面来理解自信息量 举例说明 中彩票 事件的概率极小 但是一旦中了彩票 中彩票 事件的自信息量很大 也就是说 中彩票 会获得极大的信息量 即收益

信息熵、联合熵、条件熵、互信息


1. 自信息量

一个随机事件 x x x自信息量1定义为:
I ( x ) = log ⁡ 1 p ( x ) I(x)=\log\frac{1}{p(x)} I(x)=logp(x)1

注意,在信息论中, log ⁡ \log log函数的底通常设置为2,此时,自信息量的单位为比特(bit);在机器学习中, log ⁡ \log log函数的底通常设置为自然常数e,此时,自信息量的单位为奈特(nat)。

需要从以下两方面来理解自信息量:

  • 自信息量表示,如果随机事件 x x x发生的概率 p ( x ) p(x) p(x)越小,一旦其发生,所获得的信息量就越大
  • 自信息量反映了事件发生的不确定性

举例说明,“中彩票”事件的概率极小,但是一旦中了彩票,“中彩票”事件的自信息量很大,也就是说,“中彩票”会获得极大的信息量(即收益)。另一方面,“中彩票”事件的概率很低,自信息量很大,意味着“中彩票”事件发生的不确定性也很大。

  • 发生概率越高的事情,具有的自信息量越少
  • 发生概率越低的事情,具有的自信息量越多

2. 信息熵

一个随机变量 X X X信息熵2定义为:
H ( X ) = ∑ x i ∈ X p ( x i ) I ( x i ) = ∑ x i ∈ X p ( x i ) log ⁡ 1 p ( x i ) . H(X) = \sum_{x_i\in X}p(x_i)I(x_i)\\ = \sum_{x_i\in X}p(x_i)\log\frac{1}{p(x_i)}. H(X)=xiXp(xi)I(xi)=xiXp(xi)logp(xi)1.

简记为: H ( X ) = − ∑ x p ( x ) log ⁡ p ( x ) . H(X)=-\sum_{x}p(x)\log p(x). H(X)=xp(x)logp(x).

信息熵的单位与自信息量一样。一个随机变量 X X X可以有多种取值可能,信息熵是随机变量 X X X所有可能情况的自信息量的期望。信息熵 H ( X ) H(X) H(X)表征了随机变量 X X X所有情况下的平均不确定度。

  • 不确定度越大,信息量越大
  • 不确定度越小,信息量越小

3. 最大熵定理

当随机变量 X X X所有取值的概率相等时,即 p ( x i ) p(x_i) p(xi)的概率都相等时,信息熵取最大值,随机变量具有最大的不确定性。例如,情景一:买彩票中奖和不中奖的概率都是 0.5 0.5 0.5时,此时买彩票是否中奖的不确定性最大。情景二:真实情况中,不中奖的概率远远大于中奖的概率,此时的不确定性要小于情景一,因为几乎能确定为不中奖。

最大熵定理

当随机变量
X X X,在离散情况下所有取值概率相等(或在连续情况下服从均匀分布),此时熵最大。即
0 ≤ H ( X ) ≤ log ⁡ ∣ X ∣ 0\leq H(X)\leq \log |X| 0H(X)logX,其中
∣ X ∣ |X| X表示
X X X的取值个数。

例1. 根据经验判断,买彩票中奖的概率是 80 % 80\% 80%,不中奖的概率是 20 % 20\% 20%,求买彩票的信息熵。

解: 买彩票的概率空间为:
( X P ) = ( x 1 x 2 0.8 0.2 ) \binom{X}{P}=\begin{pmatrix} x_{1} &x_{2} \\ 0.8 & 0.2 \end{pmatrix} (PX)=(x10.8x20.2)

其中, x 1 x_{1} x1表示买的彩票没奖, x 2 x_{2} x2表示买的彩票有奖。

  • 买彩票后,“没中奖”事件获得的自信息量为:
    I ( x 1 ) = log ⁡ 2 1 0.8 = log ⁡ 2 1.25 = log ⁡ 10 1.25 log ⁡ 10 2 = 0.322  bit I(x_1)=\log_2\frac{1}{0.8}=\log_21.25=\frac{\log_{10}1.25}{\log_{10}2}=0.322~\text{bit} I(x1)=log20.81=log21.25=log102log101.25=0.322 bit
  • 买彩票后,“中奖”事件获得的自信息量为:
    I ( x 2 ) = log ⁡ 2 1 0.2 = log ⁡ 2 5 = log ⁡ 10 5 log ⁡ 10 2 = 2.322  bit I(x_2)=\log_2\frac{1}{0.2}=\log_25=\frac{\log_{10}5}{\log_{10}2}=2.322~\text{bit} I(x2)=log20.21=log25=log102log105=2.322 bit

I ( x 1 ) < I ( x 2 ) I(x_1)
I(x1)<I(x2)
可知,彩票有奖的不确定性要大于彩票没奖。

结果分析:由最大熵定理可知,信息熵 H ( X ) H(X) H(X)的最大值为 H ( X ) max ⁡ = − log ⁡ 1 / 2 = 1 H(X)_{\max}=-\log 1/2=1 H(X)max=log1/2=1。例 1 1 1 H ( X ) H(X) H(X)小于1比特,意味着不确定性减少,带来的信息量也减少。也就是说,先验经验(买彩票大概率不中奖)减少了不确定性。

4. 联合熵

随机变量 X X X Y Y Y联合熵定义为:
H ( X , Y ) = ∑ x i ∈ X ∑ y i ∈ Y p ( x i , y i ) I ( x i , y i ) = ∑ x i ∈ X ∑ y i ∈ Y p ( x i , y i ) l o g 1 p ( x i , y i ) H(X, Y)=\sum_{x_i\in X}\sum_{y_i\in Y}p(x_i, y_i)I(x_i, y_i)\\ =\sum_{x_i\in X}\sum_{y_i\in Y}p(x_i, y_i)log\frac{1}{p(x_i, y_i)} H(X,Y)=xiXyiYp(xi,yi)I(xi,yi)=xiXyiYp(xi,yi)logp(xi,yi)1

简记为: H ( X , Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) H(X, Y)=-\sum_{x,y}p(x,y)\log p(x,y) H(X,Y)=x,yp(x,y)logp(x,y)

联合熵 H ( X , Y ) H(X, Y) H(X,Y)表示随机变量 X X X Y Y Y一起发生时的信息熵,即 X X X Y Y Y一起发生时的确定度。通俗地讲,联合熵 H ( X , Y ) H(X, Y) H(X,Y)表示 X X X Y Y Y一起发生时,产生的信息量。

5. 条件熵 H ( X ∣ Y ) H(X|Y) H(XY)

随机变量 X X X Y Y Y的条件熵 H ( Y ∣ X ) H(Y|X) H(YX)定义为:
H ( X ∣ Y ) = ∑ y j ∈ Y p ( y j ) H ( X ∣ Y = y j ) H(X|Y)=\sum_{y_j\in Y}p(y_j)H(X|Y=y_j) H(XY)=yjYp(yj)H(XY=yj)

条件熵 H ( X ∣ Y ) H(X|Y) H(XY)表示已知随机变量 Y Y Y的情况下,随机变量 X X X的信息熵,即在 Y Y Y发生的前提下, X X X发生后新带来的不确定度。通俗地讲,条件熵 H ( X ∣ Y ) H(X|Y) H(XY)表示在 Y Y Y发生的前提下, X X X发生新带来的信息量。

简记为: H ( X ∣ Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x ∣ y ) H(X|Y)=-\sum_{x,y}p(x,y)\log p(x|y) H(XY)=x,yp(x,y)logp(xy)

条件熵 H ( X ∣ Y ) H(X|Y) H(XY)与联合熵 H ( X , Y ) H(X,Y) H(X,Y)的关系为:
H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y)=H(X,Y)-H(Y) H(XY)=H(X,Y)H(Y)

5. 条件熵 H ( Y ∣ X ) H(Y|X) H(YX)

随机变量 X X X Y Y Y的条件熵 H ( Y ∣ X ) H(Y|X) H(YX)定义为:
H ( Y ∣ X ) = ∑ x i ∈ X p ( x i ) H ( Y ∣ X = x i ) H(Y|X)=\sum_{x_i\in X}p(x_i)H(Y|X=x_i) H(YX)=xiXp(xi)H(YX=xi)

条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示已知随机变量 X X X的情况下,随机变量 Y Y Y的信息熵,即在 X X X发生的前提下, Y Y Y发生后新带来的不确定度。通俗地讲,条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示在 X X X发生的前提下, Y Y Y发生新带来的信息量。

简记为: H ( Y ∣ X ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) H(Y|X)=-\sum_{x,y}p(x,y)\log p(y|x) H(YX)=x,yp(x,y)logp(yx)

条件熵 H ( Y ∣ X ) H(Y|X) H(YX)与联合熵 H ( X , Y ) H(X,Y) H(X,Y)的关系为:
H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y|X)=H(X,Y)-H(X) H(YX)=H(X,Y)H(X)

推导过程见 H ( X ∣ Y ) H(X|Y) H(XY)

7. 互信息

互信息的理解:
H ( X ) H(X) H(X) X X X的不确定度, H ( X ∣ Y ) H(X|Y) H(XY) Y Y Y已知时是 X X X的不确定度,则 I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y)=H(X)-H(X|Y) I(X;Y)=H(X)H(XY)表示 Y Y Y已知使得 X X X的不确定度减少了 I ( X ; Y ) I(X;Y) I(X;Y) Y Y Y已知时 X X X的不确定度为 H ( X ∣ Y ) = H ( X ) − I ( X ; Y ) H(X|Y)=H(X)-I(X;Y) H(XY)=H(X)I(X;Y)

8. 小结

名称 公式 含义
H ( X ) H(X) H(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) H ( X ) H(X) H(X)表示 X X X的不确定度
联合熵 H ( X , Y ) H(X, Y) H(X,Y) H ( X , Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) H(X, Y)=-\sum_{x,y}p(x,y)\log p(x,y) H(X,Y)=x,yp(x,y)logp(x,y) 联合熵 H ( X , Y ) H(X, Y) H(X,Y)表示 X X X Y Y Y一起发生的不确定度
条件熵 H ( Y ∣ X ) H(Y|X) H(YX) H ( Y ∣ X ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) H(Y|X)=-\sum_{x,y}p(x,y)\log p(y|x) H(YX)=x,yp(x,y)logp(yx) 条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示 X X X发生后, Y Y Y的不确定度
条件熵 H ( X ∣ Y ) H(X|Y) H(XY) H ( X ∣ Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x ∣ y ) H(X|Y)=-\sum_{x,y}p(x,y)\log p(x|y) H(XY)=x,yp(x,y)logp(xy) 条件熵 H ( X ∣ Y ) H(X|Y) H(XY)表示 Y Y Y发生后, X X X的不确定度
互信息 I ( X ; Y ) I(X;Y) I(X;Y) I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y) = H(X)-H(X|Y) I(X;Y)=H(X)H(XY); I ( Y ; X ) = H ( Y ) − H ( Y ∣ X ) I(Y;X) = H(Y)-H(Y|X) I(Y;X)=H(Y)H(YX); I ( X ; Y ) = I ( Y ; X ) I(X;Y) = I(Y;X) I(X;Y)=I(Y;X) 互信息 I ( X ; Y ) I(X;Y) I(X;Y)表示 Y Y Y发生后, X X X的不确定度减少了 I ( X ; Y ) I(X;Y) I(X;Y)

  1. 曹雪虹, 张宗橙. 信息论与编码[J]. 2009. ↩︎
  2. Shannon C E. A mathematical theory of communication[J]. Bell System Technical Journal, 1948, 27(4):379-423. ↩︎
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208888.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:32
下一篇 2026年3月19日 上午10:33


相关推荐

  • java编译原理

    java编译原理4.Java编译原理1.javac是什么?(1)javac是一种编译器,能够将一种语言规范转换成另一种用语言规范,通常编译器是将便于人们理解的语言规范成机器容易理解的语言规范。(2)javac的任务就是将java源代码语言转换成jvm能够识别的语言,然后jvm将jvm语言再转化成当前机器能够识别的语言(这样使得对开发者屏蔽与机器相关的细节,并且使得语言的执行与平台无关)2.javac编译器的基本结…

    2022年5月9日
    39
  • C语言结构体(struct)常见使用方法[通俗易懂]

    C语言结构体(struct)常见使用方法[通俗易懂]注意:盗版是不会得到修正和更新的!今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。(因为C++和C有共通之处,但是在结构体上的某些机制又有所不同,所以后边提了一下,不喜欢可以略过)结构体定义:…

    2022年5月12日
    77
  • java http get 发送数据

    java http get 发送数据

    2021年5月5日
    126
  • 怎么让豆包把AI图P的更真实一点

    怎么让豆包把AI图P的更真实一点

    2026年3月12日
    1
  • 在线JSON格式校验网址

    在线JSON格式校验网址推荐个一直在用的 json 格式化的网址 BeJson http www bejson com 新版本 点击如下按钮进入新版 nbsp nbsp

    2026年3月18日
    1
  • windows环境下的Anaconda安装与OpenCV机器视觉环境搭建[通俗易懂]

    windows环境下的Anaconda安装与OpenCV机器视觉环境搭建[通俗易懂]windows环境下的Anaconda安装与OpenCV机器视觉环境搭建本文介绍win7和win10系统下通过Anaconda配置基于python语言的机器视觉编程环境(博主测试了两个系统下的安装基本相同),主要内容包括:Anaconda下载安装 OpenCV下载安装 测试安装结果本文安装的版本为:Anaconda4.2+Python3.5+OpenCV3.4如需安装更新版…

    2022年6月3日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号