KL散度、JS散度、Wasserstein距离[通俗易懂]

KL散度、JS散度、Wasserstein距离[通俗易懂]1.KL散度KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布P和Q差别的非对称性的度量。KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。定义如下:DKL(P//Q)=−∑x∈XP(x)log1P(x)+∑x∈XP(x)log1Q(x)DKL(…

大家好,又见面了,我是你们的朋友全栈君。

1. KL散度

KL K L 散度又称为相对熵,信息散度,信息增益。 KL K L 散度是是两个概率分布P和Q 差别的非对称性的度量。 KL K L 散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。

定义如下:

DKL(P//Q)=xXP(x)log1P(x)+xXP(x)log1Q(x) D K L ( P / / Q ) = − ∑ x ∈ X P ( x ) l o g 1 P ( x ) + ∑ x ∈ X P ( x ) l o g 1 Q ( x )



因为对数函数是凸函数,所以

KL K L
散度的值为非负数。

有时会将 KL K L 散度称为 KL K L 距离,但它并不满足距离的性质:

1. KL散度不是对称的: KL(A,B) K L ( A , B ) KL(B,A) K L ( B , A )

2. KL散度不满足三角不等式: KL(A,B) K L ( A , B ) > >
KL(A,C)+KL(C,B)

K L ( A , C ) + K L ( C , B )

2. JS散度(Jensen-Shannon)

JS J S 散度度量了两个概率分布的相似度,基于 KL K L 散度的变体,解决了KL散度非对称的问题。一般地, JS J S 散度是对称的,其取值是0到1之间。定义如下:

这里写图片描述

KL K L 散度和 JS J S 散度度量的时候有一个问题:

如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。

3. Wasserstein距离

Wasserstein W a s s e r s t e i n 距离度量两个概率分布之间的距离,定义如下:
这里写图片描述
Π(P1,P2) Π ( P 1 , P 2 ) P1 P 1 P2 P 2 分布组合起来的所有可能的联合分布的集合。对于每一个可能的联合分布γ,可以从中采样 (x,y)γ ( x , y ) ∼ γ 得到一个样本x和y,并计算出这对样本的距离||x−y||,所以可以计算该联合分布 γ γ 下,样本对距离的期望值 E(x,y)γ[||xy||] E ( x , y ) ∼ γ [ | | x − y | | ] 。在所有可能的联合分布中能够对这个期望值取到的下界 infγ i n f γ Π(P1,P2) Π ( P 1 , P 2 ) E(x,y) γ[||xy||] ∼ γ [ | | x − y | | ] 就是Wasserstein距离。

直观上可以把 E(x,y)γ[||xy||] E ( x , y ) ∼ γ [ | | x − y | | ] 理解为在 γ γ 这个路径规划下把土堆P1挪到土堆P2所需要的消耗。而 Wasserstein W a s s e r s t e i n 距离就是在最优路径规划下的最小消耗。所以 Wesserstein W e s s e r s t e i n 距离又叫Earth-Mover距离。

Wessertein距离相比KL散度和JS散度的优势在于:

即使两个分布的支撑集没有重叠或者重叠非常少,仍然能反映两个分布的远近。而JS散度在此情况下是常量,KL散度可能无意义。

转载自:
KL散度、JS散度、Wasserstein距离

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125006.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java手机编程软件_手机java编程软件下载[通俗易懂]

    java手机编程软件_手机java编程软件下载[通俗易懂]手机java编程软件安卓版是一款专为java开发人员服务的编辑客户端应用,利用手机java编程软件手机安卓版实时进行相关编辑还能进行简单的编译,运行单个小程序等,提供您的效率。功能介绍手机java编程软件安卓版是一款将openjdk中关于编译java工程的代码移植到了安卓平台。手机java编程软件手机安卓版支持添加jar格式的lib文件,并且将编译后的程序dex化,以便在安卓设备上运行。在编译和运…

    2022年7月21日
    18
  • 物业管理系统源码java_Java小区物业管理系统 源码报告下载

    物业管理系统源码java_Java小区物业管理系统 源码报告下载小学期实习就弄了个这…留作纪念.技术上突飞猛进的三周,教会了我一些做人的道理,尤其是:团队合作时的木桶效应….整个后端不是我做的,但是我还是改了好多,要不然总不可能让废柴坐那玩手机吧…其实并没有什么卵用…Bootstrap主题不错,不过里面好多文件冗余还不敢删…上传了完整的工程文件,docs目录里是部分文档…系统功能用户登录管理:这是系统的必要部分,通过它可…

    2025年11月18日
    7
  • 某次心血来潮的破解案例

    某次心血来潮的破解案例背景前面遇到一个so解密的问题,学习了一波IDA。无聊之际,买了个游戏来耍耍,突发奇想,想着尝试一些花里胡哨的东西,于是有了以下内容。逻辑分析与实现寻找对应代码实现dl

    2021年12月13日
    68
  • Java设计模式之结构型:组合模式

    Java设计模式之结构型:组合模式

    2021年10月4日
    38
  • navigator 对象_monitor对象

    navigator 对象_monitor对象Navigator接口表示用户代理的状态和标识。它允许脚本查询它和注册自己进行一些活动

    2025年10月30日
    6
  • Word2vec原理浅析及gensim中word2vec使用

    Word2vec原理浅析及gensim中word2vec使用本文转载于以下博客链接:Word2vec原理浅析:https://blog.csdn.net/u010700066/article/details/83070102;gensim中word2vec使用:https://www.jianshu.com/p/b779f8219f74如有冒犯,还望谅解!Word2vec原理浅析及tensorflow实现Word2Vec是由Google的M…

    2022年5月13日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号