有关熵的几个概念 及 最大似然和交叉熵的一致性

来源:互联网 发布:js循环while偶数 编辑:程序博客网 时间:2024/06/07 07:25

随机事件的信息量

  为了描述一个随机事件的信息量,定义了自信息。
  自信息表示不确定性的程度。
  一个事件确定发生,是没有信息量的;而一个事件发生的概率越小,则其信息量越大。
  未知所带来的不确定性,就是自信息要描述的目标。
  自信息:

I(x)=logi1p(x)

  notice:这里的自信息量并不代表信息作用的大小。一般以2为基底。

  熵:自信息的期望。

H(x)=ilog21p(xi)

  所有可能情况的信息量的加权均值。(各种不确定情况的平均情况)
  同时,熵可以表示系统或者变量的混乱程度,越混乱,熵越大。均匀分布时,熵最大。
  熵在均匀分布时取得最大值,证明如下:
  已知:
H(x)=iln1p(xi),s.t.ip(xi)=1

  由拉格朗日法构造函数:
F(x)=iln1p(xi)+λ(ip(xi)1)

  分别对p(xi)λ求偏导数:
  
Fp(xi)=[ln1p(xi)+p(xi)11p(xi)1p2(xi)]+λ=lnp(xi)1+λ=0Fλ=ip(xi)1=0

  求得:
p(xi)=eλ1ip(xi)1=0=>neλ1=1=>p(xi)=1n

  得证,熵当且仅当p(xi)=1n时,存在极值,这里是极大值。
  在信息论与编码理论中,熵描述一个符号变量的可被编码的程度。

  举个例子,计算自信息和熵。
  x满足二项分布,xB(n,p=0.8), 则p(x=1)=0.8
  其自信息为I(x=1)=log213/5
  其熵为H(x)=35log2135+25log2125
  若对抽样样本,大概估计其熵和自信息。
  x1,1,1,1,0, 则自信息I(x=1)=log253
  其熵:H(x)=35log2135+25log2125

联合熵、互信息、条件熵、交叉熵、相对熵

  两个随机变量的关系,可以用交叉熵、相对熵、联合熵和互信息来描述。

  联合熵,H(X,Y):联合分布的混乱程度。

H(X,Y)=xXyYp(x,y)log211p(x,y)

  互信息,I(X,Y):两个变量相互间相互依赖程度。
I(X,Y)=xXyYp(x,y)log21p(x)p(y)p(x,y)

  条件熵,H(X|Y):联合分布基于某变量的条件下的熵
H(X|Y)=xXyYp(x,y)log21p(x,y)p(y)

  条件熵的定义:
  H(X|Y)=yYp(y)H(X|Y=y)
       =yYp(y)xXp(X=x|Y=y)log21p(X=x|Y=y)
       =yYxXp(y)p(x|y)log21p(x|y) 这里可以直接把两个加和合起来,是因为两个加和互不影响。
       =xXyYp(x,y)log21p(x|y)
       =xXyYp(x,y)log21p(x,y)p(y)
  关系推导:
  I(X,Y)=xXyYp(x,y)log21p(x)p(y)p(x,y)
       =xXyYp(x,y)log21p(x)p(x,y)+xXyYp(x,y)log21p(y)
       =xXyYp(x)p(y|x)log2p(y|x)+yYlog21p(y)[xXp(x,y)]
       =xXp(x)yYp(y|x)log21p(y|x)+yYlog21p(y)[p(y)]
       =xXp(x)H(Y|x)+H(Y)
       =H(Y|X)+H(Y)
       换个变量拆分,I(X,Y)=H(X|Y)+H(X)
  

相互间关系 : H(X,Y)=H(X|Y)+H(Y|X)+I(X,Y)
这里写图片描述

  交叉熵,CE(X,Y):两个分布的相近程度的描述。Xbase
CrossEntropy(X,Y)=p(x)log21p(y)=Ep(x)[log21p(y)]

  NOTICE, important In information theory, the cross entropy between two probability distributions p and q over the same underlying set of events measures the average number of bits needed to identify an event drawn from the set。
  相对熵,DKL(X,Y):两个分布的不对称程度的距离,也叫KL divergence
RelativeEntropy(X,Y)=p(x)log21p(y)p(x)=DKL(X,Y)

  相互间关系:
  CE(X,Y)=H(X)+DKL(X,Y)
        =p(x)log21p(y)
        =p(x)log21p(y)p(x)p(x)
        =p(x)log21p(x)+p(x)log21p(y)p(x)
        =H(X)+DKL(X,Y)
  交叉熵与相对熵的最值问题。
  H(X)是固定值,故CE(X,Y)的最值问题,也就是DKL(X,Y)的最值问题。
  证明DKL=p(x)log21p(y)p(x)的最小值是0,也即是证明:CE(X,Y)=p(x)log21p(y)的最小值是H(X)
  1)直接求证DKL=p(x)log21p(y)p(x)的最小值=0是不容易的,但是求证DKL=p(x)log2p(y)p(x)的最大值=0是容易的。
  2)借助lnxx1x>0x=1
    2.1)log2p(y)p(x)p(y)p(x)1
    2.2)=>p(x)log2p(y)p(x)p(x)[p(y)p(x)1]
    2.3)=>p(x)log2p(y)p(x)p(x)[p(y)p(x)1]=p(y)p(x)=0
  3)lnxx1的证明,可以构造F(x)=lnxx+1
  4)p(x)log2p(y)p(x)0=>DKL0=>H(X)+DKLH(X)=>CE(X,Y)H(X)

补充:交叉熵和最大似然的loss函数是一致的

  交叉熵和最大似然的loss函数是一致的,在样本所属分类是唯一的情况下。
  举例:最大似然对二分类而言:

loss=i=1mf(yi|xi)=i=1mf(yi=1|xi)yi(1f(yi=1|xi))(1yi)

  等价于:
loss=i=1m{yilog[f(yi|xi)]+(1yi)log[(1f(yi|xi))]}(1)

  交叉熵对二分类而言:
loss=i=1m{p(yi=1)logf(yi=1|xi)+p(yi=0)logf(yi=0|xi)}(2)

  对1式而言,f(yi|xi)label1yiyi=1
  对2式而言,刚好p(yi=1|xi)=1。除了符号取反,没有区别。
  两者能够和谐统一的关键点是:样本所属类别是唯一的,y=1p(y=1)=1处于同等位置,且值都是1。1既负责表示类别,又负责表示概率值 (样本一定是某一类的,似然的思想是抽样样本的概率最大化,所以每一个样本只能处于一个固定的状态。这就使得每个样本的概率形式可以写成一个综合的形式,而综合的形式呢刚好可以在log下拆分成交叉熵的样子。)
  在多类下,若样本所属类别是唯一的,最大似然的loss与交叉熵的loss仍然是一致的。
  似然函数可以写为:
  
i=1mp(yi|xi)=i=1ms=1kf(yi=labels|xi)True[yreal,ypred]

  
True[yreal,ypred]={10ypred==yrealypredyreal

  可以看到,多分类下两者仍然是一致的。

2 0