因为量子计算的书提到了一点信息论,所以来简单补一下信息论的基础知识,主要是 data compression 和 data transmission 相关的内容。看一下《Elements of Information Theory》这本书的前 7 章。
2. Entropy, Relative Entropy, and Mutual Information
令 X 为离散随机变量,对应 alphabet X,以及概率质量函数 p(x)=Pr{X=x}(probability mass function,注意这个和 probability density function 不同,这个是用来形容离散随机变量的)我们定义熵(entropy)为:
H(X)=−x∈X∑p(x)log2p(x)
我们用 Hb(X) 来表示 log 的底数为 b 的值。可以通过公理化的方式来反推出 entropy(见习题 2.46)。
熵有这样的性质:
H(X)≥0Hb(X)=(logba)Ha(X)
若 X∼Bern(p),定义
H(p)=H(X)=−plogp−(1−p)log(1−p)
注意 H(p)≤1 是它的上界,在 p=1/2 时取到。
定义一对离散随机变量的联合熵(joint entropy)为:
H(X,Y)=−x∈X∑y∈Y∑p(x,y)logp(x,y)H(X,Y)=−Elogp(X,Y)
定义条件熵(conditional entropy)为:
H(Y∣X)=x∈X∑p(x)H(Y∣X=x)=−x∈X∑p(x)y∈Y∑p(y∣x)logp(y∣x)=−x∈X∑y∈Y∑p(x,y)logp(y∣x)=−Elogp(Y∣X)
(注意这里多了一层求和)。他们有这样的性质:
H(X,Y)=H(X)+H(Y∣X)H(X,Y∣Z)=H(X∣Z)+H(Y∣X,Z)H(X∣X)=0
定义概率密度函数 p(x) 和 q(x) 间的 relative entropy 或 KL 距离(Kullback-Leibler distance)为:
D(p∣∣q)=x∈X∑p(x)logq(x)p(x)=Eplogq(X)p(X)
这里我们补充定义 0log00=0,0logq0=0,plog0p=∞。所以如果存在 p(x)>0,q(x)=0 那么距离无穷大。
相对熵是用来表示概率密度之间的距离的,尤其是如果原本分布为 p 的随机变量可以用 H(p) 描述,但是如果用 q 来描述它,就需要 H(p)+D(p∣∣q) 来表述了。
定义 mutual information I(X;Y) 是 joint distribution 和 product distribution 之间的 relative entropy:
I(X;Y)=x∈X∑y∈Y∑p(x,y)logp(x)p(y)p(x,y)=D(p(x,y)∣∣p(x)p(y))=Ep(x,y)logp(X)p(Y)p(X,Y)
有这样的性质:
I(X;Y)I(X;Y)I(X;Y)I(X;Y)I(X;X)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)=H(X)+H(Y)−H(X,Y)=I(Y;X)=H(X)
还有 chain rule for entropy:
H(X1,X2,...,Xn)=i=1∑nH(Xi∣Xi−1,...,X1)
定义 conditional mutual information 为:
I(X;Y∣Z)=H(X∣Z)−H(X∣Y,Z)=Ep(x,y,z)logp(X∣Z)p(Y∣Z)p(X,Y∣Z)
以及 chain rule for information:
I(X1,X2,...,Xn;Y)=i=1∑nI(Xi;Y∣Xi−1,...,X1)
定义 conditional relative entropy 为:
D(p(y∣x)∣∣q(y∣x))=x∑p(x)y∑p(y∣x)logq(y∣x)p(y∣x)=Ep(x,y)logq(Y∣X)p(Y∣X)
(注意这个定义比 relative entropy 多了一层求和)。它有兴致:
D(p(x,y)∣∣q(x,y))=D(p(x)∣∣q(x))+D(p(y∣x)∣∣q(y∣x))
information inequality:
D(p∣∣q)=Eplogq(X)p(X)=−Eplogp(X)q(X)≥logEpp(X)q(X)=0
这里 Ep 和 log 的交换来源于 log 的凸性。类似地,我们有 I(X;Y)≥0,以及 I(X;Y∣Z)≥0。
由此,有推论,I(X;Y)≥0,D(p(y∣x)∣∣q(y∣x))≥0,I(X,Y∣Z)≥0。
另外有,
H(X)≤log∣X∣
因为:
0≤D(p∣∣u)=∑p(x)logu(x)p(x)=log∣X∣−H(X)
这里给了 H(X) 的上界。
以及:
H(X∣Y)=H(X)−I(X;Y)≤H(X)
拓展出去,还有:
H(X1,X2,...,Xn)≤i=1∑nH(Xi)
通过 log 的凸性,有:
i=1∑nailogbiai≥(i=1∑nai)log∑i=1nai∑i=1nbi
我们可以由此证明 D(p∣∣q) 的凸性。再由于 H(X)=log∣X∣+D(p∣∣u),也是凸的。我们还可以证明,如果固定 p(x) 或固定 p(y∣x),那么 I(X;Y) 是凸的。
定义 如果 X,Y,Z 满足 p(x,y,z)=p(x)p(y∣x)p(z∣y),则他们组成了 Markov chain,标记为 X→Y→Z
定理 data inequality theorem:如果 X→Y→Z,则 I(X;Y)≥I(X;Z) 以及 I(Y;Z)≥I(X;Z)。
- 这里的证明之后要补一下,但是直观上很好理解,隔了一层,相关信息肯定降低了。
定理 Fano's inequality:假如我们希望用从 p(y∣x) 观测到的 Y,通过 g(Y)=X^,预测有分布 p(x) 的 X,也就是有 X→Y→X^,并定义
Pe=Pr{X^=X}
那么有:
1+Pelog∣X∣≥H(Pe)+Pelog∣X∣≥H(X∣X^)≥H(X∣Y)
这个定理给了 conditional entropy 一个上界。
-
我们来尝试证明中间的这个不等式。定义随机变量 E 为 X 是否等于 X^,不等的时候值为 1,相等时值为 0。因为 E 完全由 X,X^ 决定,所以有:
H(X∣X^)=H(E,X∣X^)−H(E∣X,X^)=H(E,X∣X^)
继续展开有:
H(E,X∣X^)=H(E∣X^)+H(X∣E,X^)=H(E∣X^)+Pr(E=0)H(X∣E=0,X^)+Pr(E=1)H(X∣E=1,X^)=H(E∣X^)+(1−Pe)0+PeH(X∣E=1,X^)≤H(Pe)+Pelog∣X∣≤1+Pelog∣X∣
(这个证明的核心在于,如果一个事件由其他事件决定了,那么它的条件熵就为 0 了。
有一个不那么明显的引理:如果 X 和 X′ 遵从 i.i.d.,那么:
Pr(X=X′)=x∑p(x)2=x∑p(x)2logp(x)≥2∑p(x)logp(x)=2−H(X)
3. Asymptotic Equipartition Property
在信息论中,大数定律对应的就是 asynnptotic equipartition property(AEP)。
定义 convergence of random variables:给一个随机变量序列 X1,X2,...,我们称这个序列
- 依概率(in probability)收敛于 X,如果 ∀ϵ>0,Pr{∣Xn−X∣>ϵ}→0
- 依 mean square 收敛于 X,如果 E(Xn−X)2→0
- 收敛于 X 的概率为 1,如果 Pr{limn→∞Xn=X}=1
定理 AEP:如果 X1,X2,... i.i.d ∼p(x),那么:
−n1logp(X1,X2,...,Xn)→H(X)in probability
-
根据大数定律
−n1logp(X1,X2,...,Xn)=−n1i∑logp(Xi)→−Elogp(X)=H(X)
注意 AEP 可以扩展到 ergodic process,这个 process 的定义就是保证了大数定律的 process,所以证明上差别不大。
定义 typical set Aϵ(n) w.r.t p(x),是序列 (x1,x2,...,xn)∈Xn(它们是 i.i.d. 地取出来的,或者扩展出去也是由 ergodic process 得到的)满足:
2−n(H(x)+ϵ)≤p(x1,x2,...,xn)≤2−n(H(x)−ϵ)
的序列集合。
typical set 有这样的一些性质:
-
如果 (x1,x2,...,xn)∈Aϵ(n),那么 H(X)−ϵ≤−n1logp(x1,x2,...,xn)≤H(X)+ϵ;
这个由定义显然。
-
对于足够大的 n,Pr{Aϵ(n)}>1−ϵ;
这个结论还是很厉害的,就是说不在 Aϵ(n) 的序列很少。这个证明则是要去考虑啥叫 Pr{Aϵ(n)},其实就是想说:
Pr{Aϵ(n)}=Pr{∣−n1logp(X1,X2,...,Xn)−H(X)∣<ϵ}>1−ϵ
这个可以直接用 AEP 了。
- 由 2,有 (1−ϵ)2n(H(X)−ϵ)≤∣Aϵ(n)∣≤2n(H(X)+ϵ)
我们可以用 typical set 构造出一种编码方式,满足如下的定理(这个构造挺有意思的,建议看原书)
定理:令 Xn 为 i.i.d ∼p(x),对于任意 ϵ>0,当 n 足够大时,存在一种编码方式,将 xn 一一映射为二进制字符串,并满足:
E[n1l(XN)]≤H(X)+ϵ
接下来有一些结论可以证明,typical set 几乎就是所有序列中概率最大的那部分序列了。(这个结论也挺神奇的)
4. Entropy Rates of a Stocastic Process
定义:随机过程为 stationary 意味着,对于任意 n,l,都有
Pr{X1=x1,X2=x2,...,Xn=xn}=Pr{X1+l=x1,X2=x2+l,...,Xn=xn+l}
定义:Markov chain 或者 Markov 过程为:
Pr{Xn+1=xn+1∣Xn=xn,Xn−1=xn−1,...,X1=x1}=Pr{Xn+1=xn+1∣Xn=xn}
定义:time invariant Markov chain 为:
Pr{Xn+1=b∣Xn=a}=Pr{X2=b∣X1=a}∀a,b∈X
我们默认认为 Markov chain 是 time invariant 的。
定义:随机过程 {Xi} 的熵为:
H(X)=n→∞limn1H(X1,X2,...,Xn)
但是显然这个极限不一定存在。所以我们得研究一下啥时候他存在。
定理:对于 stationary 随机过程,H(xn∣Xn−1,...,X1) 为不增序列,极限为 H′(X)。
- 这是因为 H(xn+1∣Xn,...,X2,X1)≤H(xn+1∣Xn,...,X2)=H(xn∣Xn−1,...,X1)。而其恒大于 0,故有极限。
定理 Cesaro mean:如果 an→a,且 bn=n1∑i=1nai,则 bn→a。
定理:stationary 随机过程的 H(X) 存在,并等于 H′(X)。
- 这是可以把 joint distribution 变成一堆 conditional distribution 之和。
对于 stationary ergodic process,会有类似的 AEP,也就收敛到这个 H′(X)。对于 stationary Markov chain,则收敛到 H(X2∣X1)。
5. Data Compression
定义:X 的 source code C 指一个从 X 到 D∗,即词表为 D 的有限长字符串集合的映射。C(x) 为对应的 codeword,l(x) 为对应的长度。
定义:expect length L(C) 为:L(C)=∑x∈Xp(x)l(x)。
定义:若 x=x′⇒C(x)=C(x′),我们称这个 code nonsingular。
定义:C(x1x2...xn)=C(x1)C(x2)...C(xn) 为 C 的 extension。
定义:如果 code 的 extension 是 nonsingular 的,那么称其为 uniquely decodable。
定义:如果没有 codeword 是其他 codeword 的 prefix,那么我们称这种 code 为 prefix code 或 instantaneous code。
注意到,instantaneous code 一定是 uniquely decodable 的。
定理 Kraft inequality:对于 instantaneous code,
i∑D−li≤1
反过来,如果有这样的一组 codeword 长度,我们可以构建一套 instantaneous code。
- 证明是考虑 D 叉树,每个枝头都只能有一个,所以合起来不到 1。
定理 extended Kraft inequality:对于可数个 codeword 组成的 instantaneous code,
i=1∑∞D−li≤1
反过来也是一样。
- 证明是对 D 进制小数的有理数区间,还挺有意思的。
定理 McMillan inequality 对于 unique decodable D-ary code 或者 infinite source X 也满足 Kraft inequality。
定理:L≥HD(X),只有在 D−li=pi 的时候取等。
定理:optimal codeword length 满足 HD(X)≤L∗≤HD(X)+1。
定理:对于 stochastic process,更是有:
nH(X1,X2,...,Xn)≤Ln∗≤nH(X1,X2,...,Xn)+n1
对于 stationary 随机过程,就有 Ln∗→H(X)。
定理 wrong code:如果用 p(x) 对应了长度为 l(x)=⌈logq(x)1⌉(Shannon code),那么:
L(x)=D(p∣∣q)+H(p)+1
定理:Huffman code 为 L∗=min∑D−li≤1∑pili,是 optimal 的,即 HD(X)≤L∗≤HD(X)+1。
这附近有一些关于怎么构造编码的东西,暂时不太感兴趣,先跳过了。
有一个比较重要的观察,就是 2 进制编码的每一维都应该相当于扔硬币,也就是每一位的熵都是 1。
6. Gambling and Data Compression
暂时不感兴趣,跳过。
7. Channel Capacity
定义:discrete channel 是一个由输入 alphabet X,输出 alphabet Y,一个 probability transition matrix p(y∣x) 表示输入 x 得到 y 的概率分布。用 (X,p(y∣x),Y) 表示。
定义:我们称 channel 为 memoryless 如果输出仅依赖于这次的输入,和之前输入无关。
定义:我们定义 discrete memoryless channel 的 "information" channel capactiy 为:
C=p(x)maxI(X;Y)
我们会在后面定义 "operational" channel capacity,并证明这俩相等。
data compression 和 data transmission 实际上是对偶的问题。data compression 的目的是去除数据中的 redundancy,而 data transmission 是要靠增加 redundancy 来对抗噪音。
channel capacity 有这些特点:
- 因为 I(X;Y)≥0,所以 C≥0;
- C=maxI(X;Y)≤maxH(X)=log∣X∣;
- 同理 C≤log∣Y∣。
定义:(X,p(y∣x),Y) 的 (M,n) code 包括:
- 一个 index set {1,2,...,M};
- 一个 encoding function Xn:{1,2,...,M}→Xn,输出的 codeword 为 xn(1),xn(2),...,xn(M),codeword 的集合称为 codebook;
-
decoding function
g:Yn→{1,2,...,M}
其为一个确定性的规则。
定义:conditional probability of error 为:
λi=Pr(g(Yn)=i∣Xn=xn(i))=yn,g(yn)=i∑p(yn∣xn(i))
定义:(M,n) code 的 maximal probability of error λ(n) 为:
λ(n)=i∈{1,2,...,M}maxλi
定义:(M,n) code 的 (arithmetic) avverage probability of error Pe(n) 为:
Pe(n)=n1i=1∑Mλi
定义:(M,n) code 的 rate R 为:
R=nlogM
一个 rate 是 achievable 的,即存在当 n→∞ 时,存在 (⌈2nR⌉,n) code 满足 λ(n)→0。
定义:channel 的 capacity 为 achievable 的最大 rate。
定义:序列 {(xn,yn)} 的 jointly typical sequence 为:
Aϵ(n)={(xn,yn)∈X×Y:∣−n1logp(xn)−H(X)∣<ϵ∣−n1logp(yn)−H(Y)∣<ϵ∣−n1logp(xn,yn)−H(X,Y)∣<ϵ}
其中 p(xn,yn)=∏i=1np(xi,yi) 。
定理 joint AEP:令 (Xn,Yn) 为 i.i.d. 的长度为 n 的序列,其分布为 p(xn,yn)=∏i=1np(xi,yi),那么:
-
当 n→∞,Pr((Xn,Yn)∈Aϵ(n))→1
-
∣Aϵ(n)∣≤2n(H(X,Y)+ϵ)
- 第 3 个概率限制展开有 p(xn,yn)≥2−n(H(X,Y)+ϵ)
-
若 (Xn,Yn)∼p(xn)p(yn),即 Xn,Yn 是相互独立的,他们的分布是 p(x,y) 的 marginal distribution,那么:
Pr((Xn,Yn)∈Aϵ(n))≤2−n(I(X;Y−3ϵ))
且当 n 足够大时:
Pr((Xn,Yn)∈Aϵ(n))≥(1−ϵ)2−n(I(X;Y+3ϵ))
- 前半部分因为前 2 个概率的限制有 p(xn)≤2−n(H(X)−ϵ),p(yn)le2−n(H(Y)−ϵ),配合 2,就可以得到了。后半部分可以用反方向的限制配合 1 得到。
我们可以从 2 个角度理解上面的结论。
- 理论上 Xn 和 Yn 的 typical sequence 分别有 2nH(X) 和 2nH(Y) 那么多。但是 joint typical sequence 只有 2nH(X,Y) 这么多,随机选一对只有 2−nI(X;Y) 的概率选中,也就大致意味着有 2nI(X;Y) 多个相互独立的 Xn;
- 固定一个 Yn,有 2nH(X∣Y) 个 typical Xn,所以随机选一个 Xn 会 jointly typical with Yn 的概率为 2nH(X∣Y)/2nH(X)=2−nI(X;Y),也就是我们大致可以选 2nI(X;Y) 个 Xn 他们之间不会 confuse 为 Yn。
定理 channel encoding theorem:对于 discrete memoryless channel,所有低于 capacity C 的 rate R 都是 achievable 的。反过来,achievable 的 R 一定满足 R≤C。