zoukankan      html  css  js  c++  java
  • 浅谈KL散度

    浅谈KL散度

    一、总结

    一句话总结:

    (a)、相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。
    (b)、KL散度是两个概率分布P和Q差别的非对称性的度量。
    (c)、KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。

    1、相对熵的应用?

    1)、相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。
    2)、所以相对熵(KL散度)可以用于比较文本的相似度,先统计出词的频率,然后计算KL散度就行了。
    3)、另外,在多指标系统评估中,指标权重分配是一个重点和难点,通过相对熵可以处理。

    二、浅谈KL散度

    转自或参考:浅谈KL散度
    https://www.cnblogs.com/hxsyl/p/4910218.html

    一、第一种理解  

      相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。 
      KL散度是两个概率分布P和Q差别的非对称性的度量。

          KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。

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

      H(X)=∑x∈XP(x)log[1/P(x)]

      在同样的字符集上,假设存在另一个概率分布Q(X)。如果用概率分布P(X)的最优编码(即字符x的编码长度等于log[1/P(x)]),来为符合分布Q(X)的字符编码,那么表示这些字符就会比理想情况多用一些比特数。KL-divergence就是用来衡量这种情况下平均每个字符多用的比特数,因此可以用来衡量两个分布的距离。即:

      DKL(Q||P)=∑x∈XQ(x)[log(1/P(x))] - ∑x∈XQ(x)[log[1/Q(x)]]=∑x∈XQ(x)log[Q(x)/P(x)]

      由于-log(u)是凸函数,因此有下面的不等式

      DKL(Q||P) = -∑x∈XQ(x)log[P(x)/Q(x)] = E[-logP(x)/Q(x)] ≥ -logE[P(x)/Q(x)] = -  log∑x∈XQ(x)P(x)/Q(x) = 0

      即KL-divergence始终是大于等于0的。当且仅当两分布相同时,KL-divergence等于0。

      ===========================

      举一个实际的例子吧:比如有四个类别,一个方法A得到四个类别的概率分别是0.1,0.2,0.3,0.4。另一种方法B(或者说是事实情况)是得到四个类别的概率分别是0.4,0.3,0.2,0.1,那么这两个分布的KL-Distance(A,B)=0.1*log(0.1/0.4)+0.2*log(0.2/0.3)+0.3*log(0.3/0.2)+0.4*log(0.4/0.1)

      这个里面有正的,有负的,可以证明KL-Distance()>=0.

      从上面可以看出, KL散度是不对称的。即KL-Distance(A,B)!=KL-Distance(B,A)

      KL散度是不对称的,当然,如果希望把它变对称,

      Ds(p1, p2) = [D(p1, p2) + D(p2, p1)] / 2.

    二、第二种理解

      今天开始来讲相对熵,我们知道信息熵反应了一个系统的有序化程度,一个系统越是有序,那么它的信息熵就越低,反之就越高。下面是熵的定义

       如果一个随机变量的可能取值为,对应的概率为,则随机变的熵定义为

                

      有了信息熵的定义,接下来开始学习相对熵。

      1. 相对熵的认识

       相对熵又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度(即KL散度)等。设

       是取值的两个概率概率分布,则的相对熵为          

       在一定程度上,熵可以度量两个随机变量的距离。KL散度是两个概率分布P和Q差别的非对称性的度量。KL散度是

       用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q

       表示数据的理论分布,模型分布,或P的近似分布。

    2. 相对熵的性质

       相对熵(KL散度)有两个主要的性质。如下

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

           

       (2)相对熵的值为非负值,即

           

           在证明之前,需要认识一个重要的不等式,叫做吉布斯不等式。内容如下

      3. 相对熵的应用

       相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增

       大时,它们的相对熵也会增大。所以相对熵(KL散度)可以用于比较文本的相似度,先统计出词的频率,然后计算

       KL散度就行了。另外,在多指标系统评估中,指标权重分配是一个重点和难点,通过相对熵可以处理。

    三、用在CF中

      第一,KLD需要概率(脸颊和1),但是用评分。

      第二,后面两项的作用。

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    Photoshop 基础七 位图 矢量图 栅格化
    Photoshop 基础六 图层
    Warfare And Logistics UVALive
    Walk Through the Forest UVA
    Airport Express UVA
    Guess UVALive
    Play on Words UVA
    The Necklace UVA
    Food Delivery ZOJ
    Brackets Sequence POJ
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13475220.html
Copyright © 2011-2022 走看看