KL散度与交叉熵

最短编码

信息熵就是信息的最短编码长度,假如我们预测到一个信息符合分布Q,然后我们按照这个预测的分布对信息进行编码,利用这套编码,我们可以得出,当信息分布真的符合P的时候,我们就有最短的平均编码长度为。
问题是,我们预测的信息分布可能不准确,事实上可能是另外一个相差不太大的分布P,如果P与Q相差实在太大,几乎是反过来的,我们有理由去质疑按照Q来编码是否合理。但是如果P与Q相差不大,我们就没必要重新换一套编码。这时候,我们实际上的编码长度是:。如果我们不换编码,用的就是这个长度。
那么,我们如何衡量我们要不要换呢?那就是看看如果换了编码成最优的编码,我们能节约多少。

这就是所谓的KL散度,一般写作。

不等式

聪明的同学已经发现了很多问题,等不及要举手提问了:上一段中的最短、节约等用词张口就来,说明里面一定蕴含了一个恒成立的不等式,这个不等式如何描述,真的成立么?第一句话中的最短,是跟谁比最短?
我们先来讨论跟谁比的问题?
上一段中有两个概率分布,一个是P,它表示的是我们的用来对信息进行编码的分布。一个是Q,它表示的是实际传输信息的时候发生的概率。在求最值的时候,我们是应该固定P来求Q的最适值?还是应该固定Q来求P的最适值呢?聪明的同学把手放下,我们让普通的同学思考半分钟先。
当然是要更换Q,如果更换P,那么很显然,我们只要把最短的那个设定为1,就能得到最短的编码。但这个最短编码的代价是,信息无法起到沟通的作用了,比如最常用的汉字是“的”字,为了让编码最短,我们限制大家说话只能用"的"字,这显然是荒谬的。
因此,上文中的“最短”,“节约”,说的是在P固定的情况下,用于编码的Q如果跟P保持完全一致,则最短,而且,越不一致越长。
这个结论的证明用到了一个不等式。这时候一个声音飘了过来:“但是底数。。。。。。”,还没说完,就被另一个声音给打断了:“换底公式!”

交叉熵

公式含有这个概念的一切信息:。

你可能感兴趣的:(KL散度与交叉熵)