entropy

from 知乎
问题背景是对一些单词进行编码。

只考虑01串,考虑到前缀性质,假如我们选择01作为一个编码,以01为前缀的串占所有串的,这些串均不能使用,即代价为
一般的,我们选择长度为L的编码,则代价为
对于出现频率较高的单词,编码可以给予的代价越大,则编码长度L越小。假如单词A出现的频率为p(x),则编码这个单词的代价为p(x),编码长度为
对所有单词,编码的平均长度为:
这种编码方式是最佳的。

交叉熵

现有一个分布p的最佳编码,用来编码另一个分布q的单词,此时平均编码长度为:

将其定义为交叉熵
交叉熵为我们提供了一种表达两种概率分布的差异的方法。p和q的分布越不相同,p相对于q的交叉熵将越大于p的熵。

KL散度

p相对q的KL散度可以定义为: