头部背景图片
logme's blog |
logme's blog |

机器学习中的信息论

自信息

在机器学习中,信息论经常用来量化概率分布之间的相似性。

信息论的基本想法是一个不太可能的时间居然发生了,要比一个非常可能发生的事件发生能够提供更多的信息。信息论量化信息的基本想法为:

  1. 非常可能发生的事件信息量要比较少,确保能够发生的事件应该没有信息量。
  2. 比较不可能发生的时间具有更高的信息量。
  3. 独立事件具有的信息量是增量的。例如,投掷的硬币两次正面向上传递的信息量,应该是投掷一次硬币正面朝上信息量的两倍。

为了满足上述的3个性质,定义一个$x$的自信息(self-information)为:

自信息的单位为奈特或者比特,分别对应底数为$e​$和$2​$时的信息量。一奈特是以$\frac{1}{e}​$的概率观测到一个事件时获得的信息量,通过比特度量的信息只是通过奈特度量信息的常数倍。

香农熵

自信息只处理单个事件的信息。我们可以用香农熵(Shannon entropy)来对整个概率分布中的不确定性总量进行量化:

香农熵也记做$H(P)​$,一个分布的香农熵是指遵循这个分布的时间所产生的期望信息总量。它给出了对一句概率分布$P​$生成的符号进行编码所需的比特数在平均意义上的下界。接近确定性分布具有较低的熵,接近均匀分布的概率具有较高的熵。当$x​$是连续的,香农熵被称为微分熵。

相对熵(KL-散度)

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

在离散型随机变量的情况下,$KL​$散度衡量的是当我们使用一种被设计成能够使得概率分布$Q​$产生的消息长度最小的编码,发送包含由概率分布$P​$产生的消息时,所需要的额外信息量。

$KL​$散度有很多很有用的性质,最重要的是它是非负的。$KL​$散度为0,当且仅当当且仅当$P​$和$Q​$在离散型随机变量的情况下是相同的分布,或者在连续性随机变量的情况下”几乎处处”相同的。因为$KL​$散度是非负的并且衡量的是两个分布之间的差异,它经常被用作分布之间的某种距离。然而,他并不是真正的距离,因为它不是对称的:对于某些$P​$和$Q​$,$D_{KL}(P||Q) \neq D_{KL}(Q||P)​$。这种非对称性意味着选择$D_{KL}(P||Q)​$和$D_{KL}(Q||P)​$影响很大。

交叉熵

交叉熵$H(P,Q)=-E_{x \sim P} log Q(x)$和$KL$散度关系密切,如下所示:

根据上式可知最小化交叉熵等价于最小化$KL​$散度,因此在机器学习中经常使用。

机器学习的过程

机器学习的过程就是希望在训练数据上模型学到的分布$P(model)​$和真实数据的分布$P(real)​$越接近越好,因此可以使其$KL​$散度最小,但是我们没有真实数据的分布,只有训练数据的分布$P(training)​$,因此我们希望模型学到的分布和训练数据的分布尽量相同。假设训练数据是从总体中独立同分布采样而来,那么我们可以利用最小化训练数据的经验误差来降低模型的泛化误差。也就是:

  • 最终目的是希望学到的模型的分布和真实分布一致:$P(model) \simeq P(real)​$

  • 真实分布对于我们来说不可能得到,因此我们只好假设训练数据是从真实数据独立同分布采样而来,也就有$P(training) \simeq P(real)$.

  • 如果我们的模型和训练数据的分布达成一致即$P(training) \simeq P(real)$则我们就得到了

avatar yt.zhang log what I am interested.