KL散度

Attention!

我的Dr.Sure项目正式上线了,主旨在分享学习Tensorflow以及DeepLearning中的一些想法。期间随时更新我的论文心得以及想法。

Github地址:https://github.com/wangqingbaidu/Dr.Sure

CSDN地址:http://blog.csdn.net/wangqingbaidu

个人博客地址:http://www.wangqingbaidu.cn/

KL散度

相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。

KL散度是两个概率分布P和Q差别的非对称性的度量。

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

熵的定义:

H(x)=xXP(x)log(1P(x)) H ( x ) = ∑ x ∈ X P ( x ) l o g ( 1 P ( x ) )

KL散度用来衡量两个分布之间的距离:

DKL(Q|P)=xXQ(x)log(1P(x))xXQ(x)log(1Q(x)) D K L ( Q | P ) = ∑ x ∈ X Q ( x ) l o g ( 1 P ( x ) ) − ∑ x ∈ X Q ( x ) l o g ( 1 Q ( x ) )

性质

  1. 不对称性,KL散度可以看成是一种距离度量的方式,所以她并不具备对称性,即D{Q|P}≠D{P|Q}
  2. 非负性。即KL散度的值一定是非负的。

    证明一:

    利用对数和不等式或者延森不等式

    D(Q|P)=xXQ(x)log(1P(x))xXQ(x)log(1Q(x))=xXQ(x)log(P(x)Q(x)) D ( Q | P ) = ∑ x ∈ X Q ( x ) l o g ( 1 P ( x ) ) − ∑ x ∈ X Q ( x ) l o g ( 1 Q ( x ) ) = − ∑ x ∈ X Q ( x ) l o g ( P ( x ) Q ( x ) )

    D(Q|P)=E(logP(x)Q(x))logE(P(x)Q(x))=logxXQ(x)P(x)Q(x) D ( Q | P ) = − E ( l o g P ( x ) Q ( x ) ) ≥ − l o g E ( P ( x ) Q ( x ) ) = − l o g ∑ x ∈ X Q ( x ) P ( x ) Q ( x )

    由于

    xXP(x)=1 ∑ x ∈ X P ( x ) = 1

    所以

    D(Q|P)0 D ( Q | P ) ≥ 0

    证明二:

    已知

    ln(x)x1ifx1 l n ( x ) ≤ x − 1 i f x ≤ 1

    D(Q|P)=xXQ(x)log(P(x)Q(x))xXQ(x)(P(x)Q(x)1)=0 D ( Q | P ) = − ∑ x ∈ X Q ( x ) l o g ( P ( x ) Q ( x ) ) ≥ − ∑ x ∈ X Q ( x ) ( P ( x ) Q ( x ) − 1 ) = 0

    tips: 注意负号。

应用

  1. 神经网络中,存在多个并行的网络,而最后又希望并行网络输出的结果再一个相同或者相近的分布事,使用KL散度作为一个监督信息。
  2. 不同的信息源在映射到一个相同的语义空间的时候,可以引入KL散度,用来度量这两个映射的空间处于一个相同的分布。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值