KL散度、JS散度以及交叉熵对比

KL散度、JS散度以及交叉熵对比在看论文 DetectingReg TemporalAnom 时 文中提到了这三种方法来比较时间序列中不同区域概率分布的差异 KL 散度 JS 散度和交叉熵三者都是用来衡量两个概率分布之间的差异性的指标 不同之处在于它们的数学表达 对于概率分布 P x 和 Q x 1 KL 散度 K

在看论文《Detecting Regions of Maximal Divergence for Spatio-Temporal Anomaly Detection》时,文中提到了这三种方法来比较时间序列中不同区域概率分布的差异。

 

KL散度、JS散度和交叉熵

三者都是用来衡量两个概率分布之间的差异性的指标。不同之处在于它们的数学表达。

对于概率分布P(x)和Q(x)

1)KL散度(Kullback–Leibler divergence)

又称KL距离,相对熵。

KL散度、JS散度以及交叉熵对比

当P(x)和Q(x)的相似度越高,KL散度越小。

KL散度主要有两个性质:

(1)不对称性

尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即D(P||Q)!=D(Q||P)。

(2)非负性

相对熵的值是非负值,即D(P||Q)>0。

 

2)JS散度(Jensen-Shannon divergence)

JS散度也称JS距离,是KL散度的一种变形。

KL散度、JS散度以及交叉熵对比

但是不同于KL主要又两方面:

(1)值域范围

JS散度的值域范围是[0,1],相同则是0,相反为1。相较于KL,对相似度的判别更确切了。

(2)对称性

即 JS(P||Q)=JS(Q||P),从数学表达式中就可以看出。

 

3)交叉熵(Cross Entropy)

在神经网络中,交叉熵可以作为损失函数,因为它可以衡量P和Q的相似性。

KL散度、JS散度以及交叉熵对比

交叉熵和相对熵的关系:

KL散度、JS散度以及交叉熵对比

 

以上都是基于离散分布的概率,如果是连续的数据,则需要对数据进行Probability Density Estimate来确定数据的概率分布,就不是求和而是通过求积分的形式进行计算了。

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

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

(0)
上一篇 2026年3月16日 下午4:52
下一篇 2026年3月16日 下午4:52


相关推荐

  • pychram安装教程

    pychram安装教程前言Pycharm社区版其实基本也够用的,但是,但是,还是想装专业版呢。一、安装pycharm1.下载安装包先去官网下载好安装包,我们这里用Windown环境的普通版就够用了https://www.jetbrains.com/pycharm/download/#section=windows2.安装后面就是一路next,跟装个QQ一样安装完成后,选择稍后重启电脑,然后去桌面打开pycharm…

    2022年8月27日
    7
  • linux添加静态路由命令_linux route add永久路由

    linux添加静态路由命令_linux route add永久路由linux下静态路由修改命令方法一:添加路由routeadd-net192.168.0.0/24gw192.168.0.1routeadd-host192.168.1.1dev192.168.0.1删除路由routedel-net192.168.0.0/24gw192.168.0.1add增加路由del删除路由-net设置到某…

    2022年10月4日
    7
  • Python正则表达式(一看就懂)

    Python正则表达式(一看就懂)哈喽O(∩_∩)O今天来发一下python正则表达式,其实这个也是比较简单的什么是正则表达式(⊙_⊙)目前越来越多的网站、编辑器、编程语言都已支持一种叫“正则表达式”的字符串查找“公式”,有过编程经验的同学都应该了解正则表达式(RegularExpression简写regex)是什么东西,它是一种字符串匹配的模式(pattern),更像是一种逻辑公式。简单说,正则表达式是python中必备的工具,主要是用来查找和匹配字符串的。正则表达式尤其在python爬虫上用的多。正则表达

    2022年7月26日
    11
  • 如何为Zotero PDF Translate插件实现豆包大模型API集成

    如何为Zotero PDF Translate插件实现豆包大模型API集成

    2026年3月12日
    1
  • pytest parametrize fixture_qtp参数化

    pytest parametrize fixture_qtp参数化前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月30日
    8
  • OpenClaw 实战案例:7 个真实自动化项目详解(2026 专业版)

    OpenClaw 实战案例:7 个真实自动化项目详解(2026 专业版)

    2026年3月12日
    2

发表回复

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

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