Kullback-Leibler散度(KL散度)

        KL散度(Kullback-Leibler divergence)是一种用来衡量两个概率分布之间的差异性的度量方法。它的本质是衡量在用一个分布来近似另一个分布时,引入的信息损失或者说误差。KL散度的概念来源于概率论和信息论中。KL散度又被称为:相对熵、互熵、鉴别信息、Kullback熵、Kullback-Leible散度(即KL散度的简写)。在机器学习、深度学习领域中,KL散度被广泛运用于变分自编码器中(Variational AutoEncoder,简称VAE)、EM算法、GAN网络中。

        通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布。KL散度帮助我们衡量在选择近似值时损失了多少信息。KL散度可以用来比较两个概率分布的相似程度,并且常常被用在概率模型比较、信息检索、数据压缩、语音识别、图像识别等领域中。

1.KL散度的定义 

 

2.使用KL散度测量丢失的信息 

        在信息论中,KL散度被称为相对熵(relative entropy)。假设有两个离散的概率分布P(x) 和 Q(x),其中 x 表示分布的取值。KL散度的定义如下:

其中\mathcal{X} 是所有可能的 x 的集合,\log 可以是以任意正数为底数的对数函数。注意到 KL 散度不具备对称性,即 \text{KL}(P|Q) 与 \text{KL}(Q|P) 的值可能不同。

KL散度可以被理解为在用 Q(x) 近似 P(x) 时,每个样本的损失。也就是说,KL散度可以度量从 Q(x)转换成P(x) 所需的额外信息量,或者说是 P(x)相对于 Q(x)的不确定性。如果两个分布相同,KL散度为零;如果两个分布差异越大,则 KL 散度越大。

        在机器学习中,KL散度常被用于比较两个概率分布,例如比较真实分布和模型预测分布之间的差异。在深度学习中,KL散度也被用于量化生成模型中生成样本和真实样本的分布之间的差异。KL散度还被用于优化深度神经网络中的训练目标,例如最大化后验概率、最小化数据重构误差等。

本质上,我们用KL散度看的是对原始分布中的数据概率与近似分布之间的对数差的期望。再说一次,如果我们考虑log2,我们可以将其解释为“我们预计有多少比特位的信息丢失”。我们可以根据期望重写公式:

查看KL散度的更常见方法如下:

​​因为

利用KL散度,我们可以精确地计算出当我们近似一个分布与另一个分布时损失了多少信息。让我们回到我们的数据,看看结果如何。

内容参考:【数学知识】KL散度 - 知乎 (zhihu.com) 

 

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值