详解熵、最大熵、联合熵和条件熵、相对熵以及互信息之间的关系

信息量的定义

某事件发生的概率小,则该事件的信息量大。
定义随机变量 X 的概率分布为 P ( X ) , X 的信息量为: h ( X ) = log 2 P ( X ) .

对随机事件的信息量求期望,得到随机变量X的熵:
H(X)=xXP(x)logP(x)

当对数底数是2时,单位是bit,当对数底数是e时,单位是nat(奈特)。同时,若P(x)=0,则定义0log0=0。由熵定义可知,随机变量的熵只依赖于X的分布,而与X的取值无关。
熵表示的是随机变量不确定性的度量。熵越大,随机变量的不确定性也就越大。

两点分布的熵

H ( X ) = x X P ( x ) log P ( x ) = p log 2 p ( 1 p ) log 2 ( 1 p )

这时,熵 H ( X ) 随概率 p 变化的曲线如下图所示。

p = 0 p = 1 时,随机变量完全没有不确定性。当 p = 0.5 时, H ( X ) = 1 ,熵取得最大值,随机变量的不确定性最大。

离散随机变量的最大熵

假设离散随机变量 X 的概率分布是 P ( X ) ,则其熵是:

H ( X ) = x X P ( x ) log P ( x )

熵满足下列不等式:
0 H ( X ) log | X |

其中 | X | X 的取值个数,当且仅当 X 的分布是均匀分布时右边的等号成立。也就是说,当 X 服从均匀分布时,熵最大。

给定期望和方差,最大熵的分布形式

正态分布的概率密度函数为:

f ( x ) = 1 2 π σ e ( x μ ) 2 2 σ 2

对数正态分布为:
ln f ( x ) = ln 1 2 π ln σ ( x μ ) 2 2 σ 2 = α x 2 + β x + γ

该分布的对数是关于随机变量 X 的二次函数。根据计算过程的可逆性,若某对数分布能够写成随机变量二次形式,该分布必然是正态分布。
目标函数为:
arg max P ( x ) H ( X ) = x X P ( x ) log P ( x ) s . t . { E ( X ) = μ V a r ( X ) = σ 2

由约束条件 E ( X ) = μ , V a r ( X ) = σ 2

可得 V a r ( X ) = E ( X 2 ) E 2 ( X ) E ( X 2 ) = V a r ( X ) + E 2 ( X ) = μ 2 + σ 2
采用拉格朗日乘子法转化为无约束的极值问题。拉格朗日函数为:

L ( P ) = x X P ( x ) log P ( x ) + λ 1 ( E ( X ) μ ) + λ 2 ( E ( X 2 ) μ 2 σ 2 ) = x X P ( x ) log P ( x ) + λ 1 ( x X x P ( x ) μ ) + λ 2 ( x X x 2 P ( x ) μ 2 σ 2 )

P ( x ) 求导可得:
L P = log P ( x ) 1 + λ 1 x + λ 2 x 2

令其导数等于0,可得: log P ( x ) = λ 1 x + λ 2 x 2 1
P ( x ) 的对数是关于随机变量 x 的二次形式,所以该分布 P ( x ) 是正态分布。

联合熵和条件熵

设有随机变量 ( X , Y ) ,其联合概率分布为:

P ( X = x i , Y = y j ) = p ( x i , y j ) = p i j , i = 1 , 2 , , n ; j = 1 , 2 , , m

联合熵为 H ( X , Y ) = x , y P ( x , y ) log P ( x , y )
条件熵为 H ( Y | X ) = H ( X , Y ) H ( X ) 。条件熵表示在已知随机变量 X 的条件下随机变量 Y 的不确定性。
H ( Y | X ) = H ( X , Y ) H ( X ) = x , y P ( x , y ) log P ( x , y ) + x P ( x ) log P ( x ) = x , y P ( x , y ) log P ( x , y ) + x ( y P ( x , y ) ) log P ( x ) = x , y P ( x , y ) log P ( x , y ) + x y P ( x , y ) log P ( x ) = x , y P ( x , y ) log P ( x , y ) P ( x ) = x , y P ( x , y ) log P ( y | x ) = x y P ( x ) P ( y | x ) log P ( y | x ) = x P ( x ) y P ( y | x ) log P ( y | x ) = x P ( x ) ( y P ( y | x ) log P ( y | x ) ) = x P ( x ) H ( Y | X = x )

H ( Y | X ) 定义为 X 给定的条件下 Y 的条件概率分布的熵对 X 的数学期望。

相对熵

相对熵,又称互熵,交叉熵,K-L散度等。用来衡量两个概率分布之间的差异。
设有两个概率分布 p ( x ) q ( x ) ,则 p q 的相对熵为:

D ( p q ) = x p ( x ) log p ( x ) q ( x )

对于连续的随机变量,定义为:
D ( p q ) = p ( x ) log p ( x ) q ( x ) d x

1.相对熵可以度量两个随机变量的“距离”。
2.在概率和统计学中,经常会使用一种近似的分布来代替复杂的分布。K-L散度度量了使用一个分布来近似另一个分布时所损失的信息。
3.一般的, D ( p q ) D ( q p ) ,即是非对称的。
4. D ( p q ) 0 , D ( q p ) 0 。这个可以利用凸函数中Jensen不等式来证明。
D ( p q ) = x p ( x ) log p ( x ) q ( x ) = x p ( x ) log q ( x ) p ( x ) log ( x p ( x ) q ( x ) p ( x ) ) = log ( x p ( x ) ) = log ( 1 ) = 0

其中,因为 l o g 函数是凹函数,所以 log 是凸函数。
同理可证 D(qp)0
5.假定已知随机变量 P ,求相对简单的随机变量 Q ,使得 Q 尽量接近 P 。就可以使用 P Q 的K-L距离。
6.假定使用 D(QP) ,为了让距离最小,则要求在 P 为0的地方, Q 尽量为0。会得到比较“窄”的分布曲线。
7.假定使用 D(PQ) ,为了让距离最小,则要求在 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)=(xyp(x,y)logp(x))(yxp(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的条件熵。两圆中间相交的部分表示随机变量XY的互信息。橙色部分、两圆相交的咖啡色部分以及绿色部分加在一起表示XY的联合熵。通过此图,各种熵之间的关系就很好记忆了。

猜你喜欢

转载自blog.csdn.net/qq_16000815/article/details/80902977