信息论
信息熵(Entropy)
定义
对于一个分布X,我们想要衡量它的信息量H(X),作以下要求:
- H(X)仅与X的概率分布有关,和具体的x无关;
- H(X)关于概率连续(概率微小变化,信息量也发生微小变化);
- 对于独立分布X和Y,总共的信息量应该为两者之和;
- 概率越小,信息量越大。
可以得出H(X)的唯一形式为:
H(X)=−∑p(x)logp(x)
也就是各个事件的信息量−logp按照p加权求和。
按照底数不同,单位也不同。比如说以2为底,单位是bit;以e为底,单位是nat。
香农熵的公理化推导(Claude)
Show More
目标
寻找一个函数 H(p1,p2,…,pn),用来度量概率分布 (p1,…,pn) 的"不确定性",要求它满足三条自然公理。
三条公理
公理 1(连续性)
H(p1,p2,…,pn) 是各 pi 的连续函数。
概率的微小扰动不应导致不确定性的突变。
公理 2(对称性 + 均匀分布单调性)
对于均匀分布 H(n1,…,n1)≜f(n),要求 f(n) 关于 n 严格单调递增。
等可能的结果越多,不确定性越大。
公理 3(递归分解性 / 链式法则)
若将某个结果进一步细分,总不确定性应满足:
H(n1,…,n1)=H(nk,nn−k)+nkHk 个(k1,…,k1)+nn−kHn−k 个(n−k1,…,n−k1)
更一般地,对任意分布,粗粒化后再细化的不确定性之和等于直接计算的不确定性:
H(p1,…,pn)=H(p1+p2,p3,…,pn)+(p1+p2)H(p1+p2p1,p1+p2p2)
分两步获得的信息量,等于一步获得的信息量。
推导过程
第一步:确定 f(n) 的形式
由公理 3,对均匀分布 n=km(k,m 为正整数),将 km 个等概率事件先分成 k 组,每组 m 个:
f(km)=f(k)+f(m)
这是经典的柯西函数方程:f(km)=f(k)+f(m)。
结合公理 1(连续性)和公理 2(严格单调递增),其唯一解为:
f(n)=Clogn,C>0
证明要点:令 g(x)=f(ex),则 g(x+y)=g(x)+g(y),连续解唯一为 g(x)=Cx,故 f(n)=Clogn。
第二步:从均匀分布推广到有理数概率
设 pi=Nni,其中 ni 为正整数,N=∑ini。
考虑将 N 个等概率事件分组:第 i 组有 ni 个。由公理 3:
f(N)=H(p1,…,pk)+i=1∑kpi⋅f(ni)
即:
ClogN=H(p1,…,pk)+i=1∑kpi⋅Clogni
解出 H:
H(p1,…,pk)=ClogN−Ci=1∑kpilogni
=Ci=1∑kpilogN−Ci=1∑kpilogni
=−Ci=1∑kpilogNni
H(p1,…,pk)=−Ci=1∑kpilogpi
第三步:推广到实数概率
对任意实数概率 pi∈[0,1],取有理数序列 pi(m)→pi,由公理 1(连续性):
H(p1(m),…,pk(m))→H(p1,…,pk)
而左边对所有有理点均等于 −C∑pi(m)logpi(m),取极限得结论对全体实数概率成立。
最终结论
满足三条公理的函数唯一(至多相差正常数 C):
H(p1,…,pn)=−Ci=1∑npilogpi
- 取 C=1,对数底为 2 → 单位 bit
- 取 C=1,对数底为 e → 单位 nat
- 常数 C 的选取仅影响单位,不影响结构
性质
∂pi∂H(X)∂pi2∂2H(X)=−logbpi−logb1=−pilogb1
b>1,所以是concave的。
- 0≤H(X)≤log∣X∣
f(x)=−xlogx是concave的,所以说
H(X)=−∑pilogpi=∑f(pi)≤∣X∣f(∣X∣∑pi)=−∣X∣∣X∣1log∣X∣1=log∣X∣
当且仅当均匀分布取等。
Joint Entropy
H(X,Y)=−∑p(x,y)logp(x,y)
可以得到:
- H(X,X)=H(X);
- 如果X,Y独立,H(X,Y)=H(X)+H(Y)。
可以定义一般的Joint Entropy:
H(X1,X2,⋯,Xn)=−E[logp(X1,X2,⋯,Xn)]
Conditional Entropy
H(X∣Y)=−E[logp(X∣Y)]
可以得到
H(X∣Y)+H(Y)=−E[logp(X∣Y)]−E[logp(Y)]=−E[logp(X,Y)]=H(X,Y)
Zero Entropy
如果H(Y∣X)=0,则Y是关于X的函数。
Kullback-Leibler (KL) distance (Relative Entropy)
对于总体X的两个概率密度分布p(x)和q(x),定义KL散度为
D(p∥q)=∑p(x)logq(x)p(x)
KL散度具有非对称性。
意义:如果用分布q来近似分布p,额外还需要的平均比特数,x的信息量是logp(x), 所以是∑p(x)[logp(x)−logq(x)]。
I(X;Y)=x∑y∑p(x,y)logp(x)p(y)p(x,y)=D(p(x,y)∥p(x)p(y))
意义:测量完Y,X的信息减少了多少。
又意义:用p(x)p(y)来拟合p(x,y)(假设独立),会损失多少信息。
所以说:
H(X)−H(X∣Y)=−∑p(x,y)logp(y)p(x,y)p(x)=I(X;Y)
也有
H(X)+H(Y)−H(X,Y)=−∑p(x)logp(x)−∑p(y)logp(y)+∑p(x,y)logp(x,y)=−∑p(x,y)logp(x,y)p(x)p(y)=I(X,Y)
定义为
I(X;Y∣Z)=H(X∣Z)−H(X∣Y,Z)
Conditional Relative Entropy
定义为
D(p(y∣x)∥q(y∣x))=∑p(x)∑p(y∣x)logq(y∣x)p(y∣x)
优先级
",">";">"∣"
Chain Rule
H(X,Y)=H(X∣Y)+H(Y)
H(X1,X2,⋯,Xn)=H(Xn)+H(Xn∣X1,X2,⋯,Xn−1)=H(X1)+i=2∑nH(Xi∣X1,X2,⋯,Xi−1)≤i=1∑nH(Xi)
I(X1,X2;Y)=H(X1,X2)−H(X1,X2∣Y)=H(X1)+H(X2∣X1)−H(X1∣Y)−H(X2∣X1,Y)=I(X1;Y)+I(X2;Y∣X1)
I(X1,X2,⋯,Xn;Y)=I(X1;Y)+i=2∑nI(Xi∣Y,X1,X2,⋯,Xi−1)
Markov Chain
如果p(x,y,z)=p(z∣y)p(y∣x)p(x),那么称X→Y→Z是一个马尔可夫链。
性质:
- p(x∣y)p(z∣y)=p(x∣y)p(x,y,z)/p(x,y)=p(x,y,z)/p(y)=p(x,z∣y),X和Z在Y的条件下独立⟺X→Y→Z;
- 由前一个性质可知,X→Y→Z⟺Z→Y→X;
- 如果X→Y→Z,那么I(X;Y)≥I(X;Z);
证明:I(X;Y,Z)=I(X;Y)+I(X;Z∣Y)=I(X;Z)+I(X;Y∣Z),其中I(X;Z∣Y)=0,所以不等式成立。
多元互信息
I(X;Y;Z)=I(X;Y)−I(X;Y∣Z)=I(X;Y)−I(X,Z;Y)+I(Z;Y)=I(Y;Z)−I(Y;Z∣X)=I(X;Z)−I(X;Z∣Y)
可以为正或者负。
如果X→Y→Z,则
I(X;Y;Z)=I(X;Z)−I(X;Z∣Y)=I(X;Z)≥0