KL散度、JS散度、Wasserstein距离
目录
1. KL散度
2. JS散度(Jensen-Shannon)
3. Wasserstein距离
1. KL散度
KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布 P 和 Q 之间差别的非对称性的度量。 KL散度是用来 度量使用基于 Q 的编码来编码来自 PP 的样本平均所需的额外的位元数。 典型情况下,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。梯度消失了。
3. Wasserstein距离
Wasserstein距离度量两个概率分布之间的距离,定义如下:
KL散度、JS散度、Wasserstein距离相关推荐
- KL,JS,Wasserstein距离
最近在学GAN和WGAN,遇到了KL散度,JS散度,Wasserstein距离(又叫EM距离)三个衡量概率分布相似度的度量方法.虽然之前也有接触KL,但是为了以后查找方便,还是决定做个记录总结. 本博 ...
- KL divergence,JS divergence,Wasserstein distance是什么
文章目录 前言 KL divergence JS divergence Wasserstein distance 总结 前言 这三个东西都可以用来两个分布的差异.其中三最难,其本身是来自另外的领域,如 ...
- 信息量、熵、交叉熵、KL散度、JS散度、Wasserstein距离
信息量.熵.交叉熵.KL散度.JS散度 文章目录 信息量.熵.交叉熵.KL散度.JS散度 前言 一.信息量 二.熵 三.交叉熵 四.KL散度 五.JS散度 六. Wasserstein距离 1.解决的 ...
- KL散度、JS散度与wasserstein距离
KL散度 KL散度又称为相对熵,信息散度,信息增益.公式定义如下: KL散度可称为KL距离,但它并不满足距离的性质: (1)KL散度不是对称的: (2)KL散度不满足三角不等式. JS散度 JS散度度 ...
- 交叉熵、相对熵(KL散度)、JS散度和Wasserstein距离(推土机距离)
目录: 信息量 熵 相对熵(KL散度) 交叉熵 JS散度 推土机理论 Wasserstein距离 WGAN中对JS散度,KL散度和推土机距离的描述 信息量: 任何事件都会承载着一定的信息量,包括已经发 ...
- python衡量数据分布的相似度/距离(KL/JS散度)
背景 很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特征(在两 ...
- 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
1 信息熵 熵 (Entropy),信息熵:常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据. 1.1 信息熵的性质 单调性,发生概率越高的事件,其 ...
- 信息量、熵、交叉熵、KL散度、JS散度杂谈
信息量.熵.交叉熵.KL散度.JS散度杂谈 信息量 任何事件都会承载着一定的信息量,包括已经发生的事件和未发生的事件,只是它们承载的信息量会有所不同.如昨天下雨这个已知事件,因为已经发生,既定事实,那 ...
- KL/JS散度及Python实现
1. KL散度与JS散度的公式与代码的简要实现 import numpy as np import scipy.stats as ss np.random.seed(42)# 随机生成:两个离散分布 ...
- WGAN的成功,可能跟Wasserstein距离没啥关系
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 WGAN,即 Wasserstein GAN,算是 GAN 史上一个比较重要的理论突破结果,它将 GAN ...
最新文章
- device not ready cuda
- python break
- python在哪里写程序和运行-如何编写和运行Python程序
- php mvc开发系列教程第三节 Controller 类实现
- 02 如何使用Git
- Oracle数据库表空间占用过大的解决办法
- python从date目录导入数据集_使用python划分数据集
- 如何用python制作动画的软件_大牛Python程序员制作3D动态可视化教程
- 乒乓球十一分制比赛规则_乒乓球竞赛规则 赛制和比赛规则
- html5学习之路_003
- thinkcmf ajax,thinkcmfx 中如何用jquery ajax提交数据,自己尝试去做之后,还是没法提交,求助!...
- Facebook研究院院长:AI不会取代人类
- 一个意想不到的CDO.Message 错误
- 【机房收费系统C#版】——导出Excel
- OD点击寄存器变色OD
- SpreadJS V14.2.0 放假前Crack
- 由浅入深了解统计机器翻译模型
- HBuild——创建表格
- 安卓利用谷歌文字转语音引擎实现离线文字播报语音
- 2016年求职找工作千万小心这些求职陷阱