KL散度(Kullback-Leibler divergence)

2024-06-16 11:52

本文主要是介绍KL散度(Kullback-Leibler divergence),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • K L KL KL散度( K u l l b a c k − L e i b l e r d i v e r g e n c e Kullback-Leibler\ divergence KullbackLeibler divergence),也被称为相对熵、互熵或鉴别信息,是用来衡量两个概率分布之间的差异性的度量方法。以下是对 K L KL KL散度的详细解释:

定义

  • K L KL KL散度用于量化使用一个概率分布来近似另一个概率分布时损失的信息量。设P(x)和Q(x)是随机变量X上的两个概率分布,KL散度的定义如下:

  • 在离散随机变量的情形下:
    K L ( P ∣ ∣ Q ) = ∑ x P ( x ) log ⁡ Q ( x ) P ( x ) KL(P||Q) = \sum_{x} P(x) \log \frac{Q(x)}{P(x)} KL(P∣∣Q)=xP(x)logP(x)Q(x)

  • 在连续随机变量的情形下:
    K L ( P ∣ Q ) = ∫ P ( x ) log ⁡ Q ( x ) P ( x ) d x KL(P|Q) = \int P(x) \log \frac{Q(x)}{P(x)} dx KL(PQ)=P(x)logP(x)Q(x)dx
    性质

  • 非负性: K L KL KL散度始终大于等于零,即 D ( P ∥ Q ) ≥ 0 D(P∥Q)≥0 D(PQ)0。当且仅当 P P P Q Q Q相等时, K L KL KL散度为零。

  • 不对称性: K L KL KL散度是非对称的,即 D ( P ∥ Q ) ≠ D ( Q ∥ P ) D(P∥Q)\neq D(Q∥P) D(PQ)=D(QP)。这是因为 K L KL KL散度是基于信息论的概念,而信息的传递方向是有区别的。

  • 不满足三角不等式: K K KL散度不满足三角不等式,即 D ( P ∥ R ) > D ( P ∥ Q ) + D ( Q ∥ R ) D(P∥R)>D(P∥Q)+D(Q∥R) D(PR)>D(PQ)+D(QR)。这是因为 K L KL KL散度不是真正的距离度量,而是一种相对信息的度量。

  • 与凸函数的关系:如果 f ( x ) f(x) f(x)是一个凸函数,那么 K L KL KL散度 D ( P ∥ Q ) D(P∥Q) D(PQ)是关于概率分布 P P P的凸函数。 应用

应用

  • 机器学习:在变分自编码器( V A E VAE VAE)、 E M EM EM算法、 G A N GAN GAN网络中都有使用 K L KL KL散度作为优化目标或衡量标准。
  • 模型拟合:通过计算模型预测分布与真实分布之间的 K L KL KL散度,可以找到最优的模型参数。
  • 图像处理:在图像分割、图像去噪等任务中, K L KL KL散度可以作为衡量不同区域或不同图像之间相似性的指标。
  • 信息检索:在信息检索系统中, K L KL KL散度可以用来衡量用户查询与搜索结果之间的相关性。

示例

  • 以标准正态分布 N ( 0 , 1 ) N(0,1) N(0,1)和一般正态分布 N ( μ , σ 2 ) N(μ,σ 2 ) N(μ,σ2)之间的 K L KL KL散度为例,计算结果为:

K L ( ( μ , σ 2 ) ∥ N ( 0 , 1 ) ) = 1 2 [ log ⁡ ( σ 2 ) + μ 2 + σ 2 − 1 ] KL((\mu, \sigma2) \parallel N(0, 1)) = \frac{1}{2} \left[ \log(\sigma2) + \mu2 + \sigma2 - 1 \right] KL((μ,σ2)N(0,1))=21[log(σ2)+μ2+σ21]

  • 这个公式可以帮助我们理解当使用一个正态分布来近似另一个正态分布时,损失了多少信息。

这篇关于KL散度(Kullback-Leibler divergence)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066397

相关文章

Fisher散度

Fisher散度(Fisher Divergence)是概率分布相似性或差异性的一种量度,它基于概率分布的对数似然函数的一阶导数(梯度)。Fisher散度是用来量化一个概率分布在参数空间的局部变化情况的,它是Fisher信息矩阵的一部分。 更具体地说,Fisher散度是指概率模型中,真实数据分布 p ( x ) p(x) p(x) 和模型分布 q θ ( x ) q_{\theta}(x) q

KL距离(衡量两个概率分布的差异情况)

KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy)。它衡量的是相同事件空间里的两个概率分布的差异情况。 KL距离全称为Kullback-Leibler Divergence,也被称为相对熵。公式为: 感性的理解,KL距离可以解释为在相同的事件空间P(x)中两个概率P(x)和Q(x)分

信息熵,交叉熵,相对熵,KL散度

熵,信息熵在机器学习和深度学习中是十分重要的。那么,信息熵到底是什么呢?   首先,信息熵是描述的一个事情的不确定性。比如:我说,太阳从东方升起。那么这个事件发生的概率几乎为1,那么这个事情的反应的信息量就会很小。如果我说,太阳从西方升起。那么这就反应的信息量就很大了,这有可能是因为地球的自转变成了自东向西,或者地球脱离轨道去到了别的地方,那么这就可能导致白天变成黑夜,热带雨林将

从概率角度出发,对交叉熵和 KL 散度进行分析和推导

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 1. 定义与推导 交叉熵(Cross Entropy) 交叉熵是一个衡量两个概率分布之间差异的指标。在机器学习中,这通常用于衡量真实标签的分布与模型预测分布之间的差异。对于两个概率分布 P P P 和 Q Q Q,其中 P P P 是真实分布, Q Q Q 是模型预测分布,交叉熵的定义为:

python ERA5 画水汽通量散度图地图:风速风向矢量图、叠加等高线、色彩分级、添加shp文件、添加位置点及备注

动机 有个同事吧,写论文,让我帮忙出个图,就写了个代码,然后我的博客好久没更新了,就顺便贴上来了! 很多人感兴趣风速的箭头怎样画,可能这种图使用 NCL 非常容易,很多没用过代码的小朋友,就有点犯怵,怕 python 画起来很困难。但是不然,看完我的代码,就会发现很简单,并且也可以批量,同时还能自定义国界等shp文件,这对于发sci等国际论文很重要,因为有时候内置的国界是有问题的。 数据 本

[机器学习] Pytorch19种损失函数理解[上]— L1、MSE、CrossEntropy、KL、BCE、BCEWithLogits loss function

损失函数通过torch.nn包实现。 文章目录 1 基本用法2 损失函数(前6种)2-1 L1范数损失 —— L1_Loss2-2 均方误差损失 —— MSELoss2-3 交叉熵损失 CrossEntropyLoss2-4 KL 散度损失 KLDivLoss2-5 二元交叉熵损失 BCELoss2-6 BCEWithLogitsLoss 1 基本用法 criterion =

【域适应】基于散度成分分析(SCA)的四分类任务典型方法实现

关于 SCA(scatter component analysis)是基于一种简单的几何测量,即分散,它在再现内核希尔伯特空间上进行操作。 SCA找到一种在最大化类的可分离性、最小化域之间的不匹配和最大化数据的可分离性之间进行权衡的表示;每一个都通过分散进行量化。  参考论文:Shibboleth Authentication Request 工具 MATLAB 方法实现 SCA变换实

KL散度交叉熵信息熵不确定性信息度量

0.起源 物理学中的热力学 熵:度量分子在物理空间中的混乱程度; 1.信息熵 信息熵: 度量信息量的多少; 以离散信息为例 离散符号:x1,x2,…,xn; 信息中各符号出现的概率:p1,p2,…,pn; 信息的不确定性函数: f: p—f(p); p越大,信息的不确定性越小,因此f是一个 减函数; 假设前提: 各符号的出现是相互独立的(与实际不符) 则:f(p1,p2)=f(p1)+f(p

KL divergence(KL 散度)详解

本文用一种浅显易懂的方式说明KL散度。 参考资料 KL散度本质上是比较两个分布的相似程度。 现在给出2个简单的离散分布,称为分布1和分布2. 分布1有3个样本, 其中A的概率为50%, B的概率为40%,C的概率为10% 分布2也有3个样本: 其中A的概率为50%,B的概率为10%,C的概率为40%。 现在想比较分布1和分布2的相似程度。 直观看上去分布1和分布2中样本A的概率是一样的

熵、交叉熵和KL散度的基本概念和交叉熵损失函数的通俗介绍

交叉熵(也称为对数损失)是分类问题中最常用的损失函数之一。但是,由于当今庞大的库和框架的存在以及它们的易用性,我们中的大多数人常常在不了解熵的核心概念的情况下着手解决问题。所以,在这篇文章中,让我们看看熵背后的基本概念,把它与交叉熵和KL散度联系起来。我们还将查看一个使用损失函数作为交叉熵的分类问题的示例。 什么是熵? 为了开始了解熵到底指的是什么,让我们深入了解信息理论的一些基础知识。在这个