ESC
输入关键词搜索文章
目录

渐近均分性(AEP)

信息论 · 第3章
长序列并不乱,它们会集中到典型集
1核心定理
4关键推论
3典型集性质
2例题

学习目标

  • 理解 AEP 的核心思想:长序列的每符号自信息依概率收敛到熵 $H(X)$
  • 掌握典型集的定义及其三大性质(高概率性、近似等概率性、大小界)
  • 能够推导典型集大小的上界与下界
  • 理解 AEP 如何导出数据压缩的极限速率
第3章
为什么要从单个符号走向长序列

前两章定义了熵 $H(X)$,它刻画的是一个符号平均有多少信息。但真正压缩或传输的对象通常不是单个符号,而是长度为 $n$ 的序列 $X^n=(X_1,\dots,X_n)$。于是一个更现实的问题出现了:

核心问题:当 $n$ 很大时,长度为 $n$ 的所有可能序列里,哪些才是"真正会经常出现"的?它们一共有多少个?每个大概有多大概率?

AEP 给出的答案非常漂亮:对于 i.i.d. 信源,绝大多数概率质量会集中在一个大小约为 $2^{nH(X)}$ 的集合上,这个集合就叫典型集。典型集中的每个序列概率都差不多,约为 $2^{-nH(X)}$

这件事之所以重要,是因为它把抽象的熵 $H(X)$ 变成了一个极其具体的计数量:

$$\text{典型序列个数} \approx 2^{nH(X)}$$

这正是数据压缩能做到每个符号大约 $H(X)$ 比特的根源。

3.1
预备知识:本章里"收敛"到底在说什么

AEP 是一个极限定理,读它之前先分清几种常见收敛方式。设随机变量序列 $\{X_n\}$ 收敛到 $X$

收敛方式定义直觉
依概率收敛$\forall\epsilon>0,\;\Pr(|X_n-X|>\epsilon)\to 0$偏离目标的概率趋于 0
均方收敛$\mathbb E[(X_n-X)^2]\to 0$均方误差趋于 0
几乎处处收敛$\Pr(\lim_{n\to\infty}X_n=X)=1$除零概率集合外都收敛

它们之间有一些包含关系:

  • 几乎处处收敛 $\Rightarrow$ 依概率收敛
  • 均方收敛 $\Rightarrow$ 依概率收敛

本章课件使用的 AEP 表述首先是依概率收敛。对 i.i.d. 情形,借助强大数定律也可得到更强的几乎处处收敛版本。

PDF随机变量的几种收敛方式p.1
正在渲染 PDF 第 1 页…
随机变量的几种收敛方式(PDF 第 1 页) · 打开原文
3.2
AEP:为什么长序列的每符号自信息会逼近熵

为什么需要它

如果你只知道单个符号的熵 $H(X)$,还不知道一个长序列的概率结构。要做压缩,我们需要知道大多数序列的概率大概落在什么量级。AEP 就是在回答这个问题。

它是什么

$X_1,X_2,\dots,X_n$ 为独立同分布随机变量,且都服从分布 $p(x)$。则

$$-\frac1n\log p(X_1,X_2,\dots,X_n)\xrightarrow{P}H(X)$$

常把 $X^n=(X_1,\dots,X_n)$ 写成向量形式,则上式可写成

$$-\frac1n\log p(X^n)\xrightarrow{P}H(X)$$

这句话可以直接翻译成中文:

  • $-\log p(X^n)$ 是整段序列的自信息
  • 除以 $n$ 以后,是每个符号平均贡献的信息量
  • $n$ 很大时,它会逼近熵 $H(X)$

证明思路:三步走

AEP 的证明极其简洁,只需三步,每一步都是概率论的基本操作:

第一步:乘积概率

由独立性,联合概率写成乘积:

$$p(X^n)=\prod_{i=1}^n p(X_i)$$

取对数:

$$\log p(X^n)=\sum_{i=1}^n \log p(X_i)$$

第二步:构造 i.i.d. 序列

$$Y_i=-\log p(X_i)$$

