原理

根据熵的连锁规则,有

\[H(X,Y) = H(X) + H(Y \mid X) = H(Y) + H(X \mid Y)\]

因此,

\[H(X) -H(X \mid Y) = H(Y) - H(Y \mid X)\]

这个差叫做X和Y的互信息(mutual information,MI)记作\(I(X;Y)\)。或者定义为:如果\((X,Y) \sim p(x,y)\),则X,Y之间的互信息\(I(X;Y) = H(X) -H(X \mid Y)\)。

\(I(X;Y)\)反映的是在知道了Y的值以后X的不确定性的减少量。可以理解为Y的值透露了多少关于X的信息量。

如果将定义中的H(X)和\(H(X \mid Y)\)展开,可得

\[\begin{align} I(X;Y) &= H(X) -H(X \mid Y) \\ &= H(X) + H(Y) - H(X, Y) \\ &= \sum_x p(x) log \frac{1}{p(x)} + \sum_y p(y) log \frac{1}{p(y)} + \sum_{x,y} p(x,y) log p(x,y) \\ &= \sum_{x,y} p(x,y) log \frac{p(x,y)}{p(x)p(y)} \\ \end{align}\]

由于\(H(X \mid X) = 0\),因此,

\[H(X) = H(X) - H(X \mid X) = I(X;X)\]

这一方面说明了为什么熵又称为自信息,另一方面说明了两个完全相互依赖的变量之间的互信息并不是一个常数,而是取决于它们的熵。

实际上,互信息体现了两个变量之间的依赖程度:如果\(I(X;Y) >> 0\),表明X和Y是高度相关的;如果\(I(X;Y) = 0\),表明X和Y是相互独立的;如果\(I(X;Y) << 0\),表明Y的出现不但未使X的不确定性减小,反而增大了X的不确定性,常是不利的。平均互信息量是非负的。

同样,我们可以推导出条件互信息和互信息的连锁规则:

\[I(X;Y \mid Z) = I((X;Y) \mid Z) = H(X \mid Z) - H(X \mid Y,Z)\] \[\begin{align} (X_{1n}; Y) &= I(X_1, Y) + ... + I(X_n;Y \mid X_1, ..., X_{n-1}) \\ &= \sum_{i=1}^n I(X_i;Y \mid X_1,...,X_{i-1}) \\ \end{align}\]

互信息在词汇聚类(word clustering)、汉语自动分词、词义消歧等问题的研究中具有重要用途。

参考文献

  • 统计自然语言处理 宗成庆 2.2.3