信息论基础

501 阅读3分钟

信息熵(Information Entropy)

​ 信息论认为,一条信息的信息量与其不确定性有着直接的关系. 举个例子,如果要问今年的世界杯冠军是哪支球队,答案是肯定的:法国队;但如果问下一届世界杯的冠军是哪支球队,这个问题就会有很多答案,甚至哪些球队能进入世界杯决赛圈都是难以猜测的,因此,下届世界杯冠军得主这个事件就具有了更多的信息.

对于信息量的度量, 香农(Claude Shannon)提出了信息熵的概念, 具体公式如下:

H(X) = -\sum_{x\in X}P(x)logP(x)

即事件的不确定性越大, 信息熵就越大, 信息量也就越多.

条件熵(Conditional Entropy)

​ 我们知道, 知道的信息越多, 事件的不确定性就越低, 那么假如我们知道了该事件的相关事件的一些信息, 那么是不是就意味着我们也能降低此事件的不确定性呢? 为了证明这些相关的信息能够消除不确定性, 我们引入一个条件熵的概念.

假定 XY 是两个随机变量, X 是我们需要了解的. 假定我们知道了 X 的随机分布 P(X) , 那么也就知道了 X 的熵:

H(X) = -\sum_{x\in X}P(x)logP(x)

假如我们还知道了 Y 的一些信息, 包括它和 X联合概率分布(Joint Probability), 以及在 Y 取不同值的前提下 X 的概率分布, 即条件概率分布(Conditional Probability). 那么定义在 Y 的条件下的条件熵为:

H(X|Y) = -\sum_{x\in X, y\in Y}P(x,y)logP(x|y)

可以证得 H(X) \ge H(X|Y), 即多了 Y 的信息后, 关于 X 的不确定性下降了.

同样我们也可以将这个结论拓展到多元模型的情况.

互信息(Mutual Information)

​ 我们知道, 当我们获取的信息跟我们要研究的事物"有关系"时, 这些信息才能帮助我们消除不确定性. 而"有关系" 这一说法过于模糊, 我们希望能够量化地度量"相关性".

香农在信息论中提出了一个互信息的概念, 作为两个事件"相关性"的量化度量.

假定有两个随机事件 XY, 它们的互信息定义如下:

I(X;Y) = \sum_{x\in X,y\in Y}P(x,y)log \frac{P(x,y)}{P(x)P(y)}

我们可以证明:

I(X;Y) = H(X) - H(X|Y)

所以,所谓两个事件相关性的量化度量, 就是在了解其中一个 Y的前提下, 对消除另一个 X 不确定性所提供的信息量.

需注意的是, 互信息是一个取值在0到min(H(X),H(Y)) 之间的函数, 当 XY 完全相关时, 它的取值是0, 同时H(X) = H(Y); 当二者完全无关时, 它的取值是0.

交叉熵(相对熵 Relative Entropy)

与随机变量的互信息不同, 交叉熵用来衡量两个取值为正数的函数的相似性, 它的定义如下:

KL(f(x)||g(x)) = \sum_{x\in X}f(x)log\frac{f(x)}{g(x)}

有如下3条结论:

  1. 对于两个完全相同的函数, 它们的相对熵等于零.
  2. 相对熵越大, 两个函数差异越大; 反之, 相对熵越小, 函数差异越小.
  3. 对于概率分布或者概率密度函数, 如果取值均大于零, 相对熵可以度量两个随机分布的差异性.

需要指出相对熵是不对称的:

KL(f(x)||g(x)) \neq KL(g(x)||f(x))

为了让它对称, 詹森和香农提出一种新的相对熵的计算方法, 将上面的不等式两边取平均, 即:

JS(f(x)||g(x)) = \frac{1}{2} [KL(f(x)||g(x)) + KL(g(x)||f(x))]

参考资料:

[1] 吴军. 数学之美[M]. 北京: 人民邮电出版社, 2014: 60-71.