熵、相对熵和互信息
学习目标
- 理解自信息为何必须是对数形式,掌握四个公理条件
- 掌握熵的定义、推导与二值熵函数,会用熵衡量随机变量的平均不确定性
- 能计算联合熵、条件熵,理解链式法则
- 理解互信息三种等价定义的物理含义
- 掌握相对熵(KL 散度)的非负性证明,了解它与交叉熵的关系
- 能用 Jensen 不等式证明 KL 散度非负,理解数据处理不等式的直觉
Shannon 信息论的出发点很克制:通信系统先不讨论消息的语义,只讨论消息出现得有多不确定、传过去之后不确定性减少了多少。一旦把"信息"理解成"消除了多少不确定性",它就能进入概率论和对数函数的框架。
课件第 1 章先给出课程全貌,第 2 章开始建立这些度量。这里建议把它们看成一张关系网:
- 自信息 $I(x)$:某个具体事件发生时的"惊奇度"
- 熵 $H(X)$:平均惊奇度,也就是平均不确定性
- 条件熵 $H(X|Y)$:知道 $Y$ 之后,$X$ 还剩多少不确定性
- 互信息 $I(X;Y)$:知道 $Y$ 以后,$X$ 的不确定性减少了多少
- 相对熵 $D(p\|q)$:用错误分布 $q$ 代替真实分布 $p$ 时,会付出多少额外代价
为什么需要它
如果只说"罕见事件更有信息",还不够做计算。我们需要一个函数 $I(x)$,把事件 $x$ 的概率 $p(x)$ 映射成一个可加、可比较、可平均的信息量。
这个函数至少应满足四个条件:
- 只依赖于事件发生概率,即 $I(x)=f(p(x))$
- 概率越小,信息量越大,所以 $f(p)$ 应单调递减
- 确定事件 $p(x)=1$ 时,没有新信息,故 $I(x)=0$
- 独立事件可加:若 $x,y$ 独立,则 $I(x,y)=I(x)+I(y)$
它是什么
这里:
- $x$ 表示某个具体事件或符号
- $p(x)=\Pr(X=x)$ 表示该事件发生的概率
- 对数底若取 2,单位是 bit;取 $e$,单位是 nat
怎么推出来
由独立可加性,若令 $f(p)=I(x)$,则应有
满足这个函数方程、且连续并单调的标准解就是对数函数,因此
通常把常数 $k$ 取为 1,于是得到 $I(x)=-\log p(x)$。
图形理解:自信息随概率的变化
从图中可以直观看到:概率越接近 0,自信息增长得越快;概率趋近于 1 时,自信息趋近于 0。这正是"罕见事件更让人惊奇"的数学体现。
怎么用
它用来衡量单次观测的"惊奇度"。例如文本中字母 e 比 z 常见,所以看到 z 往往更"有信息"。在后续编码中,低概率符号应分配更长码字,这和自信息的大小方向一致。
例子落地
设英文字母出现概率分别为 $p(e)=0.105$,$p(d)=0.035$,$p(y)=0.012$,则
越罕见,信息量越大,这和直觉一致。
为什么需要它
自信息只处理某个具体结果,而通信系统面对的是随机变量。发送端发出的不是"这一次一定是某个符号",而是"按某个分布随机产生符号"。所以我们关心平均意义下的不确定性。
它是什么
离散随机变量 $X$ 的熵定义为
符号说明:
- $\mathcal X$ 是随机变量 $X$ 的字母表,也就是取值集合
- $p(x)$ 是概率质量函数
- 约定 $0\log 0=0$,因为 $\lim_{p\to 0^+}p\log p=0$
怎么推出来
熵就是自信息的期望:
把 $I(X)=-\log p(X)$ 代入即可得到
这个定义非常自然:一次观测到底平均带来多少 bit,就用每种结果的信息量乘以它出现的概率,再求和。
图形理解:二值熵函数的形态
当随机变量只有两个可能结果时(二项分布),熵退化为二值熵函数 $H_2(p)$。从图中可以看到:
- 当 $p=0$ 或 $p=1$ 时(即结果已确定),熵为 0
- 当 $p=0.5$ 时,两种结果等可能,熵达到最大值 1 bit——这是二元随机变量最难预测的状态
- 曲线关于 $p=0.5$ 对称,是典型的凹函数
关键性质
- 非负性:$H(X)\ge 0$
- 确定变量熵为 0:若某个值概率为 1,则 $H(X)=0$
- 上界:$H(X)\le \log |\mathcal X|$,均匀分布时取等号
- 二值熵函数:若 $X\sim\mathrm{Bernoulli}(p)$,则
$$H_2(p)=-p\log p-(1-p)\log(1-p)$$
当 $p=1/2$ 时达到最大值 1 bit
怎么用
- 衡量一个信源是否"难预测"
- 给无损压缩提供理论下界,平均码长不可能长期低于 $H(X)$
- 作为后续 AEP、信源编码、信道容量的基础量
例题:熵的数值计算
题目:设 $X$ 的分布为 $p(0)=0.5$,$p(1)=0.25$,$p(2)=0.25$,求 $H(X)$。
- 写出熵的定义公式:$H(X)=-\sum_x p(x)\log_2 p(x)$
- 逐项计算:
$$I(0)=-\log_2 0.5 = 1\text{ bit}$$$$I(1)=I(2)=-\log_2 0.25 = 2\text{ bit}$$
- 求期望(加权求和):
$$H(X)=0.5\times 1 + 0.25\times 2 + 0.25\times 2 = 1.5\text{ bit}$$
答案:$H(X)=1.5$ bit
为什么需要它
现实中的信息往往不是一个变量孤立出现的。我们经常同时观察多个变量,或者先知道一部分信息,再预测另一部分。于是就需要回答两个问题:
- 两个变量整体有多不确定
- 知道其中一个以后,另一个还剩多少不确定性
它是什么
联合熵定义为
条件熵定义为
其中:
- $p(x,y)=\Pr(X=x,Y=y)$ 是联合分布
- $p(x|y)=\Pr(X=x|Y=y)$ 是条件分布
怎么推出来
由概率恒等式 $p(x,y)=p(y)p(x|y)$,取负对数得
对联合分布取期望:
这就是链式法则。同理也有
推广到 $n$ 个变量:
怎么用
- 拆分复杂联合分布的总不确定性
- 度量"已知上下文后还剩多少难度",例如语言模型中下一个词的预测
- 为互信息公式 $I(X;Y)=H(X)-H(X|Y)$ 做准备
例题:理解条件熵为零的情形
题目:若 $Y$ 完全由 $X$ 决定(例如 $Y=X$),求 $H(X|Y)$ 和 $H(X,Y)$。
- 分析条件分布:已知 $Y=y$ 时,$X$ 必然等于 $y$,因此 $p(X=y|Y=y)=1$,其余为 0
- 代入条件熵定义:$H(X|Y)=-\sum_{x,y}p(x,y)\log p(x|y)$,其中只有 $p(x|y)=1$ 的项参与求和,而 $\log 1=0$,故 $H(X|Y)=0$
- 求联合熵:由链式法则
$$H(X,Y)=H(Y)+H(X|Y)=H(Y)+0=H(Y)=H(X)$$
答案:$H(X|Y)=0$,$H(X,Y)=H(X)$
为什么需要它
熵只描述单个分布自身的不确定性,但很多问题其实是"真实分布是 $p$,你却按 $q$ 来理解或编码"。这时我们需要一个量来衡量这种错配的代价。
它是什么
相对熵,也叫 KL 散度,定义为
符号说明:
- $p$ 是真实分布
- $q$ 是比较对象或近似分布
- 要求当 $p(x)>0$ 时应有 $q(x)>0$,否则该项为 $+\infty$
怎么推出来
先把它改写为期望形式:
由于 $\log$ 是凹函数,由 Jensen 不等式可得
右侧继续化简:
所以
于是
等号成立当且仅当 $q(x)/p(x)$ 在 $p$ 的支撑集上为常数,也就是 $p=q$。
怎么用
- 比较模型分布与真实分布的接近程度
- 解释"交叉熵 = 熵 + KL 散度"中的额外损失
- 在统计学习、生成模型、变分推断里做目标函数
容易混淆的点
- $D(p\|q)$ 一般不对称,所以不是距离
- $D(p\|q)=0$ 说明两分布相同
- $D(p\|q)$ 大,表示用 $q$ 假装自己理解 $p$ 会很吃亏
例题:相对熵的数值计算
题目:设真实分布 $p=(0.5,0.5)$,近似分布 $q=(0.9,0.1)$,求 $D(p\|q)$。
- 逐项计算比值:
$$\frac{p(0)}{q(0)}=\frac{0.5}{0.9}\approx 0.556,\quad \frac{p(1)}{q(1)}=\frac{0.5}{0.1}=5$$
- 取对数并加权求和:
$$\begin{aligned}</p> <p>D(p\|q)&=0.5\log_2\frac{0.5}{0.9}+0.5\log_2\frac{0.5}{0.1}\\</p> <p>&\approx 0.5(-0.848)+0.5(2.322)\\</p> <p>&\approx -0.424+1.161=0.737\text{ bit}</p> <p>\end{aligned}$$
答案:$D(p\|q)\approx 0.737$ bit
为什么需要它
熵告诉我们一个变量本身有多不确定,条件熵告诉我们知道别的信息以后还剩多少不确定。两者一减,自然得到"减少了多少不确定性",这就是互信息。
它是什么
互信息的等价定义有三组:
还可以写成 KL 散度:
怎么推出来
从链式法则出发:
移项得
这就说明"熵差形式"和"联合熵形式"等价。
若再从 KL 散度展开:
分别识别成 $-H(X,Y)$、$-H(X)$、$-H(Y)$ 的相反数,就得到
怎么用
- 度量特征和标签的关联强度
- 衡量信道输入与输出共享的信息量
- 判断两个变量是否独立
关键性质
| 性质 | 公式 | 含义 |
|---|---|---|
| 非负性 | $I(X;Y)\ge 0$ | 知道额外信息不会让你"更无知" |
| 对称性 | $I(X;Y)=I(Y;X)$ | 共享信息的量与方向无关 |
| 独立性判据 | $I(X;Y)=0 \iff X\perp Y$ | 零互信息等价于独立 |
| 上界 | $I(X;Y)\le \min(H(X),H(Y))$ | 共享的信息不可能超过各自总量 |
例题:联合熵、条件熵、互信息一题全算
题目:设 $(X,Y)$ 的联合分布为
| $Y=0$ | $Y=1$ | |
|---|---|---|
| $X=0$ | $1/4$ | $1/4$ |
| $X=1$ | $0$ | $1/2$ |
求 $H(X)$、$H(Y)$、$H(X,Y)$、$H(X|Y)$ 和 $I(X;Y)$。
- 求边缘分布:
$$p_X(0)=1/4+1/4=1/2,\quad p_X(1)=0+1/2=1/2$$$$p_Y(0)=1/4+0=1/4,\quad p_Y(1)=1/4+1/2=3/4$$
- 求单变量熵:
$$H(X)= -\frac12\log_2\frac12-\frac12\log_2\frac12 =1\text{ bit}$$$$H(Y)= -\frac14\log_2\frac14-\frac34\log_2\frac34\approx 0.811\text{ bit}$$
- 求联合熵:
$$H(X,Y)= -\frac14\log_2\frac14-\frac14\log_2\frac14-\frac12\log_2\frac12 =0.5+0.5+0.5=1.5\text{ bit}$$
- 求条件熵(用链式法则 $H(X,Y)=H(Y)+H(X|Y)$):
$$H(X|Y)=H(X,Y)-H(Y)=1.5-0.811=0.689\text{ bit}$$
- 求互信息(用 $I(X;Y)=H(X)-H(X|Y)$):
$$I(X;Y)=H(X)-H(X|Y)=1-0.689=0.311\text{ bit}$$
答案:$H(X)=1$ bit,$H(Y)\approx 0.811$ bit,$H(X,Y)=1.5$ bit,$H(X|Y)\approx 0.689$ bit,$I(X;Y)\approx 0.311$ bit
Jensen 不等式
若 $f$ 为凸函数,则
若 $f$ 为凹函数,则不等号反向。因为 $\log$ 是凹函数,所以它经常用来证明熵和 KL 散度的性质。
数据处理不等式
若 $X\to Y\to Z$ 构成马尔可夫链,则
直觉上,$Z$ 是对 $Y$ 再加工得到的,后处理不能凭空创造关于 $X$ 的新信息。这条不等式会在信道、统计学习、表示学习里反复出现。
例题:二值熵函数极值分析
题目:证明 $H_2(p)$ 在 $p=1/2$ 取最大值。
- 写出函数:$H_2(p)=-p\log_2 p-(1-p)\log_2(1-p)$
- 对 $p$ 求导:
$$\frac{dH_2(p)}{dp}=\log_2\frac{1-p}{p}$$
- 令导数为零:
$$\log_2\frac{1-p}{p}=0\Rightarrow \frac{1-p}{p}=1\Rightarrow p=\frac12$$
- 二阶导数验证:
$$\frac{d^2H_2(p)}{dp^2}=-\frac{1}{p(1-p)\ln 2}<0\quad (0<p<1)$$
故 $p=1/2$ 为严格极大点
答案:$H_2(1/2)=1$ bit,即最难猜的二元随机变量就是两种结果一样可能。
设 $X\to Y\to \hat X$,其中 $\hat X$ 是根据观测 $Y$ 对 $X$ 做出的估计,错误概率为 $P_e=\Pr(X\ne \hat X)$。Fano 不等式告诉我们:
它的含义很朴素:若观察完 $Y$ 之后,关于 $X$ 的剩余不确定性 $H(X|Y)$ 仍然很大,那任何估计器的错误率都不可能太低。它把"信息不够"与"分类一定会错"直接联系起来。
| 量 | 定义 | 一句话理解 |
|---|---|---|
| $I(x)$ | $-\log p(x)$ | 单个事件的信息量 |
| $H(X)$ | $-\sum_x p(x)\log p(x)$ | 平均不确定性 |
| $H(X,Y)$ | $-\sum_{x,y}p(x,y)\log p(x,y)$ | 两变量整体的不确定性 |
| $H(X|Y)$ | $-\sum_{x,y}p(x,y)\log p(x|y)$ | 知道 $Y$ 后 $X$ 剩余的不确定性 |
| $D(p\|q)$ | $\sum_x p(x)\log\frac{p(x)}{q(x)}$ | 分布错配的额外代价 |
| $I(X;Y)$ | $H(X)-H(X|Y)$ | $Y$ 帮你知道了多少关于 $X$ 的信息 |
复习速查
- 自信息 $I(x)=-\log p(x)$:独立可加性迫使对数形式
- 熵 $H(X)=-\sum p(x)\log p(x)$:自信息的期望,平均不确定性
- 二值熵 $H_2(p)$:在 $p=0.5$ 处取最大值 1 bit
- 链式法则:$H(X,Y)=H(Y)+H(X|Y)$,推广到 $n$ 元
- 相对熵 $D(p\|q)$:由 Jensen 不等式得非负性,非对称不是距离
- 互信息 $I(X;Y)=H(X)-H(X|Y)$:非负、对称、独立判据
- 数据处理不等式:$X\to Y\to Z$ 马尔可夫链中 $I(X;Z)\le I(X;Y)$
参考来源
- 中国科学技术大学 刘斌《信息论基础》第一章、第二章课件
- Stanford EE376A Lecture Notes
- 《信息论基础》课程讲义 PDF
- 博客园:关于信息论中熵、相对熵、条件熵、互信息、典型集的一些思考
- Cover & Thomas, Elements of Information Theory, Chapters 1-2