$Y_i$ 也是 i.i.d.(因为每个 $X_i$ 独立同分布),且

$$\mathbb E[Y_i]=\mathbb E[-\log p(X)]=H(X)$$

于是问题转化为:$\frac1n\sum_{i=1}^n Y_i$ 的极限是什么?

第三步:大数定律

由大数定律(弱或强均可):

$$\frac1n\sum_{i=1}^n Y_i \xrightarrow{P} \mathbb E[Y_i]=H(X)$$

还原到原式,即得:

$$-\frac1n\log p(X^n)\xrightarrow{P}H(X)$$

怎么用

  • 构造典型集
  • 估计长序列概率的量级
  • 给信源编码定理提供核心直觉和证明骨架

一句直觉

长序列看上去组合数爆炸,但从概率角度看,绝大多数"真正会发生"的序列,其每符号信息量都差不多,基本就是熵。

PDFAEP 定理p.2
正在渲染 PDF 第 2 页…
AEP 定理(PDF 第 2 页) · 打开原文
3.3
把定理读成概率估计:为什么典型序列的概率约是 $2^{-nH(X)}$

由 AEP,若某个观测到的序列 $X^n$ 是"典型的",就有

$$-\frac1n\log p(X^n)\approx H(X)$$

把两边乘以 $-n$ 并取 2 为底的指数,可得到

$$p(X^n)\approx 2^{-nH(X)}$$

更严格地说,对任意 $\epsilon>0$,当 $n$ 足够大时,以高概率有

$$H(X)-\epsilon < -\frac1n\log p(X^n) < H(X)+\epsilon$$

等价于

$$2^{-n(H(X)+\epsilon)} < p(X^n) < 2^{-n(H(X)-\epsilon)}$$

这一步非常关键,因为它把"熵"转化成了"长序列概率"的数量级描述。

例子落地

$X\sim\mathrm{Bernoulli}(1/2)$,则 $H(X)=1$ bit,因此典型长度为 $n$ 的序列每个的概率大约是

$$2^{-n}$$

这和真正均匀二进制序列的情况完全一致,因为所有序列本来就等概率。

$X\sim\mathrm{Bernoulli}(0.9)$,则 $H(X)=H_2(0.9)\approx 0.469$ bit。于是典型序列个数大约是 $2^{0.469n}$,远小于全部 $2^n$ 个二进制序列。

PDFAEP 的概率直观p.3
正在渲染 PDF 第 3 页…
AEP 的概率直观(PDF 第 3 页) · 打开原文
3.4
典型集:把"高概率的好序列"集中起来

为什么需要它

仅知道"高概率事件存在"还不够,我们希望把这些序列组织成一个集合,用它做编码、证明和计数,这就得到典型集。

它是什么

关于分布 $p(x)$$\epsilon$-典型集定义为

$$A_\epsilon^{(n)}=\left\{x^n\in\mathcal X^n: \left|-\frac1n\log p(x^n)-H(X)\right|<\epsilon\right\}$$

等价地,$x^n\in A_\epsilon^{(n)}$ 当且仅当

$$2^{-n(H(X)+\epsilon)} < p(x^n) < 2^{-n(H(X)-\epsilon)}$$

这里:

  • $x^n=(x_1,\dots,x_n)$ 表示一个确定的长度为 $n$ 的序列
  • $\mathcal X^n$ 表示所有可能长度为 $n$ 的序列集合
  • $\epsilon$ 控制"离熵多近才算典型"

典型集的三个核心性质(逐条证明)

性质 1:高概率性

命题:对充分大的 $n$,有

$$\Pr\{X^n\in A_\epsilon^{(n)}\} > 1-\epsilon$$

证明:由 AEP,$-\frac1n\log p(X^n)$ 依概率收敛到 $H(X)$。这意味着对于任意 $\epsilon>0$

$$\Pr\left(\left|-\frac1n\log p(X^n)-H(X)\right|>\epsilon\right)\to 0$$

$\Pr(X^n\notin A_\epsilon^{(n)})\to 0$。取 $n$ 足够大,可使该概率小于 $\epsilon$,故性质 1 成立。

