K-L 散度
Posted baitian963
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K-L 散度相关的知识,希望对你有一定的参考价值。
K-L散度度量信息损失
只需要稍加修改熵H
的计算公式就能得到K-L散度
的计算公式。设p
为观察得到的概率分布,q
为另一分布来近似p
,则p
、q
的K-L散度
为:
显然,根据上面的公式,K-L散度其实是数据的原始分布p和近似分布q之间的对数差值的期望。如果继续用2
为底的对数计算,则K-L散度值表示信息损失的二进制位数。下面公式以期望表达K-L散度:
一般,K-L散度以下面的书写方式更常见:
注:log a - log b = log (a/b)
OK,现在我们知道当用一个分布来近似另一个分布时如何计算信息损失量了。接下来,让我们重新回到最开始的蠕虫牙齿数量概率分布的问题。
作者:Aspirinrin
链接:https://www.jianshu.com/p/43318a3dc715
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. KL散度
KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布P和Q 差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
定义如下:
因为对数函数是凸函数,所以KL散度的值为非负数。
有时会将KL散度称为KL距离,但它并不满足距离的性质:
- KL散度不是对称的;
- KL散度不满足三角不等式。
2. JS散度(Jensen-Shannon)
JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题。一般地,JS散度是对称的,其取值是0到1之间。定义如下:
KL散度和JS散度度量的时候有一个问题:
如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。
以上是关于K-L 散度的主要内容,如果未能解决你的问题,请参考以下文章