1.概念理解
相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。
1.1定义
只需要稍加修改熵H的计算公式就能得到K-L散度的计算公式。设p为观察得到的概率分布,q为另一分布来近似p,则p、q的K-L散度为:
KL散度是两个概率分布P和Q差别的非对称性的度量。
也可以理解为:用一个分布来近似另一个分布(真实分布)时如何计算信息损失量了。
KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
散度并非距离: 一些同学把K-L散度看作是不同分布之间距离的度量。这是不对的,因为从K-L散度的计算公式就可以看出它不符合对称性(距离度量应该满足对称性)。比如我们可以通过观察式子可以得出:
遇到log 0 怎么办?
2.编程实现
(未完待续)
参考:(非常感谢)https://www.cnblogs.com/hxsyl/p/4910218.html
https://www.jianshu.com/p/43318a3dc715