为什么在t-SNE目标函数中使用Kullback-Leibler发散而不是交叉熵?


Answers:


81

KL散度是衡量两个概率分布之间差异的自然方法。分布p的熵给出每条消息的最少可能的位数,这是无损编码从p提取的事件所需的(平均)。要达到此界限,将需要使用为p设计的最佳代码,该代码将较短的代码字分配给较高概率的事件。d ķ 大号p q 可以被解释为期望数目的额外从真实分布中抽取需要编码的事件每消息比特pH(p)pppDKL(pq)p,如果使用最佳代码分配而不是p。它具有一些比较分布的不错的属性。例如,如果pq相等,则KL散度为0。qppq

如果对分布q使用最佳代码,则交叉熵可以解释为编码从真实分布p提取的事件所需的(平均)每条消息的位数。注意区别:d ķ 大号p q 测量的平均数目额外每消息比特,而ħ p q 的平均数目措施每消息比特。的确,对于固定pH pH(p,q)pqDKL(pq)H(p,q)p将随着 q p越来越不同而增长。但是,如果 p不固定,则很难将 H p q 解释为差的绝对度量,因为它随 p的熵增长。H(p,q)qppH(p,q)p

KL散度和交叉熵与以下内容相关:

DKL(pq)=H(p,q)H(p)

pqp

pq

pH(p)pH(p)p

pqDKL(pq)pqjipji 是Kullback-Leibler散度(在这种情况下,它等于交叉熵,直到加法常数)。”

van der Maaten和Hinton(2008)。使用t-SNE可视化数据。


我可以以某种方式“最喜欢”的答案吗?我要保存这个,因为这是一个很好的解释
zwep

1
谢谢,很高兴对您有所帮助。您可以通过单击投票按钮下方的星形图标将问题标记为收藏夹,以保存整个话题。您可以在帐户页面上查看收藏夹列表。
user20160
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.