KL散度(Kullback-Leibler_divergence)

2023-10-27 19:48

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

KL-divergence,俗称KL距离,常用来衡量两个概率分布的距离。
1. 根据shannon的信息论,给定一个字符集的概率分布,我们可以设计一种编码,使得表示该字符集组成的字符串平均需要的比特数最少。假设这个字符集是X,对x∈X,其出现概率为P(x),那么其最优编码平均需要的比特数等于这个字符集的熵:

a.当log以2为底的时候称之为 bits,结果可以视为多少个二进制位可以表示该变量
b.当log以e为底的时侯称之为 nats

2.KL divergence (KL距离)

这个值是用来衡量两个分布之间相异度的,具体来说,假设有k个状态的两个离散分布p,q,则
                         
a.如果是连续的随机变量,把∑用积分 符号替换就好了
          对上式进行转化:
            
          其中H(p,q)称为交叉熵 (cross entropy)
               
          交叉熵可以看作是当我们用模型q来编码来自模型p的变量时所需的平均bits(如果log以2为底的话)
          所以,有H(p)=H(p,p),所以KL距离就可以看做是: 用模型q来编码来自模型p的变量所需的额外bits!
          因为是“额外的”,所以 KL的距离的值一定大于0,KL=0当且仅当p=q

3.

互信息(Mutual Information)

          我们知道如果p(x,y)=p(x)p(y),则X和Y互相独立
          而衡量两个随机变量的相关性有 相关系数 ,而 互信息就是用来衡量 p(x,y)与p(x)p(y)之间的关系的
          
          其实就是借用了上面的KL距离,可以知道 
          
          另一个有用的定义是 pointwise mutual information(PMI),是对于每个点的定义
          
          可以 得知 MI值其实就是PMI值的期望
4.

④—for 连续随机变量

          上面都是 讲的离散随机变量 ,如果要变化到连续随机变量,则可以 ∑用积分 符号替换就好了
          对于连续随机变量一个有用的参数是maximal information coefficient(MIC)
          
          
          是用来告诉我们两个变量的独立性的一个系数,可以表示两个变量间的独立性
          MIC值介于[0,1],0表示两个变量互相独立,而1表示两个变量有无噪(noisy-free)的关系(不仅仅是线性关系)
一个图示说明---图片来自《Machine Learning - A Probabilistic Perspective》--
          
          左边图的 横轴是MIC,纵轴是相关系数,例如C点是相关系数接近0,MIC接近0,从右图可以看出 C的分布是没有规律的
          而H或者D图,两个变量间有很强的关系,表现为基本上的线性关系 ,其它例子自己看把

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



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

相关文章

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散度(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 Kullback−Leibler divergence),也被称为相对熵、互熵或鉴别信息,是用来衡量两个概率分布之间的差异性的度量方法。以下是对 K L KL KL散度的详细解释: 定义 K L KL

信息熵,交叉熵,相对熵,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的概率是一样的