OMSCS-ML课程笔记09-Information Theory

 

这个系列是Gatech OMSCS 机器学习课程(CS 7641: Machine Learning)的同步课程笔记。课程内容涉及监督学习、无监督学习和强化学习三个部分,本节主要介绍信息论的相关内容。

Entropy

信息量的基本度量是信息熵(information entropty),对于离散随机变量$X$我们定义它的熵为:

\[H(X) = \mathbb{E}_X [I(X)] = -\sum_{x \in X} p(x) \log p(x)\]

熵度量了随机变量的随机程度:$X$的分布越均匀对应的熵越大,而当$X$的分布越集中对应的熵越小。当$X$退化为确定的变量时我们定义它的熵为0。

除此之外我们还可以从编码长度来理解信息熵。对于随机变量$X$的所有取值我们可以使用霍夫曼编码对它进行编码,概率为$p(x)$的取值对应的编码长度为$-\log p(x)$,而$X$的平均编码长度即为$H(X) = -\sum_{x \in X} p(x) \log p(x)$。因此信息熵给出了对随机变量进行无损编码的最小平均长度。

在信息熵的基础上我们可以定义两个离散随机变量的联合熵(joint entropy)

\[H(X, Y) = \mathbb{E}_{X, Y} [- \log p(x, y)] = -\sum_{x, y} p(x, y) \log p(x, y)\]

同时已知$Y$条件下$X$的熵定义为条件熵(conditional entropy)

\[\begin{aligned} H(X \vert Y) = \mathbb{E}_Y [H(X \vert Y)] &= -\sum_y p(y) \sum_x p(x \vert y) \log p(x \vert y) \\ &= -\sum_{x, y} p(x, y) \log p(x \vert y) \\ &= H(X, Y) - H(Y) \end{aligned}\]

Mutual Information

对于随机变量$X$和$Y$我们可以定义它们之间的互信息为:

\[I(X; Y) = \sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x) p(y)}\]

互信息度量了随机变量$X$和$Y$的独立性质,当且仅当$X$和$Y$相互独立时它们的互信息为0。此外,互信息可以从$X$和$Y$的联合熵以及条件熵推导出来:

\[\begin{aligned} I(X; Y) &= I(Y; X) \\ &= H(X) - H(X \vert Y) = H(Y) - H(Y \vert X) \\ &= H(X) + H(Y) - H(X, Y) \end{aligned}\]

Kullback–Leibler Divergence

本节最后介绍了KL散度(Kullback–Leibler divergence),它可以用来度量概率分布$P$和$Q$之间的距离:

\[\begin{aligned} D_{KL} (P \Vert Q) &= \sum_x P(x) \log \bigg( \frac{P(x)}{Q(x)} \bigg) \\ &= -\sum_x P(x) \log Q(x) + \sum_x P(x) \log P(x) \end{aligned}\]

其中第一项称为$P$和$Q$的交叉熵(cross entropy),第二项是$P$的信息熵。

结合互信息不难发现,互信息是联合概率与独立概率之间的KL散度。从这个角度看互信息实际上度量了$X$和$Y$的联合概率分布于它们独立分布之间的差异。

最后需要说明的是严格来说KL散度并不是一个距离度量,它不满足交换性:

\[D_{KL} (P \Vert Q) \neq D_{KL} (Q \Vert P)\]

Reference