KL散度、交叉熵以及信息熵

本文最后更新于:1 年前

介绍一下机器学习中常见的数学概念:KL散度、交叉熵、信息熵等

在引入本文主要研究的数学概念前,我们先探究一下惊喜度

我们用 $p(x)$表示 $x$ 发生的概率。可以暂时先不讨论概率的内涵,我们引入 $\cfrac{1}{p(x)}$可以用来衡量时间$x$发生时会造成的惊喜,我们发现当概率越低的时间发生时,其所造成的惊喜程度越高;概率越高的事件所造成的惊喜程度越低。

但使用倒数这一运算,其性质不是很好,所以为了不改变单调性的情况下,可以借助$\log$函数来描述,我们将惊喜度(surprisal)定义为:

$\log{\cfrac{1}{p(x)}} = -\log{p(x)}$

这样定义后产生了另外两个好处:

  • 确定性事件的惊喜度数 = 0;
  • 如果有多个独立事件同时发生,他们产生的惊喜度可以直接相加。

那么,我们就清楚惊喜度到底是什么,就是一个事件发生的概率的倒数再取对数。

信息熵 - 惊喜度的期望

惊喜度,在大部分文章里,都叫做信息量,但这个命名只是香农根据他研究对象的需要而做的,对于很多其它的场景,要生搬硬套就会变得非常不好理解了。

信息量 = 惊喜度,那么信息熵呢?看看公式不言自明:

$H_p(X) = -\sum{p(x) \cdot \log(p(x))} $

或是连续形式

$H_p(X) = \int{p(x) \cdot \log{\cfrac{1}{p(x)}}dx}$

这不就是惊喜度的期望吗?换句话说,

信息熵描述的是整个事件空间会产生的平均惊喜。

什么情况下,平均惊喜度最低呢?确定事件。以某个离散随机分布未例,整个分布在特定值$x_c$为

1,其他处均为0,此时的信息熵/平均惊喜也为0。


KL散度、交叉熵以及信息熵
https://wlpswmt.github.io/2023/03/30/KL散度、交叉熵以及信息熵/
作者
Sivan Zhang
发布于
2023年3月30日
许可协议