香农熵(Shannon entropy)用来对概率分布中不确定性总量进行量化:
H(x)=E_{x \sim P}[I(x)]=-E_{x \sim P}[\log P(x)]
也记作H(P)。换言之,一个分布的香农熵是指遵循这个分布的时间所产生的期望的信息总量。它给出了对依据概率分布P生成的符号进行编码所需的比特数在平均意义上的下界。哪些接近确定性的分布(输出几乎可以确定)具有较低的熵:那些接近均匀分布的概率分布的概率分布具有较高的熵。当x是连续时,香农熵被称为微分熵(differential entropy)。
如果对同一个随机变量x有两个单独的概率分布P(x)和Q(x),可以使用KL散度(Kullback-Leibler(KL) divergence)来衡量这两个分布的差异:
D_{K L}(P \| Q)=E_{x \sim P}\left[\log \frac{P(x)}{Q(x)}\right]=E_{x \sim P}[\log P(x)-\log Q(x)]
对离散型型随机变量,表达式展开为:
D_{K L}(p \| q)=\sum_{i=1}^{N} p\left(x_{i}\right) \cdot \log \frac{p\left(x_{i}\right)}{q\left(x_{i}\right)}
KL散度的意义:KL散度衡量的是,当我们使用一种被设计成能够使得模型概率分布Q产生的消息的长度最小的编码,发送包含由概率分布P产生的消息时,所需要的额外的信息量。
KL散度有很多有用的性质,最中要的是,它是非负的,KL散度为0。当且仅当P和Q在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是“几乎处处”相同的。因为KL散度是非负的并且衡量的是两个分布之间的差异,它经常被用作分布之间的某种距离。然而,它并不是真正的距离,因为它不是对称的:对于某些P和Q,D_{K L}(P \| Q) \neq D_{K L}(Q \| P) 。这种非对称意味着选择D_{K L}(P \| Q) 还是D_{K L}(Q \| P)影响很大。
和KL散度密切联系的是交叉熵(cross-entropy),即H(P, Q)=H(P)+D_{K L}(P \| Q) ,它和KL散度很像,但是缺少左边一项:
H(P, Q)=-E_{x \sim P} \log Q(x) 对离散型型随机变量,表达式展开为:
D_{K L}(p \| q)=-\sum_{i=1}^{N} p\left(x_{i}\right) \cdot q\left(x_{i}\right)
针对Q最小化交叉熵等价于最小化KL散度,因为Q并不参与被省略的那一项。