信息量的定义
某事件发生的概率小,则该事件的信息量大。
定义随机变量
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
的联合熵。通过此图,各种熵之间的关系就很好记忆了。