首页 > KL-divergence

KL-divergence

KL-divergence,俗称KL距离,常用来衡量两个概率分布的距离。

根据shannon的信息论,给定一个字符集的概率分布,我们可以设计一种编码,使得表示该字符集组成的字符串平均需要的比特数最少。假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码平均需要的比特数等于这个字符集的熵:

H(X)=∑x∈XP(x)log[1/P(x)]

在同样的字符集上,假设存在另一个概率分布Q(X)。如果用概率分布P(X)的最优编码(即字符x的编码长度等于log[1/P(x)]),来为符合分布Q(X)的字符编码,那么表示这些字符就会比理想情况多用一些比特数。KL-divergence就是用来衡量这种情况下平均每个字符多用的比特数,因此可以用来衡量两个分布的距离。即:

DKL(Q||P)=∑x∈XQ(x)[log(1/P(x))] - ∑x∈XQ(x)[log[1/Q(x)]]=∑x∈XQ(x)log[Q(x)/P(x)]

由于-log(u)是凸函数,因此有下面的不等式

DKL(Q||P) = -∑x∈XQ(x)log[P(x)/Q(x)] = E[-logP(x)/Q(x)] ≥ -logE[P(x)/Q(x)] = -log∑x∈XQ(x)P(x)/Q(x) = 0

即KL-divergence始终是大于等于0的。当且仅当两分布相同时,KL-divergence等于0。

转载于:https://www.cnblogs.com/wonglou/p/3741306.html

更多相关:

  •         统计学上分布有很多,在R中基本都有描述。因能力有限,我们就挑选几个常用的、比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示。 统计分布每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数函数,r――随机数函数。比如,正态分布的这四个函数为dnorm,pnorm,qnorm,...

  • [Mar 31 02:39:34.185] Server {0x2b1d85563700} NOTE: Skipping the current log entry for access.log because its size (9136) exceeds the maximum p...

  • recycle_log_file_num 复用wal文件信息, 优化wal文件的空间分配,减少pagecache中文件元信息的更新开销。 为同事提供了一组rocksdb写优化参数之后有一个疑惑的现象被问到,发现之前的一些代码细节有遗忘情况,同时也发现了这个参数的一些小优化,这里做个总结。 在参数: opts.recycle_lo...

  • 今天的Log信息有的能打有的不能打,甚是奇怪,高了半天明白了,常见的几个问题就不说了,说我这个奇怪的。看下面的内容,那个能打印呢? 1 2 3 4 5 Log.v("交易返回码:log", " "); Log.v("re:log", ""); Log.e("交易返回码:log", ""); Log.e("re:log", "...

  • 第一章 绪论 机器人学是一门通过计算机控制设备来感知和操纵物理世界的科学,脱离开结构化的工作环境,客观世界中存在着大量的不确定性: 机器人环境的不可预测传感器感知信息的局限性执行机构的不确定性机器人软件中抽象模型的误差。 为了使机器人接纳这些不确定性,《概率机器人》致力于将机器人感知与行为的不确定性用概率理论明确地表示出来,推测...