信息量的定义
某事件发生的概率小,则该事件的信息量大。
定义随机变量X的概率分布为P(X),X的信息量为:h(X)=−log2P(X).
熵
对随机事件的信息量求期望,得到随机变量X的熵:
H(X)=−∑x∈XP(x)logP(x)
当对数底数是2时,单位是bit,当对数底数是e时,单位是nat(奈特)。同时,若P(x)=0,则定义0log0=0。由熵定义可知,随机变量的熵只依赖于X的分布,而与X的取值无关。
熵表示的是随机变量不确定性的度量。熵越大,随机变量的不确定性也就越大。
两点分布的熵
H(X)=−∑x∈XP(x)logP(x)=−plog2p−(1−p)log2(1−p)
这时,熵H(X)随概率p变化的曲线如下图所示。
当p=0或p=1时,随机变量完全没有不确定性。当p=0.5时,H(X)=1,熵取得最大值,随机变量的不确定性最大。
离散随机变量的最大熵
假设离散随机变量X的概率分布是P(X),则其熵是:
H(X)=−∑x∈XP(x)logP(x)
熵满足下列不等式:
0≤H(X)≤log|X|
其中
|X|是
X的取值个数,当且仅当
X的分布是均匀分布时右边的等号成立。也就是说,当
X服从均匀分布时,熵最大。
给定期望和方差,最大熵的分布形式
正态分布的概率密度函数为:
f(x)=12π−−√σe−(x−μ)22σ2
对数正态分布为:
lnf(x)=ln12π−−√−lnσ−−(x−μ)22σ2=α⋅x2+β⋅x+γ
该分布的对数是关于随机变量
X的二次函数。根据计算过程的可逆性,若某对数分布能够写成随机变量二次形式,该分布必然是正态分布。
目标函数为:
argmaxP(x)H(X)=−∑x∈XP(x)logP(x)s.t.{E(X)=μVar(X)=σ2
由约束条件
E(X)=μ,Var(X)=σ2
可得Var(X)=E(X2)−E2(X)⇒E(X2)=Var(X)+E2(X)=μ2+σ2
采用拉格朗日乘子法转化为无约束的极值问题。拉格朗日函数为:
L(P)=−∑x∈XP(x)logP(x)+λ1(E(X)−μ)+λ2(E(X2)−μ2−σ2)=−∑x∈XP(x)logP(x)+λ1(∑x∈Xx⋅P(x)−μ)+λ2(∑x∈Xx2⋅P(x)−μ2−σ2)
对
P(x)求导可得:
∂L∂P=−logP(x)−1+λ1⋅x+λ2⋅x2
令其导数等于0,可得:
logP(x)=λ1⋅x+λ2⋅x2−1 P(x)的对数是关于随机变量
x的二次形式,所以该分布
P(x)是正态分布。
联合熵和条件熵
设有随机变量(X,Y),其联合概率分布为:
P(X=xi,Y=yj)=p(xi,yj)=pij,i=1,2,⋯,n;j=1,2,⋯,m
联合熵为
H(X,Y)=−∑x,yP(x,y)logP(x,y)
条件熵为
H(Y|X)=H(X,Y)−H(X)。条件熵表示在已知随机变量
X的条件下随机变量
Y的不确定性。
H(Y|X)=H(X,Y)−H(X)=−∑x,yP(x,y)logP(x,y)+∑xP(x)logP(x)=−∑x,yP(x,y)logP(x,y)+∑x(∑yP(x,y))logP(x)=−∑x,yP(x,y)logP(x,y)+∑x∑yP(x,y)logP(x)=−∑x,yP(x,y)logP(x,y)P(x)=−∑x,yP(x,y)logP(y|x)=−∑x∑yP(x)P(y|x)logP(y|x)=−∑xP(x)∑yP(y|x)logP(y|x)=∑xP(x)(−∑yP(y|x)logP(y|x))=∑xP(x)H(Y|X=x)
H(Y|X)定义为
X给定的条件下
Y的条件概率分布的熵对
X的数学期望。
相对熵
相对熵,又称互熵,交叉熵,K-L散度等。用来衡量两个概率分布之间的差异。
设有两个概率分布p(x)和q(x),则p对q的相对熵为:
D(p∥q)=∑xp(x)logp(x)q(x)
对于连续的随机变量,定义为:
D(p∥q)=∫p(x)logp(x)q(x)dx
1.相对熵可以度量两个随机变量的“距离”。
2.在概率和统计学中,经常会使用一种近似的分布来代替复杂的分布。K-L散度度量了使用一个分布来近似另一个分布时所损失的信息。
3.一般的,
D(p∥q)≠D(q∥p),即是非对称的。
4.
D(p∥q)≥0,D(q∥p)≥0。这个可以利用凸函数中Jensen不等式来证明。
D(p∥q)=∑xp(x)logp(x)q(x)=−∑xp(x)logq(x)p(x)≥−log(∑xp(x)⋅q(x)p(x))=−log(∑xp(x))=−log(1)=0
其中,因为
log函数是凹函数,所以
−log是凸函数。
同理可证
D(q‖p)≥0。
5.假定已知随机变量
P,求相对简单的随机变量
Q,使得
Q尽量接近
P。就可以使用
P和
Q的K-L距离。
6.假定使用
D(Q‖P),为了让距离最小,则要求在
P为0的地方,
Q尽量为0。会得到比较“窄”的分布曲线。
7.假定使用
D(P‖Q),为了让距离最小,则要求在
P不为0的地方,
Q尽量不为0。会得到比较“宽”的分布曲线。
互信息
两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵。
I(X,Y)=D(p(x,y)‖p(x)p(y))=∑x,yp(x,y)logp(x,y)p(x)p(y)
计算
I(X,Y)=D(p(x,y)|p(x)p(y)) =∑x,yp(x,y)logp(x,y)p(x)p(y) H(Y)−I(X,Y)=−∑yp(y)logp(y)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑y(∑xp(x,y))logp(y)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑x,yp(x,y)logp(y)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑x,yp(x,y)logp(x,y)p(x)=−∑x,yp(x,y)logp(y|x)=∑xp(x)(−∑yp(y|x)logp(y|x))=∑xp(x)H(Y|x)=H(Y|X)
所以
H(Y|X)=H(X,Y)−H(X)=H(Y)−I(X,Y)I(X,Y)=H(X)+H(Y)−H(X,Y)
因为
I(X,Y)=H(X)+H(Y)−H(X,Y),所以从另一个角度也可以推出互信息的表达式。
I(X,Y)=H(X)+H(Y)−H(X,Y)=−∑xp(x)logp(x)−∑yp(y)logp(y)+∑x,yp(x,y)logp(x,y)=(−∑x∑yp(x,y)logp(x))−(∑y∑xp(x,y)logp(y))+∑x,yp(x,y)logp(x,y)=−∑x,yp(x,y)logp(x)−∑x,yp(x,y)logp(y)+∑x,yp(x,y)logp(x,y)=∑x,yp(x,y)(logp(x,y)−logp(x)−logp(y))=∑x,yp(x,y)(logp(x,y)p(x)p(y))
Venn图
通过Venn图,可以方便我们记忆熵,联合熵,条件熵,互信息之间的关系。
左边的圆表示随机变量X的熵,右边的圆表示随机变量Y的熵。左边的橙色部分表示随机变量Y给定的条件下随机变量X的条件熵。右边的绿色部分表示随机变量X给定的条件下随机变量Y的条件熵。两圆中间相交的部分表示随机变量X和Y的互信息。橙色部分、两圆相交的咖啡色部分以及绿色部分加在一起表示X和Y的联合熵。通过此图,各种熵之间的关系就很好记忆了。