性质 2:近似等概率性

命题:典型集中的每个序列概率都在 $2^{-nH(X)}$ 的指数邻域内:

$$2^{-n(H(X)+\epsilon)} < p(x^n) < 2^{-n(H(X)-\epsilon)},\quad \forall x^n\in A_\epsilon^{(n)}$$

证明:这其实就是典型集定义本身的直接改写,无需额外推导。典型集本质上就是"把那些概率量级正确(误差在 $\epsilon$ 以内)的序列挑出来"的结果。

性质 3:大小界

命题

$$(1-\epsilon)2^{n(H(X)-\epsilon)} \le |A_\epsilon^{(n)}| \le 2^{n(H(X)+\epsilon)}$$

上界证明:典型集总概率不超过 1,且每个典型序列概率至少大于 $2^{-n(H+\epsilon)}$,于是

$$|A_\epsilon^{(n)}|\cdot 2^{-n(H(X)+\epsilon)} \le \Pr(X^n\in A_\epsilon^{(n)}) \le 1$$

从而

$$|A_\epsilon^{(n)}| \le 2^{n(H(X)+\epsilon)}$$

下界证明:典型集总概率至少为 $1-\epsilon$,且典型序列概率至多为 $2^{-n(H(X)-\epsilon)}$,因此

$$|A_\epsilon^{(n)}|\cdot 2^{-n(H(X)-\epsilon)} \ge \Pr(X^n\in A_\epsilon^{(n)}) \ge 1-\epsilon$$

从而

$$|A_\epsilon^{(n)}| \ge (1-\epsilon)2^{n(H(X)-\epsilon)}$$

直观理解

全部可能序列有 $|\mathcal X|^n$ 个,而典型集只有大约 $2^{nH(X)}$ 个。由于 $H(X)\le \log|\mathcal X|$,当分布不是均匀时,典型集只占指数级很小的一部分。可偏偏就是这小部分,承载了几乎全部概率质量。

PDF典型集定义与性质p.4
正在渲染 PDF 第 4 页…
典型集定义与性质(PDF 第 4 页) · 打开原文
3.5
AEP 与数据压缩:从典型集到压缩极限

为什么压缩和典型集直接相关

压缩的本质是给高概率对象更短的描述。AEP 说明高概率对象几乎都落在典型集中,而典型集大小约为 $2^{nH(X)}$,所以只需大约 $nH(X)$ bit 就能标号这些序列。

课件中的推论

$X^n$ 为服从 $p(x)$ 的 i.i.d. 序列。对任意 $\epsilon>0$,存在一个 1 对 1 编码,使得对充分大的 $n$,平均码长满足

$$\mathbb E\left[\frac{1}{n}\ell(X^n)\right]<H(X)+\epsilon$$

其中 $\ell(X^n)$ 表示序列 $X^n$ 对应的码字长度。

证明思路拆开看

  1. 典型集大小至多为 $2^{n(H(X)+\epsilon)}$
  2. 因此每个典型序列最多用 $n(H(X)+\epsilon)$ 个 bit 就能编号
  3. 非典型序列可以用更长方式单独编码
  4. 但非典型序列出现概率很小($<\epsilon$),因此不会显著拖高平均码长

所以平均每个符号所需比特数可以压到任意接近 $H(X)$

这条推论的意义

它其实已经把香农第一定理的核心直觉讲完了:熵就是无损压缩的极限速率。后面的具体编码算法,例如 Huffman 编码或算术编码,做的都是尽量逼近这个极限。

PDFAEP 对数据压缩的推论p.5
正在渲染 PDF 第 5 页…
AEP 对数据压缩的推论(PDF 第 5 页) · 打开原文
3.6
交互演示:Bernoulli 信源 AEP 收敛

下面用一枚硬币(正面概率 $p=0.3$)来演示 AEP 的收敛过程。拖动滑块改变序列长度 $n$,观察每符号自信息 $-\frac1n\log p(x^n)$ 如何逼近真实熵 $H(X)\approx 0.881$

