在概率论或信息论中,KL散度( Kullback–Leibler divergence),又称相对熵(relative entropy),是描述两个概率分布P和Q差异的一种方法。它是非对称的,这意味着D(P||Q) ≠ D(Q||P)。特别的,在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布。有人将KL散度称为KL距离,但事实上,KL散度并不满足距离的概念,应为:1)KL散度不是对称的;2)KL散度不满足三角不等式。对一个离散随机变量或连续的随机变量的两个概率分布P和Q来说,KL散度的定义分别如下所示。

KL散度在信息论中有自己明确的物理意义,它是用来度量使用基于Q分布的编码来编码来自P分布的样本平均所需的额外的Bit个数。而其在机器学习领域的物理意义则是用来度量两个函数的相似程度或者相近程度,在泛函分析中也被频繁地用到[2]。在香农信息论中,用基于P的编码去编码来自P的样本,其最优编码平均所需要的比特个数(即这个字符集的熵)为:

用基于P的编码去编码来自Q的样本,则所需要的比特个数变为:

于是,我们即可得出P与Q的KL散度

可以利用Jensen不等式证明P与Q之间的KL散度不小于0:

参考资料:[1] KL散度的解释,https://baike.so.com/doc/4949446-5170752.html.

[2] KL散度与Jensen不等式的理解,https://zhuanlan.zhihu.com/p/28249050.

KL散度的含义与性质相关推荐

  1. kl散度学习笔记python实现

    KL Divergence KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Rel ...

  2. 关于信息熵 ,KL散度,交叉熵,一文读懂(bushi)。

    也是看其他大佬的说法.比如这个信息熵是什么? - 知乎 大家都知道 ,对于一个概率分布,信息熵的公式是:  表示发生的概率. 定义公式我就不再赘述,已经有很多了.确实和我们的印象比较符合,一件事概率越 ...

  3. 统计学习方法--KL散度的定义和狄利克雷分布的性质

    与公众号同步更新,详细内容及相关ipynb文件在公众号中,公众号:AI入门小白 文章目录 KL散度的定义 狄利克雷分布的性质 KL散度的定义 KL散度是描述两个概率分布Q(x)Q(x)Q(x)和P(x ...

  4. 机器学习基础——香农熵、相对熵(KL散度)与交叉熵

    1. 香农熵(Shannon entropy) 信息熵(又叫香农熵)反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高. 如果一个随机变量 X 的可能取值为 X={x1,x ...

  5. KL距离,Kullback-Leibler Divergence 浅谈KL散度

    KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy).它衡量的是相同事件空间里的两个概率分 ...

  6. AI入门:通俗讲解熵、交叉熵和 KL 散度

    全文共 4351 字,23 幅图, 预计阅读时间 22 分钟. 本文被以下三份资料所启发,纯纯的致敬! [Christopher Colah] - Visual Information Theory ...

  7. 两个多元正态分布的KL散度、巴氏距离和W距离

    ©PaperWeekly 原创 · 作者 | 苏剑林 单位 | 追一科技 研究方向 | NLP.神经网络 正态分布是最常见的连续型概率分布之一.它是给定均值和协方差后的最大熵分布(参考<&quo ...

  8. 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度

    1 信息熵 熵 (Entropy),信息熵:常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据. 1.1 信息熵的性质 单调性,发生概率越高的事件,其 ...

  9. 相对熵与交叉熵_熵、KL散度、交叉熵

    公众号关注 "ML_NLP"设为 "星标",重磅干货,第一时间送达! 机器学习算法与自然语言处理出品 @公众号原创专栏作者 思婕的便携席梦思 单位 | 哈工大S ...

最新文章

  1. 字符串(string类)
  2. 9.VMware View 4.6安装与部署-connection server(View Replica Server)
  3. POJ C程序设计进阶 编程题#3:运算符判定
  4. 基于curl的php多线程类(异步请求)
  5. Using ZipLib to create a Zip File in C#
  6. 草稿--Windows消息机制
  7. Shell——echo命令
  8. css能不能实现剪切蒙版,CSS中图形剪切、遮罩功能-及使用说明
  9. Liux 五种I/O模型概念梳理,及对比
  10. Redux中的reducer到底是什么,以及它为什么叫reducer?
  11. 新品推荐∣平行光源OPT-PL系列
  12. Pop!_OS安装与配置(三):系统美化
  13. 提高软件开发效率的方法
  14. 域控服务器更新规则,由服务器升级为域控制器的方法
  15. 【学习笔记·2】FOC
  16. 微信登录流程图(转)
  17. Linux虚拟机不显示IP地址解决方法(亲测有效)
  18. 电子商务系统订单一般流程与状态的设计
  19. ToBeContinued
  20. 黄页88网站之加密字符串破解

热门文章

  1. LAMP兄弟连——PHP免费课开班了!(在线)
  2. VS2017系统找不到指定的文件
  3. node之request模块
  4. UrlRewrite.xml
  5. 移植wifi无线网卡到arm linux上全过程
  6. 来吧,展示。互联网术语
  7. 如何用 身份证OCR 接口进行快速开发
  8. ristretto255 point压缩和解压缩算法(2)——extended坐标系下
  9. 8*8点阵引脚图 行列定义
  10. 用户信息管理系统测试报告