title: "Side Note: Information Entropy, Cross-Entropy and KL Divergence" categories: Mathematics updated: comments: true
我们考虑一个事件 $A$, 它发生的概率是 $p$. 假设我们观测到事件 $A$ 发生, 我们希望定义一个信息量 $I(p)$ 来衡量 "$A$ 发生了" 这件事给了我们多少信息.
$$ (I\circ\exp)(\log p + \log q) = (I\circ\exp)(\log p) + (I\circ\exp)(\log q), $$
由 Cauchy's functional equation, 根据 $I\circ\exp$ 单调, 可知
$$ I(p) = (I\circ\exp)(\log p) = c\log p, $$
其中 $c$ 是一个常数, 由单调递减可知 $c<0$, 不妨取 $c=-1$. 而且我们也可以看出
考虑一个离散分布, 互斥事件 $A_i$ 发生的概率为 $p_i$, 假设观测 $N$ 次, $A_i$ 恰好发生了 $n_i = N p_i$ 次, 则我们得到的总的信息量为
$$ \sum_i n_i I(p_i) = -\sum_i Np_i\log p_i. $$
我们用平均信息量来衡量每次观测到事件发生得到的信息量, 即 信息熵)
$$ -\sum_i p_i\log p_i. $$
更一般地, 若 $X$ 有密度函数 $p$, 则它的熵定义为
$$ H(p) = \mathbb E_p(I(X)) = \mathbb E_p(-\log p(X)). $$
关于最大熵分布可以参见 这个回答.
若有另一个密度函数 $q$, 我们可以定义 交叉熵
$$ H(p, q) = -\mathbb E_p \log q, $$
一个 informal 但是简单直观的解释可以参见 这个回答.
以及 KL 散度
$$ \operatorname{KL}(p\Vert q) = H(p, q) - H(p) \ge 0, $$
其中不等号是由 Jensen 不等式.