微分熵
前面几章讨论的熵 $H(X)$ 都建立在可数个取值上:概率质量函数 $p(x)$ 可以直接相加,典型集的大小也可以直接数个数。但现实里很多信号是连续的,比如热噪声、电压、电流、无线接收信号、传感器读数。对这类对象,问题立刻变成:
- 如果 $X$ 可以取任意实数,如何衡量它的"不确定性"?
- 如果取值空间无限细,为什么"一个样本需要多少比特"这件事变得微妙?
- 高斯噪声为什么会在容量问题里反复出现?
微分熵 $h(X)$ 就是在这个背景下引入的。它确实长得像离散熵,但含义并不完全相同:它更像"密度函数在连续空间中的平均对数尺度",适合出现在比较、极值和极限定理里,尤其适合推导高斯信道与率失真理论。
设连续随机变量 $X$ 的概率密度函数为 $f_X(x)$,支撑集记为 $S=\{x:f_X(x)>0\}$。微分熵定义为
这里每个符号都要读清楚:
- $f_X(x)$:随机变量 $X$ 的概率密度函数
- $\log$:通常取底 2,则单位为 bit;取自然对数则单位为 nat
- $f_X(x)\log f_X(x)$:把"该点的密度大小"乘上"该点对数密度"后取负均值
它和离散熵的形式很像:
| 离散熵 $H(X)$ | 微分熵 $h(X)$ | |
|---|---|---|
| 定义基础 | 概率质量函数 $p(x)$ | 概率密度函数 $f(x)$ |
| 是否一定非负 | 是,$H(X)\ge 0$ | 否,可能为负 |
| 是否直接表示平均信息量 | 通常可以 | 不能直接这样解释 |
| 平移是否改变熵 | 不适用连续平移 | $h(X+b)=h(X)$ |
| 缩放效果 | 不适用连续缩放 | $h(aX)=h(X)+\log|a|$ |
| 量化后与离散熵的关系 | 自身就是答案 | $H(X_\Delta)\approx h(X)+\log\frac1\Delta$ |
最容易踩的坑
微分熵不是"连续随机变量每个样本携带的信息量"。连续变量取到某一个精确实数的概率本来就是 0,因此不能照搬离散情形的解释。
离散熵永远非负,但微分熵可以为负。最典型的例子是区间 $[0,a]$ 上的均匀分布:
代入定义:
于是:
- $a>1$ 时,$h(X)>0$
- $a=1$ 时,$h(X)=0$
- $0<a<1$ 时,$h(X)<0$
这说明微分熵在数值上反映的是"分布摊得有多开"。区间越窄,密度越高,$\log f(x)$ 越大,负号一加就可能得到负值。
因此微分熵更适合拿来做比较和极值问题,例如"在同样方差下谁的微分熵最大",而不适合直接解释成"需要多少比特"。
这部分是理解微分熵最关键的分界线。连续变量要编码,必须先量化到有限精度 $\Delta$,记量化后的离散变量为 $X_\Delta$。
若把取值范围等分成宽度为 $\Delta$ 的区间,每个区间对应一个离散符号,则有
如果 $\Delta=2^{-n}$,那就是
这才把"微分熵"和"平均编码长度"重新接上:真正需要比特的是量化后的离散变量,而不是原始连续变量本身。
flowchart LR
A["连续变量 X\nf_X(x)"] --> B["量化到精度 Δ\n离散化"]
B --> C["离散变量 X_Δ\n概率质量函数 p"]
C --> D["离散熵 H(X_Δ)\n可编码"]
A -->|"h(X) = 微分熵
描述密度尺度"| E["H(X_Δ) ≈ h(X) + log(1/Δ)"]
E --> D
style A fill:#dbeafe,stroke:#2563eb
style C fill:#fef3c7,stroke:#d97706
style D fill:#d1fae5,stroke:#16a34a
style E fill:#e0e7ff,stroke:#4f46e5
离散 AEP 告诉我们,长序列里大多数样本都集中在一个概率大约相同的典型集里。连续情形不能再说"每个典型序列的概率约为 $2^{-nh}$",因为单个点的概率为 0;但可以说密度规模和典型集体积有规律。
若 $X_1,\dots,X_n$ 是 i.i.d. 连续随机变量,且微分熵存在,则
这里 $f_{X^n}(x^n)$ 是联合密度,$x^n=(x_1,\dots,x_n)$。由此定义连续典型集
它保留了离散典型集的三条核心精神:
| 性质 | 离散 AEP | 连续 AEP |
|---|---|---|
| 概率趋近 | $\Pr\{X^n\in A_\varepsilon^{(n)}\}\to 1$ | $\Pr\{X^n\in A_\varepsilon^{(n)}\}\to 1$ |
| 密度指数 | 约 $2^{-nh(X)}$ | $2^{-nh(X)}$ 量级 |
| 典型集"大小" | 含 $|A_\varepsilon^{(n)}|\approx 2^{nh(X)}$ 个序列 | 占体积 $\operatorname{Vol}(A_\varepsilon^{(n)})\approx 2^{nh(X)}$ |
对于联合密度 $f_{X,Y}(x,y)$,定义联合微分熵
条件微分熵定义为
推导链式法则时,只要用
取对数得到
再对联合密度取平均,就有
多元形式同样成立:
如果 $X_1,\dots,X_n$ 相互独立,则条件项退化为边缘熵,得到
连续情形里,单独看 $h(X)$ 会有坐标尺度依赖的问题,但相对熵和互信息仍然保留非常强的"信息量"含义。
两个密度函数 $f(x),g(x)$ 的相对熵定义为
两个连续随机变量的互信息定义为
利用定义可以改写成
这一步非常关键,因为后面高斯信道容量就是在最大化 $I(X;Y)$。即使 $h(X)$ 或 $h(Y)$ 可能是负的,互信息仍然满足:
当且仅当 $X$ 与 $Y$ 独立时,$I(X;Y)=0$。
这组性质经常直接拿来做容量推导:
为什么 $h(aX)=h(X)+\log|a|$ 成立?以一维缩放为例,若 $Y=aX$,则密度变换为
代回定义,变量替换 $y=ax$ 之后:
所以缩放会把微分熵整体平移一个对数项。这也是为什么微分熵依赖坐标单位:米和厘米之间会差一个常数 $\log 100$。
例题:尺度缩放下微分熵的变化
题目:设 $X$ 在 $[0,2]$ 上均匀分布,$Y=2X$,求 $h(Y)$。
- 第一步:先求 $h(X)$。均匀分布 $U[0,2]$ 的密度为 $f_X=1/2$,支撑集长度 $a=2$,所以 $h(X)=\log 2$(bit)。
- 第二步:应用尺度公式。$Y=2X$,即 $a=2$,所以 $h(Y)=h(X)+\log 2=\log 2+\log 2=\log 4$。
- 第三步:直接验证。$Y$ 的取值范围是 $[0,4]$,支撑集长度变为 4,所以 $h(Y)=\log 4$,与公式一致。
答案:$h(Y)=\log 4$ bit。
设 $X\sim\mathcal N(\mu,\sigma^2)$,密度为
取对数(用自然对数):
于是
因为 $\mathbb E[(X-\mu)^2]=\sigma^2$,所以
若用底 2 对数,则写成
这是第八章最重要的结论,也是第九章高斯信道容量的引擎。
高斯最大熵定理
在所有满足方差为 $\sigma^2$ 的连续分布中,高斯分布的微分熵最大,即
等号当且仅当 $X$ 为高斯分布时成立。
一个很干净的证明是拿任意分布 $f$ 和同均值同方差的高斯分布 $g$ 做相对熵:
flowchart TD
A["任意分布 f(x)\n均值 μ, 方差 σ²"] --> B["相对熵 D(f‖g)\nD(f‖g) ≥ 0"]
C["高斯分布 g(x)\n均值 μ, 方差 σ²"] --> B
B --> C1["D(f‖g) = ∫f·log(f/g)dx"]
C1 --> C2["展开 = -h(X) - ∫f·log g dx"]
C2 --> C3["log g 只含 μ, σ²"]
C3 --> C4["∫f·log g dx = -h(G)\n因为 f 和 g 有相同均值方差"]
C4 --> C5["D(f‖g) = h(G) - h(X) ≥ 0"]
C5 --> C6["⟹ h(X) ≤ h(G)"]
C6 --> C7["⟹ h(X) ≤ (1/2)log(2πeσ²)"]
style A fill:#dbeafe,stroke:#2563eb
style C fill:#fef3c7,stroke:#d97706
style B fill:#e0e7ff,stroke:#4f46e5
style C7 fill:#d1fae5,stroke:#16a34a
直觉上,高斯分布在固定二阶能量约束下"铺得最散",所以最难预测,不确定性最大。
例题:高斯最大熵的数值比较
题目:设某分布均值为 0,方差为 1。对比 (a) 均匀分布 $U[-\sqrt{3},\sqrt{3}]$,(b) 拉普拉斯分布 $Lap(0,1/\sqrt{2})$,(c) 高斯分布 $\mathcal N(0,1)$,三者微分熵各是多少?谁最大?
- 均匀分布:方差为 1 意味着 $a^2/12=1$,得 $a=2\sqrt3$,$h(X)=\log(2\sqrt3)\approx 1.238$ nat。
- 拉普拉斯分布:方差为 $2b^2=1$,得 $b=1/\sqrt2$,$h(X)=1+\ln(2b)=1+\frac12\ln2\approx 1.347$ nat。
- 高斯分布:$h(X)=\frac12\ln(2\pi e)\approx 1.4189$ nat。
答案:高斯最大熵,约 1.419 nat。其他分布都小于此值。
若 $X\in\mathbb R^n$ 服从多元高斯分布 $\mathcal N(m,K)$,其中
- $m$:均值向量
- $K$:协方差矩阵
- $|K|$:矩阵 $K$ 的行列式
则其微分熵为
这个公式很值得记,因为:
- 它直接把不确定性和协方差矩阵体积联系起来
- 它会在彩色高斯噪声信道、反馈高斯信道里反复出现
- $|K|$ 越大,说明等概率质量摊开的"椭球体积"越大,熵也越大
假设你只知道某个模拟噪声信号均值为 0、方差为 $\sigma^2$,但不知道它更具体的分布。如果要做"最坏情况下仍然安全"的系统设计,往往会把它当成高斯噪声。原因正是高斯在同方差下微分熵最大。
对接收机来说,噪声熵越大,代表它越"散"、越难预测、越难消除。在只固定功率而不固定分布形状时,拿高斯做噪声就是最保守建模。这条思路会直接导向第九章的容量公式:
因为在给定噪声方差和输入功率约束下,输出熵的极值最终都绕不开高斯最大熵性质。
flowchart LR
subgraph Discrete["离散熵 H(X)"]
D1["概率质量函数 p(x)"]
D2["H(X) = -Σp·log p"]
D3["永远非负 H≥0"]
D4["直接表示平均编码长度"]
D5["有限符号表下熵有上界"]
end
subgraph Differential["微分熵 h(X)"]
C1["概率密度函数 f(x)"]
C2["h(X) = -∫f·log f dx"]
C3["可为负 h可<0"]
C4["描述分布铺开程度"]
C5["量化后才与比特挂钩"]
end
D3 -.->|"关键区别"| C3
D4 -.->|"量化接上"| C5
style D1 fill:#dbeafe,stroke:#2563eb
style D2 fill:#dbeafe,stroke:#2563eb
style D3 fill:#d1fae5,stroke:#16a34a
style D4 fill:#fef3c7,stroke:#d97706
style D5 fill:#f3e8ff,stroke:#8b5cf6
style C1 fill:#fef3c7,stroke:#d97706
style C2 fill:#fef3c7,stroke:#d97706
style C3 fill:#fee2e2,stroke:#dc2626
style C4 fill:#fef3c7,stroke:#d97706
style C5 fill:#e0e7ff,stroke:#4f46e5
本章复习速查
- 定义:$h(X)=-\int_S f_X(x)\log f_X(x)\,dx$,单位 bit(底 2)或 nat(自然对数)
- 可为负:均匀分布 $U[0,a]$,$h(X)=\log a$,$a<1$ 时为负
- 尺度公式:$h(aX)=h(X)+\log|a|$,平移不变 $h(X+b)=h(X)$
- 量化关系:$H(X_\Delta)\approx h(X)+\log(1/\Delta)$,这才接上离散熵
- 连续 AEP:$-\frac1n\log f_{X^n}(x^n)\xrightarrow{P}h(X)$,典型集体积 $\approx 2^{nh(X)}$
- 链式法则:$h(X,Y)=h(X)+h(Y|X)$,$I(X;Y)=h(X)-h(X|Y)\ge 0$
- 高斯微分熵:$h(X)=\frac12\log(2\pi e\sigma^2)$,固定方差下最大
- 多元高斯:$h(X)=\frac12\log((2\pi e)^n|K|)$,$|K|$ 为协方差行列式
- 高斯最大熵证明:$D(f\|g)=h(G)-h(X)\ge 0$,利用相对熵非负性
参考来源
- PDF课程课件:第八章 微分熵p.1正在渲染 PDF 第 1 页…
课程课件:第八章 微分熵(PDF 第 1 页) · 打开原文 - Stanford EE376A Lecture Notes — 补充直觉解释
- METU EE533 Information Theory Notes — 连续 AEP 与典型集推导细节
- Cover & Thomas, Elements of Information Theory, Chapter 8 — 高斯最大熵的严格证明