ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

KL散度(Divergence)

2021-10-02 09:31:47  阅读:429  来源: 互联网

标签:xi log 信息量 sum Divergence 散度 KL DKL


一、信息量

首先我们要懂信息量的概念,任何一个事件都会承载一个信息量。当一件事情发生的概率很高时,他承载的信息量就越少,例如“1+1=2”这个事情我们是已知的,所以当别人告诉我们这件事时我们不能获取任何信息,即信息量为0,但是”中国足球世界杯夺冠”这件事给我们的信息量是巨大的,我们将离散型随机变量 X X X包含的信息量如下表示:

设 X X X是一个离散型随机变量,概率分布 P = p ( X = x i ) P=p(X=x_i) P=p(X=xi​),则定义事件 X = x i X=x_i X=xi​的信息量为: I ( x i ) = − l o g ( p ( x i ) ) I(x_i)=-log(p(x_i)) I(xi​)=−log(p(xi​))

二、信息熵

信息量是单个事件发生的情况下我们所获得的信息量,当然一个离散型随机变量 X X X包含不止一个事件,我们将其全部列出,得到所有可能发生的事件的信息量的期望,这个期望就是信息熵。数学表达如下所是:

假设 X X X是一个离散型随机变量,且有 n n n种可能性,发生 x i x_i xi​事件的概率为 p ( x i ) p(x_i) p(xi​),则 X X X的信息熵为: H ( X ) = − ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) H(X)=-\sum_{i=1}^{n}p(x_i)log(p(x_i)) H(X)=−∑i=1n​p(xi​)log(p(xi​))

特别的,对于二项分布的问题(0-1分布),信息熵的计算如下:

H ( X ) = − ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) = − p ( x ) l o g ( p ( x ) ) − ( 1 − p ( x ) ) l o g ( 1 − p ( x ) ) H(X)=-\sum_{i=1}^{n}p(x_i)log(p(x_i))=-p(x)log(p(x))-(1-p(x))log(1-p(x)) H(X)=−i=1∑n​p(xi​)log(p(xi​))=−p(x)log(p(x))−(1−p(x))log(1−p(x))

三、KL散度(相对熵)

D K L ( p ∣ ∣ q ) = ∑ i = 1 N [ p ( x i ) l o g p ( x i ) − p ( x i ) l o g q ( x i ) ] D_{KL}(p||q)=\sum_{i=1}^{N}[p(x_i)log{p(x_i)}-p(x_i)log{q(x_i)}] DKL​(p∣∣q)=i=1∑N​[p(xi​)logp(xi​)−p(xi​)logq(xi​)]

对于同一个随机变量 X X X,有两个单独的概率分布 P ( x )   a n d   Q ( x ) P(x) ~and ~Q(x) P(x) and Q(x),用KL散度来衡量这两个分布的差异。

通常情况下: P ( x ) P(x) P(x)表示真实分布, Q ( x ) Q(x) Q(x)表示模型所预测的分布,KL散度用来计算两个分布的差异,即 D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q)=\sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL​(p∣∣q)=∑i=1n​p(xi​)log(q(xi​)p(xi​)​),公式表示当 Q Q Q的分布越来越接近 P P P(即 Q Q Q的分布拟合 P P P)时,散度越小,损失值越小

KL散度不具有对称性,即分布 P P P到分布 Q Q Q的距离不等于分布 Q Q Q到分布 P P P的距离 D K L ( P ∣ ∣ Q ) ≠ D K L ( Q ∣ ∣ P ) D_{KL}(P||Q)\neq D_{KL}(Q||P) DKL​(P∣∣Q)​=DKL​(Q∣∣P)KL散度非负

KL非负证明:

要证: D K L ( p ∣ ∣ q ) = ∑ i = 1 N [ p ( x i ) l o g p ( x i ) − p ( x i ) l o g q ( x i ) ] ⩾ 0 D_{KL}(p||q)=\sum_{i=1}^{N}[p(x_i)log{p(x_i)}-p(x_i)log{q(x_i)}]\geqslant 0 DKL​(p∣∣q)=∑i=1N​[p(xi​)logp(xi​)−p(xi​)logq(xi​)]⩾0

即证: ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) ⩽ 0 \sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)})\leqslant 0 ∑i=1n​p(xi​)log(q(xi​)p(xi​)​)⩽0

又: l n ( x ) ⩽ x − 1 ln(x)\leqslant x-1 ln(x)⩽x−1,当且仅当 x = 1 x=1 x=1时等号成立

故: ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) ⩽ ∑ i = 1 n p ( x i ) ( p ( x i ) q ( x i ) − 1 ) = ∑ i = 1 n [ p ( x i ) − q ( x i ) ] = 0 \sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)})\leqslant \sum_{i=1}^{n}p(x_i)(\frac{p(x_i)}{q(x_i)}-1)=\sum_{i=1}^{n}[p(x_i)-q(x_i)]=0 ∑i=1n​p(xi​)log(q(xi​)p(xi​)​)⩽∑i=1n​p(xi​)(q(xi​)p(xi​)​−1)=∑i=1n​[p(xi​)−q(xi​)]=0

四、交叉熵

H ( p , q ) = H ( p ) + D K L ( p ∣ ∣ q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H(p,q)=H(p)+D_{KL}(p||q)=-\sum_{i=1}^{n}p(x_i)log(q(x_i)) H(p,q)=H(p)+DKL​(p∣∣q)=−i=1∑n​p(xi​)log(q(xi​))

由于交叉熵和相对熵之间仅差了一个信息熵,而信息熵又是一个确定的值,因此可以直接用交叉熵作为Loss进行反向传播

标签:xi,log,信息量,sum,Divergence,散度,KL,DKL
来源: https://blog.csdn.net/weixin_41978699/article/details/120583296

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有