美文网首页
KL散度与交叉熵

KL散度与交叉熵

作者: 剑侠飞蓬 | 来源:发表于2022-08-23 19:05 被阅读0次

    最短编码

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

    不等式

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

    交叉熵

    公式含有这个概念的一切信息:-\sum_xp(x)log_2q(x)

    相关文章

      网友评论

          本文标题:KL散度与交叉熵

          本文链接:https://www.haomeiwen.com/subject/tkpggrtx.html