自然语言中的重要概念——熵(Entropy)

2019-02-13 15:33:59 浏览数 (1)

一、背景

熵是热力学中的一个重要的概念,最早是由香农(Claude Shannon)将熵应用于信息的度量。

熵(Entropy)是描述事物无序性的一个重要的参数,熵越大则无序性越强,同时,熵表示一个随机变量的不确定性。

二、熵

1、信息熵

香农指出,一条信息的信息量和它的不确定性之间有着直接的关系。因此可以使用信息熵来描述信息量的多少。

信息熵的定义为:设一个随机变量XX,其可能的mm种取值为x1,x2,⋯,xmx_1,x_2,cdots ,x_m,对于每一种取值的概率为:p1,p2,⋯,pmp_1,p_2,cdots ,p_m,那么随机变量XX的不确定度,即信息熵,用H(X)Hleft ( X right )表示:

H(X)=∑i=1mpilog21pi=−∑i=1mpilog2pi

Hleft ( X right )=sum_{i=1}^{m}p_ilog_2frac{1}{p_i}=-sum_{i=1}^{m}p_ilog_2p_i

信息熵表示的是随机变量XX可能的变化,若随机变量的变化越多,那么其信息量越大。而与随机变量的具体取值无关,只与其值的类别以及每种类别的概率有关。

2、条件熵

条件熵(Conditional Entropy)的定义为:设两个随机变量XX,YY,在XX已知的前提下,YY的熵,定义为YY的条件熵,用H(YX)Hleft ( Ymid X right )表示:

H(YX)=−∑xi,yjm,np(xi,yj)log2p(yjxi)

Hleft ( Ymid X right )=-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( y_jmid x_i right )

对于上述的条件熵的定义,可由下面的推理得到:

H(YX)=p(x1)⋅H(YX=x1) ⋯ p(xm)⋅H(YX=xm)=∑i=1mp(xi)⋅H(YX=xi)=−∑i=1mp(xi)⋅⎛⎝∑j=1np(yjxi)⋅log2p(yjxi)⎞⎠=−∑i=1mj=1np(yj,xi)⋅log2p(yjxi)=−∑xi,yjm,np(xi,yj)log2p(yjxi)

begin{matrix} Hleft ( Ymid X right )=pleft ( x_1 right )cdot Hleft ( Ymid X=x_1 right ) cdots pleft ( x_m right )cdot Hleft ( Ymid X=x_m right )\ =sum_{i=1}^{m}pleft ( x_i right )cdot Hleft ( Ymid X=x_i right )\ =-sum_{i=1}^{m}pleft ( x_i right )cdot left ( sum_{j=1}^{n}pleft ( y_jmid x_i right )cdot log_2pleft ( y_jmid x_i right ) right )\ =-sum_{i=1}^{m}sum_{j=1}^{n}pleft ( y_j, x_i right )cdot log_2pleft ( y_jmid x_i right )\ =-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( y_jmid x_i right ) end{matrix}

3、联合熵

联合熵和联合分布的概念类似,联合熵指的是多个随机变量的熵。联合熵的定义为:设两个随机变量XX,YY,p(xi,yj)pleft ( x_i,y_j right )表示联合概率,则联合熵表示的是随机变量XX和YY共同携带的信息量,用H(X,Y)Hleft ( X,Y right )表示:

H(X,Y)=−∑xi,yjm,np(xi,yj)log2p(xi,yj)

Hleft ( X,Y right )=-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( x_i,y_j right )

其中,条件熵,联合熵和熵之间的关系为:

H(YX)=H(X,Y)−H(X)

Hleft ( Ymid X right )=Hleft ( X,Y right )-Hleft ( X right )

对于上式的证明如下:

H(X,Y)−H(X)=−∑xi,yjm,np(xi,yj)log2p(xi,yj) ∑i=1mp(xi)log2p(xi)=−∑xi,yjm,np(xi,yj)log2p(xi,yj) ∑i=1m⎛⎝∑j=1np(xi,yj)⎞⎠⋅log2p(xi)=−∑xi,yjm,np(xi,yj)⋅(log2p(xi,yj)−log2p(xi))=−∑xi,yjm,np(xi,yj)log2p(yjxi)=H(YX)

begin{matrix} Hleft ( X,Y right )-Hleft ( X right )=-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( x_i,y_j right ) sum_{i=1}^{m}pleft ( x_i right )log_2pleft ( x_i right )\ =-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( x_i,y_j right ) sum_{i=1}^{m}left ( sum_{j=1}^{n}pleft ( x_i,y_j right ) right )cdot log_2pleft ( x_i right )\ =-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )cdot left ( log_2pleft ( x_i,y_j right) -log_2pleft ( x_i right ) right )\ =-sum_{x_i,y_j}^{m,n}pleft ( x_i,y_j right )log_2pleft ( y_jmid x_i right )=Hleft ( Ymid X right ) end{matrix}

对于联合熵,有一些性质,如下所示:

  • H(X,Y)⩾H(X)Hleft ( X,Y right )geqslant Hleft ( X right )
  • H(X,Y)⩽H(X) H(Y)Hleft ( X,Y right )leqslant Hleft ( X right ) Hleft ( Y right )
  • H(X,Y)⩾0Hleft ( X,Y right )geqslant 0

4、相对熵

相对熵,又称为交叉熵或者KL距离或者KL散度。主要是用来度量两个概率分布之间的差异程度。假设两个概率分布 P(x)Pleft ( x right )和Q(x)Qleft ( x right ),用D(PQ)Dleft ( Pparallel Q right )表示两个分布之间的KL散度:

D(PQ)=∑xXP(x)⋅log2P(x)Q(x)

Dleft ( Pparallel Q right )=sum_{xin X}Pleft ( x right )cdot log_2frac{Pleft ( x right )}{Qleft ( x right )}

当两个分布完全相同时,此时KL散度为00。

三、互信息

KL距离衡量的是相同的事件空间里的两个事件的相似程度,而互信息衡量的是不同事件空间中的两个信息的相关性。设两个随机变量XX和YY,互信息为I(X,Y)Ileft ( X,Y right ):

I(X,Y)=∑i=1mj=1np(xi,yj)⋅log2p(xi,yj)p(xi)p(yj)

Ileft ( X,Y right )=sum_{i=1}^{m}sum_{j=1}^{n}pleft ( x_i,y_j right )cdot log_2frac{pleft ( x_i,y_j right )}{pleft ( x_i right )pleft ( y_j right )}

互信息就是随机事件XX的熵H(X)Hleft ( X right ),以及在给定随机变量YY的条件下的条件熵H(XY)Hleft ( Xmid Y right )之间的差异,即:

I(X,Y)=H(X)−H(XY)

Ileft ( X,Y right )=Hleft ( X right )-Hleft ( Xmid Y right )

由上述的定义可知,互信息与信息增益等价。

参考文献

  • 数学之美

0 人点赞