KL散度和交叉熵CE

KL散度

首先回顾熵的定义:

其中$I[x]$是时间x=x的自信息:

自信息只处理单个输出,但是熵可以对整个分布的不确定性信息总量进行量化。

如果对于同一个随机变量x有两个单独的概率分布$P(x)$和$Q(x)$,可以使用KL散度来衡量这两个分布的差异。

需要注意的是$D_{KL}(P||Q)$不等于$D_{KL}(Q||P)$,KL散度并不是一个距离,因此他们有对称性。

KL散度的离散情况为:

可以看的出来,KL散度表达的是一种编码在另一种编码表示下,所需要增加的熵的信息。

交叉熵

交叉熵的定义为:

离散情况为:

它和KL散度很相似,二者只相差了左边的一项:

需要注意的是,在机器学习中CE常被用作分类任务的loss函数。此时,由于样本的标签是固定的,则$ H(P)$的值是固定的,那么最小化CE就等价于最小化KL散度。这里的一个思想是吧样本的标签看作一个分布,样本的预测标签看成另一个分布。