我是靠谱客的博主 会撒娇铃铛,最近开发中收集的这篇文章主要介绍通俗易懂——信息熵,条件熵,互信息和相对熵1 信息熵2 条件熵3 互信息4 相对熵(KL散度)5 交叉熵,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 1 信息熵
  • 2 条件熵
  • 3 互信息
  • 4 相对熵(KL散度)
  • 5 交叉熵

  1948年,香农在著名的论文“通信的数学原理”中首次提出了熵(Entropy)的概念,这也解决了信息的度量问题,并量化了信息的作用。

1 信息熵

  一条信息的信息量的多少,在直观上我们认为是和内容的多少有关,科学一点讲就是与不确定性有关,信息的不确定性越强,携带的信息量就越多。如果对于一件事一无所知,则这件事对于我们而言就具有极大的信息量,反之信息就极少。我们考虑以下一个问题:

  • 在2014年的世界杯,32支球队参加了决赛,如果我们没有看世界杯,朋友也不直接告诉我们谁嬴得了冠军,通过猜的方式,我们需要几次才可以得到正确答案?(假设是7号得到冠军)

在最差的情况下,我们需要猜测五次。
1.冠军在1-16号球队? yes
2. 冠军在1-8号球队? yes
3. 冠军在1-4号球队? no
4. 冠军在5-6号球队?no
5. 冠军在7号球队?yes

  所以对于谁是冠军这条信息而言,他的信息量为5,在信息里面,单位是比特(Bit)。如果是64只球队,那我们就需要多猜一次,需要6次得到答案,我们发现了信息的多少取决于log函数。
l o g 2 32 = 5 , l o g 2 64 = 6 log_232=5, log_264=6 log232=5,log264=6

  当然这是最差的情况下,我们需要5次才能猜出,在实际生活中,如果我们知道里面有巴西,德国等等强队,我们可能只需要3-4次就可以猜出来。这是因为引入了我们的先验知识,即各个球队夺冠的概率。记为 P i P_i Pi。所以香农基于此提出了准确的信息量的度量——信息熵。
H ( X ) = − ∑ p i l o g ( p i ) H(X)=-sum p_ilog(p_i) H(X)=pilog(pi)
  当所有球队的获胜概率一样时,信息量最大,不确定性越大,即最难猜出来。

2 条件熵

  一直以来,信息和不确定性是联系在一起的,而信息和情报的英文表示都是information,情报是为了消除消息的不确定性,比如战争上的一句话的情报都可以改变战场。

  一个事物X本身具有不确定性,记作U,为了消除这种不确定性,我们从外部引入信息I,当引入的信息I>U的时候,就可以事物的不确定性。当I<U时,就消除一部分的不确定性,得到新的不确定性 U ′ = U − I U'=U-I U=UI

  假设X,Y时两个随机变量,对于信息X,他的信息熵已经固定。随后我们知道了外部信息Y的情况,定义条件熵(conditional entropy)为:Y条件下X的条件概率分布的熵对Y的数学期望:

H ( X ∣ Y ) = ∑ y p ( y ) H ( X ∣ Y = y ) 进 一 步 推 导 : = − ∑ y p ( y ) ∑ x p ( x ∣ y ) l o g ( p ( x ∣ y ) ) = − ∑ y ∑ x p ( x , y ) l o g ( p ( x ∣ y ) ) = − ∑ x , y p ( x , y ) l o g P ( x ∣ y ) begin{aligned} H(X|Y)=&sum_{y}p(y)H(X|Y=y)\ 进一步推导: =&-sum_yp(y)sum_xp(x|y)log(p(x|y))\ =&-sum_ysum_xp(x,y)log(p(x|y))\ =& -sum_{x,y} p(x,y)logP(x|y) \ end{aligned} H(XY)====yp(y)H(XY=y)yp(y)xp(xy)log(p(xy))yxp(x,y)log(p(xy))x,yp(x,y)logP(xy)

另一个角度, H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y)=H(X,Y)-H(Y) H(XY)=H(X,Y)H(Y)