模拟方法:生成长度为 $n$ 的独立样本序列,计算其经验每符号自信息。红色虚线为熵的真实值,蓝色点为当前 $n$ 下的模拟值。

Bernoulli(p=0.3) 信源 AEP 收敛演示JSXGraph
Bernoulli(p=0.3) 信源 AEP 收敛演示

观察可见,当 $n$ 增大时,蓝色点逐步向红色虚线(真实熵 $H(X)\approx 0.881$)靠拢,波动越来越小。这正是大数定律在信息论中的体现。

3.7
例题 1:伯努利信源的典型序列长什么样

例题

题目:设 $X_1,\dots,X_n$ 为 i.i.d. Bernoulli$(p)$,解释为什么典型序列里 1 的个数大约是 $np$

解题思路:对一个具体序列 $x^n$,若其中有 $k$ 个 1、$n-k$ 个 0,则

$$p(x^n)=p^k(1-p)^{n-k}$$

因此

$$-\frac1n\log p(x^n)= -\frac{k}{n}\log p -\left(1-\frac{k}{n}\right)\log(1-p)$$

$x^n$ 是典型序列,左边应接近

$$H_2(p)=-p\log p-(1-p)\log(1-p)$$

比较两式可知,必须有 $k/n\approx p$。也就是说,典型序列的经验频率接近真实分布。

答案:典型序列中 1 的比例 $k/n$ 必须逼近 $p$,从而 1 的总个数 $k$ 逼近 $np$

易错点:典型集不是"所有频率差不多"的集合,而是"序列概率量级正确"的集合。在 Bernoulli 情况下,两者恰好联系得很紧,所以更容易看出频率含义。
3.8
例题 2:均匀信源时,典型集为什么等于全体序列

例题

题目:设 $X$$m$ 个符号上均匀分布,即 $p(x)=1/m$。证明每个长度为 $n$ 的序列都是典型的。

:任意序列 $x^n$ 的概率都是

$$p(x^n)=\left(\frac1m\right)^n$$

于是

$$-\frac1n\log p(x^n)=-\frac1n\log m^{-n}=\log m$$

而均匀分布的熵正好是

$$H(X)=\log m$$

所以对任意序列 $x^n$,都有

$$-\frac1n\log p(x^n)=H(X)$$

因此所有序列都属于典型集。

解释:当单符号分布本来就是完全均匀时,长序列之间也没有"谁更典型"的区分,因为所有序列概率完全一样。这意味着对均匀信源,压缩的极限和普通计数一样——没有任何冗余。

3.9
这一章和后面章节的连接
  • 第 5 章数据压缩:典型集告诉我们为什么压缩率极限是 $H(X)$
  • 第 7 章信道容量:AEP 的思想会升级成联合典型集,用于证明信道编码定理
  • 第 4 章熵率:若信源不再 i.i.d.,单符号熵要换成更一般的熵率

AEP 的真正力量就在这里:它把"概率论中的大数定律"翻译成了"信息论中的长序列结构定律"。

本章速查表
对象公式意义
AEP$-\frac1n\log p(X^n)\to H(X)$长序列每符号自信息趋于熵
典型集$\left|-\frac1n\log p(x^n)-H(X)\right|<\epsilon$概率量级正确的序列集合
典型序列概率$p(x^n)\approx 2^{-nH(X)}$典型序列近似等概率
典型集大小$|A_\epsilon^{(n)}|\approx 2^{nH(X)}$典型序列总数的指数级

复习速查

  • AEP 核心$-\frac1n\log p(X^n)\xrightarrow{P}H(X)$,由大数定律直接导出
  • 典型集定义:概率量级在 $2^{-n(H\pm\epsilon)}$ 范围内的序列集合
  • 三大性质:高概率性(概率 $>1-\epsilon$)、近似等概率性(各序列概率量级相同)、大小界(规模 $\approx 2^{nH(X)}$
  • 压缩意义:只需给约 $2^{nH(X)}$ 个典型序列分配短码,平均每个符号可压到 $H(X)$ 比特

参考来源