有关熵的几个概念 及 最大似然和交叉熵的一致性
2017-05-06 12:23
183 查看
随机事件的信息量
为了描述一个随机事件的信息量,定义了自信息。自信息表示不确定性的程度。
一个事件确定发生,是没有信息量的;而一个事件发生的概率越小,则其信息量越大。
未知所带来的不确定性,就是自信息要描述的目标。
自信息: 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)和λ求偏导数: ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪∂F∂p(xi)=[ln1p(xi)+p(xi)∗11p(xi)∗−1p2(xi)]+λ=−lnp(xi)−1+λ=0∂F∂λ=∑ip(xi)−1=0 求得: ⎧⎩⎨⎪⎪p(xi)=eλ−1∑ip(xi)−1=0=>neλ−1=1=>p(xi)=1n 得证,熵当且仅当p(xi)=1n时,存在极值,这里是极大值。
在信息论与编码理论中,熵描述一个符号变量的可被编码的程度。
举个例子,计算自信息和熵。
x满足二项分布,x∼B(n,p=0.8), 则p(x=1)=0.8
其自信息为I(x=1)=log213/5
其熵为H(x)=35log2135+25log2125
若对抽样样本,大概估计其熵和自信息。
x∈1,1,1,1,0, 则自信息I(x=1)=−log253
其熵:H(x)=35log2135+25log2125
联合熵、互信息、条件熵、交叉熵、相对熵
两个随机变量的关系,可以用交叉熵、相对熵、联合熵和互信息来描述。联合熵,H(X,Y):联合分布的混乱程度。 H(X,Y)=∑x∈X∑y∈Yp(x,y)log211p(x,y) 互信息,I(X,Y):两个变量相互间相互依赖程度。I(X,Y)=∑x∈X∑y∈Yp(x,y)log21p(x)p(y)p(x,y) 条件熵,H(X|Y):联合分布基于某变量的条件下的熵H(X|Y)=∑x∈X∑y∈Yp(x,y)log21p(x,y)p(y) 条件熵的定义:
H(X|Y)=∑y∈Yp(y)∗H(X|Y=y)
=∑y∈Yp(y)∗∑x∈Xp(X=x|Y=y)log21p(X=x|Y=y)
=∑y∈Y∑x∈Xp(y)∗p(x|y)log21p(x|y)
这里可以直接把两个加和合起来,是因为两个加和互不影响。
=∑x∈X∑y∈Yp(x,y)log21p(x|y)
=∑x∈X∑y∈Yp(x,y)log21p(x,y)p(y)
关系推导:
I(X,Y)=∑x∈X∑y∈Yp(x,y)log21p(x)p(y)p(x,y)
=∑x∈X∑y∈Yp(x,y)log21p(x)p(x,y)+∑x∈X∑y∈Yp(x,y)log21p(y)
=∑x∈X∑y∈Yp(x)p(y|x)log2p(y|x)+∑y∈Ylog21p(y)[∑x∈Xp(x,y)]
=−∑x∈Xp(x)∑y∈Yp(y|x)log21p(y|x)+∑y∈Ylog21p(y)[p(y)]
=−∑x∈Xp(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):两个分布的相近程度的描述。X作为base分布 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)借助lnx≤x−1,其中x>0,当且仅当x=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)lnx≤x−1的证明,可以构造F(x)=lnx−x+1,求导根据倒数性质,得到单调性及最值。
4)−∑p(x)log2p(y)p(x)≥0=>DKL≥0=>H(X)+DKL≥H(X)=>CE(X,Y)≥H(X)
补充:交叉熵和最大似然的loss函数是一致的
交叉熵和最大似然的loss函数是一致的,在样本所属分类是唯一的情况下。举例:最大似然对二分类而言: loss=∏i=1mf(yi|xi)=∏i=1mf(yi=1|xi)yi(1−f(yi=1|xi))(1−yi) 等价于:loss=∑i=1m{yilog[f(yi|xi)]+(1−yi)log[(1−f(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)表示的是预测label为1的概率,且用yi表示yi=1
对2式而言,刚好p(yi=1|xi)=1。除了符号取反,没有区别。
两者能够和谐统一的关键点是:样本所属类别是唯一的,y=1与p(y=1)=1处于同等位置,且值都是1。1既负责表示类别,又负责表示概率值 (样本一定是某一类的,似然的思想是抽样样本的概率最大化,所以每一个样本只能处于一个固定的状态。这就使得每个样本的概率形式可以写成一个综合的形式,而综合的形式呢刚好可以在log下拆分成交叉熵的样子。)
在多类下,若样本所属类别是唯一的,最大似然的loss与交叉熵的loss仍然是一致的。
似然函数可以写为: ∏i=1mp(yi|xi)=∏i=1m∏s=1kf(yi=labels|xi)True[yreal,ypred] True[yreal,ypred]={10ypred==yrealypred≠yreal
可以看到,多分类下两者仍然是一致的。
相关文章推荐
- 操作系统中和时间的有关的几个概念:吞吐率(流水线完成时间)、平均周转时间和平均带权周转时间、最高响应比优先
- 图像处理有关的几个概念、结构和类
- C++中与多态有关的几个概念
- 有关信道的几个基本概念
- 内存的分区及有关内存的几个概念
- 与构架有关的几个基本概念
- 《UNIX网络编程》思考1---有关socket的几个重要概念
- 与频谱有关的几个谱的概念
- [ZT]有关电源的几个与功率相关的概念
- VC++和VC++.NET中与图像处理有关的几个概念、结构和类
- VC++和VC++.NET中与图像处理有关的几个概念、结构和类
- 有关手机屏幕的几个概念
- 【C++基础概念】有关指针、引用的几个问题
- 有关TS的几个概念
- C++:与字符串常量有关的几个重要概念string literal, string, C-style charater string
- 有关CPU DSP MCU MPU的几个概念
- 有关手机屏幕的几个概念
- VC++和VC++.NET中与图像处理有关的几个概念、结构和类
- 与构架有关的几个基本概念
- 几个有关FPGA的概念(http://www.mcu123.com/news/Article/fpga/FPGA/200607/12.html)