Some Formula Derivation about Mutual Information
1. 熵(Entropy)
在进行公式推导前,有必要将信息熵的一些基本概念和公式复习一遍。
1.1 信息熵(Information entropy)
一个随机变量\(X\)的信息熵通常用符号\(H(X)\)表示。
\[H(X) = - \sum_x p(x) \log p(x) \tag{1}\]熵是对随机变量不确定性的度量,信息熵越大,混乱程度越大,不确定性越大。香农编码定理表明熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度)。
两个随机变量\(X\)和\(Y\)的联合熵(Joint entropy)表示为:
\[H(X, Y) = - \sum_{x, y} p(x, y) \log p(x, y) \tag{2}\]1.2 条件熵(Conditional entropy)
条件熵\(H(Y \vert X)\)表示,在已知随机变量\(X\)的前提下随机变量\(Y\)的不确定性:
\[\begin{aligned} H(Y \vert X) &= \sum_x p(x) H(Y \vert X=x) \\ &= - \sum_x p(x) \sum_y p(y \vert x) \log p(y \vert x) \\ &= - \sum_x \sum_y p(x) p(y \vert x) \log p(y \vert x) \\ &= - \sum_{x,y} p(x, y) \log p(y \vert x) \end{aligned} \tag{3}\]条件熵\(X(Y \vert X)\)可以表示为联合熵\(H(X, Y)\)减去信息熵\(H(X)\),即\(X(Y \vert X) = H(X, Y) - H(X)\),证明:
\[\begin{aligned} H(X, Y) &= - \sum_{x,y} p(x, y) \log p(x, y) \\ &= - \sum_{x, y} p(x, y) \log (p(y \vert x) p(x)) \\ &= - \sum_{x, y} p(x, y) \log p(y \vert x) - \sum_{x, y} p(x, y) \log p(x) \\ &= H(Y \vert X) - \sum_{x, y} p(x, y) \log p(x) \\ &= H(Y \vert X) - \sum_x \sum_y p(x, y) \log p(x) \\ &= H(Y \vert X) - \sum_x \log p(x) \sum_y p(x, y) \\ &= H(Y \vert X) - \sum_x \log p(x) p(x) \\ &= H(Y \vert X) + H(X) \end{aligned} \tag{4}\]可以理解为:在\(X\)和\(Y\)非独立分布的条件下,当已知\(X\)会发生时,那么\(Y\)取值的不确定性减小了。
等价地:\(H(X \vert Y) = H(X, Y) - H(Y)\)
1.3 相对熵(Relative entropy)
相对熵也就是\(KL\)散度,具体公式在变分推导的第一部分中有详细解释。
1.4 交叉熵(Cross entropy)
交叉熵是通过\(KL\)散度推导而来的,具体公式在Understanding CrossEntropy中有详细解释。
2. 互信息(Mutual information)
在概率论和信息论中,两个随机变量的互信息是它们之间依赖性的度量。
2.1 定义
两个离散随机变量\(X\)和\(Y\)的互信息定义为:
\[I(X; Y) = \sum_y \sum_x p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \tag{5}\]其中\(p(x, y)\)表示联合概率分布,\(p(x)\)和\(p(y)\)表示边缘概率分布。
对于连续随机变量,互信息定义为:
\[I(X; Y) = \int_y \int_x p(x, y) \log \frac{p(x, y)}{p(x) p(y)} dx dy \tag{6}\]举个简单的例子:对于两枚一模一样的正常硬币\(A\)和\(B\),抛出正面的概率都是\(\frac{1}{2}\),他们各自抛一次,计算抛出都是正面的互信息。
\[I(A^+; B^+) = p(A^+, B^+) \log \frac{p(A^+, B^+)}{p(A^+) \times p(B^+)} = \frac{1}{4} \log \frac{\frac{1}{4}}{\frac{1}{2} \times \frac{1}{2}} = 0\]说明,抛这两枚硬币没有任何依赖性,已知第一枚硬币抛到正面或反面,都不会影响第二枚抛出什么。
由上述的公式可以看出:当\(X\)和\(Y\)相互独立时,即\(p(x, y) = p(x) p(y)\),互信息为0。
2.2 常见等价公式及推导
除了式\((5)\)和式\((6)\)可以表示互信息,还有其他表示形式。
利用\(KL\)散度来表示:
\[I(X; Y) = KL(p(x, y) || p(x) p(y)) \tag{7}\]此外,另\(p(x \vert y) = \frac{p(x, y)}{p(y)}\),则:
\[\begin{aligned} I(X; Y) &= \sum_y \sum_x p(x \vert y) p(y) \log \frac{p(x \vert y)}{p(x)} \\ &= \sum_y p(y) \sum_x p(x \vert y) \log \frac{p(x \vert y)}{p(x)} \\ &= \sum_y p(y) KL(p(x \vert y) || p(x)) \\ &= \mathbb{E}_Y \{KL(p(x \vert y) || p(x))\} \end{aligned} \tag{8}\]还可以利用熵来表示:
\[\begin{aligned} I(X; Y) &= \sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \\ &= \sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x)} - \sum_{x, y} p(x, y) \log p(y) \\ &= \sum_{x, y} p(x) p(y \vert x) \log p(y \vert x) - \sum_{x, y} p(x, y) \log p(y) \\ &= \sum_x p(x) (\sum_y p(y \vert x) \log p(y \vert x)) - \sum_y \log p(y) (\sum_x p(x, y)) \\ &= - \sum_x p(x) H(Y \vert X=x) - \sum_y p(y) \log p(y) \\ &= - H(Y \vert X) + H(Y) \\ &= H(Y) - H(Y \vert X) \end{aligned} \tag{9}\]由互信息是对称的,即\(I(X; Y) = I(Y; X)\),所以:
\[\begin{aligned} I(X; Y) &= H(Y) - H(Y \vert X) \\ &= H(X) - H(X \vert Y) \end{aligned} \tag{10}\]由式\((4)\)可知:\(H(X \vert Y) = H(X, Y) - H(Y)\),代入式\((10)\)可得:
\[\begin{aligned} I(X; Y) &= H(X) + H(Y) - H(X, Y) \\ &= H(X, Y) - H(Y \vert X) - H(X \vert Y) \end{aligned} \tag{11}\]2.3 性质
-
对称性: \(I(X; Y) = I(Y; X)\)
-
非负性: \(I(X; Y) \geqslant 0\)
-
极值性: \(\begin{aligned} &I(X; Y) \leqslant H(X) \\ &I(Y; X) \leqslant H(Y) \end{aligned}\) 当\(X\)与\(Y\)一一对应时取等号。
参考
Mutual information
互信息(Mutual Information)
详解机器学习中的熵、条件熵、相对熵和交叉熵
互信息的公式推导