熵是热力学中的一个重要的概念,最早是由香农(Claude Shannon)将熵应用于信息的度量。
熵(Entropy)是描述事物无序性的一个重要的参数,熵越大则无序性越强,同时,熵表示一个随机变量的不确定性。
香农指出,一条信息的信息量和它的不确定性之间有着直接的关系。因此可以使用信息熵来描述信息量的多少。
信息熵的定义为:设一个随机变量XX,其可能的mm种取值为x1,x2,⋯,xmx_1,x_2,\cdots ,x_m,对于每一种取值的概率为:p1,p2,⋯,pmp_1,p_2,\cdots ,p_m,那么随机变量XX的不确定度,即信息熵,用H(X)H\left ( X \right )表示:
H(X)=∑i=1mpilog21pi=−∑i=1mpilog2pi
H\left ( X \right )=\sum_{i=1}^{m}p_ilog_2\frac{1}{p_i}=-\sum_{i=1}^{m}p_ilog_2p_i
信息熵表示的是随机变量XX可能的变化,若随机变量的变化越多,那么其信息量越大。而与随机变量的具体取值无关,只与其值的类别以及每种类别的概率有关。
条件熵(Conditional Entropy)的定义为:设两个随机变量XX,YY,在XX已知的前提下,YY的熵,定义为YY的条件熵,用H(Y∣X)H\left ( Y\mid X \right )表示:
H(Y∣X)=−∑xi,yjm,np(xi,yj)log2p(yj∣xi)
H\left ( Y\mid X \right )=-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( y_j\mid x_i \right )
对于上述的条件熵的定义,可由下面的推理得到:
H(Y∣X)=p(x1)⋅H(Y∣X=x1)+⋯+p(xm)⋅H(Y∣X=xm)=∑i=1mp(xi)⋅H(Y∣X=xi)=−∑i=1mp(xi)⋅⎛⎝∑j=1np(yj∣xi)⋅log2p(yj∣xi)⎞⎠=−∑i=1m∑j=1np(yj,xi)⋅log2p(yj∣xi)=−∑xi,yjm,np(xi,yj)log2p(yj∣xi)
\begin{matrix} H\left ( Y\mid X \right )=p\left ( x_1 \right )\cdot H\left ( Y\mid X=x_1 \right )+\cdots +p\left ( x_m \right )\cdot H\left ( Y\mid X=x_m \right )\\ =\sum_{i=1}^{m}p\left ( x_i \right )\cdot H\left ( Y\mid X=x_i \right )\\ =-\sum_{i=1}^{m}p\left ( x_i \right )\cdot \left ( \sum_{j=1}^{n}p\left ( y_j\mid x_i \right )\cdot log_2p\left ( y_j\mid x_i \right ) \right )\\ =-\sum_{i=1}^{m}\sum_{j=1}^{n}p\left ( y_j, x_i \right )\cdot log_2p\left ( y_j\mid x_i \right )\\ =-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( y_j\mid x_i \right ) \end{matrix}
联合熵和联合分布的概念类似,联合熵指的是多个随机变量的熵。联合熵的定义为:设两个随机变量XX,YY,p(xi,yj)p\left ( x_i,y_j \right )表示联合概率,则联合熵表示的是随机变量XX和YY共同携带的信息量,用H(X,Y)H\left ( X,Y \right )表示:
H(X,Y)=−∑xi,yjm,np(xi,yj)log2p(xi,yj)
H\left ( X,Y \right )=-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( x_i,y_j \right )
其中,条件熵,联合熵和熵之间的关系为:
H(Y∣X)=H(X,Y)−H(X)
H\left ( Y\mid X \right )=H\left ( X,Y \right )-H\left ( 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(yj∣xi)=H(Y∣X)
\begin{matrix} H\left ( X,Y \right )-H\left ( X \right )=-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( x_i,y_j \right )+\sum_{i=1}^{m}p\left ( x_i \right )log_2p\left ( x_i \right )\\ =-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( x_i,y_j \right )+\sum_{i=1}^{m}\left ( \sum_{j=1}^{n}p\left ( x_i,y_j \right ) \right )\cdot log_2p\left ( x_i \right )\\ =-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )\cdot \left ( log_2p\left ( x_i,y_j \right) -log_2p\left ( x_i \right ) \right )\\ =-\sum_{x_i,y_j}^{m,n}p\left ( x_i,y_j \right )log_2p\left ( y_j\mid x_i \right )=H\left ( Y\mid X \right ) \end{matrix}
对于联合熵,有一些性质,如下所示:
相对熵,又称为交叉熵或者KL距离或者KL散度。主要是用来度量两个概率分布之间的差异程度。假设两个概率分布 P(x)P\left ( x \right )和Q(x)Q\left ( x \right ),用D(P∥Q)D\left ( P\parallel Q \right )表示两个分布之间的KL散度:
D(P∥Q)=∑x∈XP(x)⋅log2P(x)Q(x)
D\left ( P\parallel Q \right )=\sum_{x\in X}P\left ( x \right )\cdot log_2\frac{P\left ( x \right )}{Q\left ( x \right )}
当两个分布完全相同时,此时KL散度为00。
KL距离衡量的是相同的事件空间里的两个事件的相似程度,而互信息衡量的是不同事件空间中的两个信息的相关性。设两个随机变量XX和YY,互信息为I(X,Y)I\left ( X,Y \right ):
I(X,Y)=∑i=1m∑j=1np(xi,yj)⋅log2p(xi,yj)p(xi)p(yj)
I\left ( X,Y \right )=\sum_{i=1}^{m}\sum_{j=1}^{n}p\left ( x_i,y_j \right )\cdot log_2\frac{p\left ( x_i,y_j \right )}{p\left ( x_i \right )p\left ( y_j \right )}
互信息就是随机事件XX的熵H(X)H\left ( X \right ),以及在给定随机变量YY的条件下的条件熵H(X∣Y)H\left ( X\mid Y \right )之间的差异,即:
I(X,Y)=H(X)−H(X∣Y)
I\left ( X,Y \right )=H\left ( X \right )-H\left ( X\mid Y \right )
由上述的定义可知,互信息与信息增益等价。