如何解释微分熵?

机器算法验证 信息论
2022-01-20 22:30:38

我最近阅读了这篇关于离散概率分布的熵的文章。它描述了一种很好的方式,将熵视为在编码最佳时对消息进行编码所需的预期位数(至少在熵定义中使用log2

但是,当扩展到像这里这样的连续情况时,我相信这种思维方式会失效,因为对于任何连续概率分布(如果这是错误的,请纠正我),所以我想知道是否有很好的方法来思考连续熵的含义,就像离散情况一样。xp(x)=p(x)

1个回答

没有对微分熵的解释与熵一样有意义或有用。连续随机变量的问题是它们的值通常具有 0 概率,因此需要无限数量的比特来编码。

的概率来查看离散熵的极限,您最终会得到[nε,(n+1)ε[

p(x)log2p(x)dxlog2ε

而不是微分熵。这个量在某种意义上更有意义,但随着我们采用越来越小的间隔,它会发散到无穷大。这是有道理的,因为我们将需要越来越多的位来编码我们的随机值的值落在多个区间中的哪个区间。

对于连续分布,一个更有用的量是相对熵(也是 Kullback-Leibler 散度)。对于离散分布:

DKL[P||Q]=xP(x)log2P(x)Q(x).

时使用的额外位数,但我们使用位对进行编码。我们可以取相对熵的极限并得出PlogQ2(x)x

DKL[p∣∣q]=p(x)log2p(x)q(x)dx,

因为将取消。对于连续分布,这对应于在无限小的 bin 的限制中使用的额外位数。对于连续分布和离散分布,这始终是非负的。log2ε

现在,我们可以和非归一化密度之间的负相对熵p(x)λ(x)=1

p(x)log2p(x)dx=DKL[p∣∣λ].

位来编码第个间隔所需的位数差异-位。尽管前者是最优的,但这种差异现在可能是负的,因为是作弊的(通过不积分为 1),因此平均分配的位数可能比理论上可能的要少。log2nε(n+1)εp(x)dxnlogελ

有关相对熵的精彩介绍,请参阅Sergio Verdu 的演讲