KL散度
KL散度(Kullback-Leibler divergence,简称KLD),在消息系统中称为相对熵(relative entropy),在连续时间序列中称为随机性(randomness),在统计模型推断中称为消息增益(information gain)。也称消息散度(information divergence)。
KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的分布来编码服从P的分布的样本所需的额外的平均比特数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布、估计的模型分布、或P的近似分布。
定义
对于离散随机变量,其概率分布P 和 Q的KL散度可按下式定义为
等价于
即按概率P求得的P和Q的对数商的平均值。KL散度仅当概率P和Q各自总和均为1,且对于任何i皆满足及时,才有定义。式中出现的情况,其值按0处理。
对于连续随机变量,其概率分布P和Q的KL散度可按积分方式定义为 [2]
其中p和q分别表示分布P和Q的密度。
更一般的,若P和Q为集合X的概率测度,且P关于Q绝对连续,则从P到Q的KL散度定义为
其中,假定右侧的表达形式存在,则为Q关于P的R–N导数。
相应的,若P关于Q绝对连续,则
即为P关于Q的相对熵。
特性
相对熵的值为非负数:
由吉布斯不等式可知,当且仅当时
为零。
尽管从直觉上KL散度是个度量或距离函数, 但是它实际上并不是一个真正的度量或距离。因为KL散度不具有对称性:从分布P到Q的距离通常并不等于从Q到P的距离。
KL散度和其它量的关系
自信息和KL散度
互信息和KL散度
信息熵和KL散度
条件熵和KL散度
交叉熵和KL散度
交叉熵
在信息论中,基于相同事件测度的两个概率分布和的交叉熵(英语:Cross entropy)是指,当基于一个“非自然”(相对于“真实”分布而言)的概率分布进行编码时,在事件集合中唯一标识一个事件所需要的平均比特数(bit)。
给定两个概率分布和,相对于的交叉熵定义为:
其中是的熵,是从与的KL散度(也被称为p相对于q的相对熵)。
对于离散分布和,这意味着:
对于连续分布也是类似的。我们假设和在测度 上是绝对连续的(通常 是Lebesgue measure on a Borel σ-algebra)。设和分别为的在测度 上概率密度函数。则
源起
在信息论中, 以直接可解编码模式通过值编码一个信息片段,使其能在所有可能的集合中唯一标识该信息片段,Kraft–McMillan theorem确保这一过程可以被看作一种上的隐式概率分布,从而使得是的编码位长度。 因此, 交叉熵可以看作每个信息片段在错误分布下的期望编码位长度,而信息实际分布为。这就是期望是基于而不是的原因。
估计
在大多数情况下,我们需要在不知道分布的情况下计算其交叉熵。例如在语言模型中, 我们基于训练集创建了一个语言模型, 而在测试集合上通过其交叉熵来评估该模型的准确率。是语料中词汇的真实分布,而是我们获得的语言模型预测的词汇分布。由于真实分布是未知的,我们不能直接计算交叉熵。在这种情况下,我们可以通过下式来估计交叉熵:
是测试集大小,是在训练集上估计的事件发生的概率。我们假设训练集是从的真实采样,则此方法获得的是真实交叉熵的蒙特卡洛估计。