H ( X , Y ) − H ( Y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ y p ( y ) log ⁡ p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ y ( ∑ x p ( x , y ) ) log ⁡ p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ x , y p ( x , y ) log ⁡ p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x ∣ y ) begin{aligned} &H(X, Y)-H(Y) \ &=-sum_{x, y} p(x, y) log p(x, y)+sum_{y} p(y) log p(y) \ &=-sum_{x, y} p(x, y) log p(x, y)+sum_{y}left(sum_{x} p(x, y)right) log p(y) \ &=-sum_{x, y} p(x, y) log p(x, y)+sum_{x, y} p(x, y) log p(y) \ &=-sum_{x, y} p(x, y) log frac{p(x, y)}{p(y)} \ &=-sum_{x, y} p(x, y) log p(x mid y) end{aligned} H(X,Y)H(Y)=x,yp(x,y)logp(x,y)+yp(y)logp(y)=x,yp(x,y)logp(x,y)+y(xp(x,y))logp(y)=x,yp(x,y)logp(x,y)+x,yp(x,y)logp(y)=x,yp(x,y)logp(y)p(x,y)=x,yp(x,y)logp(xy)

  可以证明得到H(X)>=H(X|Y),也就是说,引入了信息Y之后,X的信息熵变小了,即X的不确定性变小了。如果当X和Y完全没有任何关系的时候,等号依旧成立,说明引入外部信息Y没有丝毫意义。

总结:信息的作用在于消除不确定性,NLP问题就是寻找相关的信息。

3 互信息

  在条件熵中我们发现了相关的信息可以消除不确定性,所以需要一个度量“相关性”的变量。也就是下文的互信息。定义:
I ( X ; Y ) = ∑ x , y P ( x , y ) l o g P ( x , y ) P ( x ) P ( y ) I(X;Y)=sum_{x,y} P(x,y)log frac {P(x,y)}{P(x)P(y)} I(X;Y)=x,yP(x,y)logP(x)P(y)P(x,y)
即是: I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y)=H(X)-H(X|Y) I(X;Y)=H(X)H(XY)
当x和y完全不相关时, I ( X ; Y ) = 0 I(X;Y)=0 I(X;Y)=0

  互信息用来度量两个事件的相关性后,用在了NLP机器翻译问题中,在机器翻译中,最难解决的问题之一就是词的歧义性,比如Bush既是“布什总统”的名字,也是“灌木丛”,产生了歧义,在机器翻译中,可以通过互信息,如果Bush和白宫,总统,美国等词出现了较高的互信息,就翻译为布什;如果和草地,地面,植物等词有较高的互信息,就翻译为灌木丛。这是20世纪90年代宾夕法尼亚大学的雅让斯基博士生提出的解决方法,也让他三年就拿到了博士学位。

4 相对熵(KL散度)

  相对熵也用来衡量相关性,和互信息不同的是,它用来衡量取值为正数的相似性。
K L ( f ( x ) ∣ ∣ g ( x ) ) = ∑ x f ( x ) ⋅ l o g f ( x ) g ( x ) KL(f(x)||g(x))=sum_x f(x)cdot logfrac{f(x)}{g(x)} KL(f(x)g(x))=xf(x)logg(x)f(x)

  我们不必关注公式的本身,只需要记住下面三条结论即可:

  1. 对于完全相同的函数,相对熵为0
  2. 相对熵越大,两个函数之间的差异越大,反之成立。
  3. 对于概率分布或者概率密度函数,取值均>0时,相对熵可以度量两个随机分布的差异性

  此外,相对熵并不是对称的: K L ( f ( x ) ∣ ∣ g ( x ) ) ≠ K L ( g ( x ) ∣ ∣ f ( x ) ) KL(f(x)||g(x))neq KL(g(x)||f(x)) KL(f(x)g(x))=KL(g(x)f(x))

  为了对称,詹森和香农提出了新的计算公式:
J S ( f ( x ) ∣ ∣ g ( x ) ) = 1 2 [ K L ( f ( x ) ∣ ∣ g ( x ) ) + K L ( g ( x ) ∣ ∣ f ( x ) ) ] JS(f(x)||g(x))=frac 12[KL(f(x)||g(x))+KL(g(x)||f(x))] JS(f(x)g(x))=21[KL(f(x)g(x))+KL(g(x)f(x))]

5 交叉熵

对相对熵的公式进行变形:
在这里插入图片描述
进一步得到交叉熵的公式:
H ( p , q ) = − ∑ p l o g ( q ) H(p,q)=-sum plog(q) H(p,q)=plog(q)

可以衡量两个概率分布p.q之间的相似程度,交叉熵越小,两个概率分布就越接近,所以可以当作分类问题的损失函数。

最后

以上就是会撒娇铃铛为你收集整理的通俗易懂——信息熵,条件熵,互信息和相对熵1 信息熵2 条件熵3 互信息4 相对熵(KL散度)5 交叉熵的全部内容,希望文章能够帮你解决通俗易懂——信息熵,条件熵,互信息和相对熵1 信息熵2 条件熵3 互信息4 相对熵(KL散度)5 交叉熵所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部