相对熵和交叉熵及其联系和区别

前提

信息 指音讯、信息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。获取信息的主要方法是六何法。

信息可以减少事件的不确定性。

因为信息反映事物内部的属性、状态、结构、相互联系以及与外部环境的互动关系,从而减少事件的不确定。

信息的现代定义:

  1. 信息是物质、能量、讯息及其属性的标示;
  2. 信息是确定性的增加;
  3. 信息是事物现象及其属性标识的集合。

信息量 用于度量事件的不确定性。

事件的发生具有不确定性,这种不确定性蕴含了信息,我们想对这些信息进行度量,因此引入了信息量。

不确定事件的发生使用概率描述。因此,信息量的定义为事件发生概率的负对数。

(1)式事件发生的信息量,其中为事件发生的概率。

其中是离散随机变量,取值空间为。

为什么信息量的统计特征描述为概率的负对数形式?这是由信息量和不确定性的特点决定的。信息量有以下特点:

  1. 事件的不确定性越大,信息量越小,反之信息量越大;
  2. 当事件的不确定性为0时,即事件发生的概率为1,那么信息量为0;
  3. 信息量等于组成信息的子信息的信息量之和。

根据上述特点,如果使用数学上的对数函数来表示信息量,正好可以表示信息量和事件发生概率之间的关系。

信息熵 用于度量信息包含的信息量。

尽管我们使用信息量来量化事件的不确定性,但是我们仍然不清楚信息所包含的信息量。因为事件的发生具有不确定性,其取值是一个随机变量,我们很难准确描述一次事件发生的概率。很自然地,我们引入期望的概念,使用期望来描述事件发生的概率。对于信息而言,我们不清楚信息到底有多少,但同样通过期望的方式得到信息的统计度量。

其中是信息量。

信息熵是事件不确定性的度量。

信息熵详细定义Wiki,Baike。

相对熵

相对熵,又称KL散度(Kullback-Leibler divergence),是两个概率分布和之间的差异的非对称性的度量。

在信息论中,相对熵等价于两个概率分布的信息熵的差值。

定义 假设,是随机变量上的两个概率分布,在离散情况下,相对熵的定义如下。

和信息熵的联系

将(4)式展开。
\begin{equation} \begin{aligned} D_{KL}(p\|q) &= \sum_{x\in\chi}plog\frac{p}{q} \\ &=\sum_{x\in\chi}p\log{p} - \sum_{x\in\chi}p\log{q} \\ &=-\mathbb{E}[I(\log{p})] + \mathbb{E}_p[I(\log{q})] \\ &= -H(p) + H_p(q) \\ &= H_p(q) - H(p) \end{aligned} \end{equation} \tag{5}
上式表明,表示在真实分布为的前提下,使用分布进行编码相对于使用真实分布进行编码所需的额外的平均比特数。

因此,相对熵可以作为一些优化算法的损失函数,如最大期望算法(Wiki,Baike)。此时,参与计算的一个概率分布为真实分布,另一个为拟合分布,相对熵表示使用理论分布拟合真实分布时产生的信息损失。

交叉熵

交叉熵是Shannon信息论中的一个重要概念,主要用于度量两个概率分布间的差异性信息。

在信息论中,交叉熵表示两个概率分布,其中表示真实分布,表示拟合分布。在同一组事件中,其中用拟合分布来表示某个事件发生所需要的平均比特数。

定义 假设有两个分布,,相对于的交叉熵定义为:

交叉熵的含义是使用拟合分布进行编码的期望平均长度。

期望为什么基于? 在信息论中,样本集的真实分布为,那么真实编码长度为,但真实分布未知的情况下,使用了错误分布来编码,因此交叉熵可以看作每个信息片段在错误分布下的期望编码长度,这就是期望基于而不是的原因。

应用

  1. 交叉熵可在神经网络中作为损失函数,表示真实标签的分布,表示训练模型的预测标签分布,交叉熵损失函数可以衡量与的相似性。

    交叉熵作为损失函数的一个好处:

    ​ 使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速度降低的问题,因为学习速率可以被输出的误差所控制。

  2. 在语言模型中,我们基于训练集创建了一个语言模型,而在测试集上通过其交叉熵来评估模型的准确率。

    其中,是语料中词汇的真实分布,而是我们获得的语言模型预测的词汇分布。

    由于真实分布是未知的,我们不能直接计算交叉熵。在这种情况下,我们可以通过下式估计交叉熵:

    其中是测试集大小,是在训练集上估计的事件发生的概率。

    我们假设训练集是从的真实采样,则此方法获得的是真实交叉熵的蒙特卡洛估计。

相对熵 vs 交叉熵

我们展开交叉熵定义,得到下式:
\begin{equation} \begin{aligned} CEH(p,q) &=\mathbb{E}_p[-\log{q}] \\ &=-\sum p\log{q} \\ &=-\sum p\log{p} + [-(\sum p\log{q} - \sum p\log{p}) \\ &=H(p) + D_{KL}(p\|q) \end{aligned} \end{equation} \tag{8}
其中,是分布的信息熵,是相对于的相对熵。由此可知,交叉熵和相对熵仅相差了一个。当已知时,是一个常数,那么交叉熵在行为上退化为相对熵,两者是等价的,都反映了分布的相似程度。最小化交叉熵等价于最小化KL距离,它们都在下取得最小值。

特别的,在逻辑回归中

p: 真实样本分布,服从参数为的0-1分布,即

q: 待估计的模型,服从参数为的0-1分布,即

两者的交叉熵为:
\begin{equation} \begin{aligned} CEH(p,q) &= -\sum_{x\in\chi}p(x)\log{q(x)} \\ &= -[P_p(x=1)\log{P_q(x=1)} + P_p(x=0)\log{P_q(x=0)}] \\ &= -[y\log{h_{\theta}(x)}+(1-y)\log{(1-h_{\theta(x)})}] \end{aligned} \end{equation} \tag{9}
对所有样本取均值,得到

这个结果与通过最大似然估计方法求出的结果一致。

在实际神经网络中,对于某个样本进行分类预测时,预测值和真实值都服从0-1分布,相关推导可以参考。

你可能感兴趣的:(相对熵和交叉熵及其联系和区别)