KL散度解释——来自COUNT BAYESIE
本文来自Count Bayesie https://www.countbayesie.com/blog/2017/5/9/kullback-leibler-divergence-explained
原文翻译:
在这篇文章中,我们将看一下比较两个概率分布的方法,称为Kullback-Leibler Divergence(通常简写为KL散度或KL距离)。通常在概率和统计学中,会使用更简单的近似分布代替观察的所得的复杂分布。KL散度可以使我们测量,在使用近似值代替时丢失的信息量。
让我们看一个问题开始解释。假设我们是太空科学家,访问一个遥远的星球,我们发现了一种叮咬蠕虫。这些蠕虫有最多有10颗牙齿,但由于咀嚼,许多牙齿最终都会脱落。在收集了许多样本后,我们得出了每个蠕虫中牙齿数量的经验概率分布:
虽然这些真实数据很好,但也有一些问题。我们远离地球,将数据发回去很昂贵的。我们需要将这些数据简化为只有一个或两个参数的简单模型。一种选择是将蠕虫中牙齿的分布表示为均匀分布。我们知道有11个可能的值,我们可以只分配统一概率 1 11 \frac{1} {11} 111 这些可能性中的每一种:
显然,真实数据并不符合均匀分布,也不像我们所知的任何常见分布。我们可以尝试的另一个选择是使用二项分布对我们的数据建模。在这种情况下,我们需要做的就是估计二项分布的概率参数。我们知道如果有的话ñn次试验和可能性pp那么期望就是E [x] = n \ cdot pë [ X ] = Ñ ⋅ p。在这种情况下n = 10n = 1 0,期望值只是我们数据的平均值,我们称之为5.7,因此我们对p的最佳估计值为0.57。这会给我们一个看起来像这样的分布式:
将均匀分布和二项分布,分别与原始数据进行比较,都没有完美匹配,但哪一个更好?
尽管采用近似估计会存在大量错误,但我们主要关心的是最小化我需要发送信息量。这两种模型(均匀分布、二项分布)都将我们的问题减少到两个参数,即吃树和概率(均匀分布只需要齿数)。要比较哪一个方案更好地保留了原始数据中的更多信息,KL散度就派上用场了。
概率分布熵(信息熵)
KL 散度起源于信息论。信息论的主要目标是量化数据中的信息量。信息论中最重要的指标称为熵,通常表示为H*^ h*。概率分布熵定义是:
H = − ∑ i = 1 N p ( x i ) ⋅ l o g   p ( x i ) H=−\sum_{i=1}^Np(x_i)⋅log\,p(x_i) H=−i=1∑Np(xi)⋅logp(xi)
如果我们使用 log_2来计算,我们可以这样理解熵:编码信息所需要的最小的比特数。