• 更新时间:2018-07-18

前言

之前有写过一篇文章介绍信息增益、Gini、信息增益率的,上面介绍过熵及其相关概念,地址为:https://blog.csdn.net/roguesir/article/details/76619919。这篇文章从另外的角度详细介绍熵、联合熵、条件熵、互信息、相对熵、交叉熵、信息增益等信息,为后面介绍最大熵模型做铺垫。下面进行详细介绍:
【ML Method】熵、联合熵、条件熵、互信息、相对熵、交叉熵

熵的概念理解

熵(Entropy)最初在热力学中提出,后由香农引入信息论中,成为一个重要物理量,在机器学习中,经典算法如决策树、随机森林等算法都涉及熵的概念。

信息量

信息量作为信息的度量,可以用来衡量熵的定义,设 p(xi) 表示 xi 发生的概率,则信息量可以表示为:

(1)h(xi)=logap(xi)=loga1p(xi)

其中,a值常取2,表示比特,即非0即1,由此可知,信息量与概率成反比,可以理解为:事件发生概率越高,含有的信息量就越低,事件就越寻常易见。

熵的定义

熵在热力学熵用来描述物质的混乱程度,用来衡量不确定性,也就是说,物质越混乱,不确定性越大,熵值越大。
同步到信息论中,事件发生的不确定行越大,则熵越大。例如:掷骰子,六个面机会均等,因此投一次得到的点数不确定性最大(因为每个点数的概率都是六分之一),因此此时熵最大;再如:敲代码时候打错一个词,编译时出问题的概率为1,是一个确定事件,因此此时熵最小。
熵是信息量的期望,公式如下:

(2)H(X)=i=1np(xi)logap(xi)=i=1np(xi)loga1p(xi)

其中 loga1p(xi) 表示信息量,i=1np(xi)loga1p(xi) 则表示信息量的期望,反应不确定性。
定义熵时,约定确定事件的熵为0,如下:
(3)limp>0+plogap=0

概率和熵具有如下的性质:
(4)0p1  and  p=1
(5)H(X)   H(X)>1

联合熵

由上面的Venn图可知,联合熵可以表示为两个事件的熵的并集:

(6)H(X,Y)=i=1nj=1np(xi,yj)log2p(xi,yj)(7)=i=1nj=1np(xi,yj)log21p(xi,yj)
可以得到如下性质:
(8)max[H(X),H(Y)]H(X,Y)H(X)+H(Y)

条件熵

通过上述Venn图可知,条件熵实际上是联合熵与熵的差集,也可表示为熵与互信息的差集,具体如下:

(9)H(X|Y)=H(X,Y)H(Y)(10)=H(X)I(X,Y)

具体的推到过程如下:
(11)H(Y|X)=i=1np(xi)H(Y|X=xi)(12)=i=1nj=1np(xi)p(yi|xj)log2p(yi|xj)(13)=i=1nj=1np(xi,yj)log2p(xi)p(xi,yj)

互信息

上面提到了互信息,互信息是用来表示变量间相互以来的程度,常用在特征选择和特征关联性等方面,公式如下:

(14)I(X,Y)=i=1nj=1np(xi,yj)log2p(xi,yj)p(xi)p(yj)

互信息与相关性 ρ 相关, ρ 用来描述线性相关性,互信息用来描述非线性相关性,其中:
(15)ρ=cov(x,y)var(x)var(y)

相对熵(KL散度)

相对熵用来描述两个分布之间的差异,在GAN上获得了广泛应用。

(16)KL(p||q)=i=1np(xi)log2p(xi)q(xi)

其中,p,q表示两个分布,易知:
(17)KL(p||q)KL(q||p)
KL散度越大,两个分布间的差异越明显,并且:
(18)KL(p||q)0
对于式(18),可以通过如下证明:

交叉熵

交叉熵常用在深度学习中目标函数优化。

(19)CH(p,q)=i=1np(xi)log2q(xi)(20)=i=1npilog2pi+i=1npilog2pii=1npilog2qi(21)=H(p)+i=1npilog2piqi(22)=H(p)+KL(p||q)

相关文章:

  • 2021-04-17
  • 2021-11-12
  • 2021-09-10
  • 2021-04-04
  • 2021-08-10
  • 2021-07-31
  • 2021-11-25
  • 2021-08-27
猜你喜欢
  • 2021-12-08
  • 2021-05-28
  • 2021-08-27
  • 2021-12-12
  • 2021-11-11
  • 2021-11-07
相关资源
相似解决方案