机器学习笔记十:各种熵总结

2022/1/11 23:08:51

本文主要是介绍机器学习笔记十:各种熵总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.什么是熵
Ⅰ.信息量
首先考虑一个离散的随机变量x,当我们观察到这个变量的一个具体值的时候,我们接收到多少信息呢?
我们暂时把信息看做在学习x的值时候的”惊讶程度”(这样非常便于理解且有意义).当我们知道一件必然会发生的事情发生了,比如往下掉的苹果.我们并不惊讶,因为反正这件事情会发生,因此可以认为我们没有接收到信息.但是要是一件平时觉得不可能发生的事情发生了,那么我们接收到的信息要大得多.因此,我们对于信息内容的度量就将依赖于概率分布p(x).
因此,我们想要寻找一个函数h(x)来表示信息的多少且是关于概率分布的单调函数.我们定义:

 

 我们把这个公式叫做信息量的公式,前面的负号确保了信息一定是正数或者是0.(低概率事件带来高的信息量). 

函数如下图所示

 

 


补充:上面是以2为对数的底,实际上,这个底是能够是其他的数字的.常用的是2和e这两个底.底是2的时候,单位为bit..底是e的时候,单位为nat.

有时候有人也叫做自信息(self-information),一个意思啦。可以推广一下下。
联合自信息量:

 

 


条件自信息量:

 

 


通俗一点来说的话,就是概率论中很简单的推广就行了。有概率基础的话,这个很容易理解。这里因为实际上面使用二维的更多一点就以二维为例子,推广到多维的话也是可以的。

Ⅱ.熵
熵(entropy):上面的Ⅰ(x)是指在某个概率分布之下,某个概率值对应的信息量的公式.那么我们要知道这整个概率分布对应的信息量的平均值.这个平均值就叫做随机变量x的熵
如下面公式:

 

 


这个公式的意思就是,随机变量x是服从p这个分布的,也就是在在p分布下面的平均自信息。也就得到了信息熵。信息熵的本质可以看做是某个分布的自信息的期望。

注意:
1.熵只依赖于X的分布,与X的取值无关,因此服从某个分布的X的熵也可以等价于这个分布的熵.
2.定义0log0=0(因为可能出现某个取值概率为0的情况)
3.熵越大,随机变量的不确定性就越大(因为之前说了,越是不确定,信息量就越大,要是平均信息量很大,那么也可以代表这个变量的不确定性越大)

这里举个例子感受一下:设X服从0-1分布,即

 

 


则熵为

 

 


上面的计算是对于一个离散型的随机变量(分布)来做的,无非就是把所有的概率都得到,分别求出自信息然后相加就行了。很简单,别想得太多。
代码:

 

 


结果:

 

 


从图中可以知道:

1.当p=0或者p=1的时候,随机变量可以认为是没有不确定性.
2.当p=0.5的时候,H(p)=1,随机变量的不确定性最大.

那么“仿照”之前的信息量的公式,可以推广一下下啦。
假设一个概率分布有两个随机变量决定。其中x有n种取值,y有m种取值。那么可以得到一个nxm的联合概率分布的表。那么有:
复合熵(联合熵):

 

 


同样,复合熵的公式还可以推广到连续变量和多个变量的情况。这里就不写了。

条件熵:

 

 


上面这个公式可能有点难以理解,不知道这个公式是怎么来的。举一个例子来说明一下:
如果以x表示学生体重,以y表示身高,以 p(x∣y)表示身高为某个特定的y时的体重为x的概率,把熵公式用到这个特殊情况得到是熵显然应当是

 

 


上面得到的计算公式是针对y为一个特殊值y时求得的熵。考虑到y会出现各种可能值,如果问已知学生身高时(不特指某一身高,而是泛指身高已经知道)的体重的熵(不确定程度),它应当是把前面的公式依各种y的出现概率做加权平均,那么就可以得到上面的条件熵的公式。

Ⅲ.变形总结
进过上面的之后,应该对于信息量和信息熵的几个公式有了了解。然后那几个公式还可以变形为一些常用的公式。这里总结一下
首先要先介绍一下条件分布的乘法定理,可能有人已经忘记了:

 

 


大家都学过,所以就不啰嗦了。
然后把之前条件熵式子使用上面这个公式改写一下,可以写为:

 

 


当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到的时候,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)

上面的式子表明,只要你能够得到联合分布和y的分布就能够求出条件熵了。事实上,还能够更加简化成为常见的形式:
这里利用上面的公式(以离散型为例子)直接推导,有

 

 


这个公式是不是简洁很多很多。只要知道联合信息熵和其中一个分量的信息熵,就能够求出条件信息熵来。
证明: 

 

 

 

 



同样,如果求x已知时y的条件熵,显然也会得到类似的公式:

 

 


那么两个公式何并,就能够得到:

 

 

这个公式把复合熵、条件熵以及熵联系到一起了。它们也显示了熵的对称性。

二.相对熵
相对熵又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度(即KL散度)等。
设p(x)和q(x)是取值的两个概率概率分布,则p对q的相对熵为:

 

 


在一定程度上面,相对熵可以度量两个随机变量的距离。也常常用相对熵来度量两个随机变量的距离。当两个随机分布相同的时候,他们的相对熵为0,当两个随机分布的差别增大的时候,他们之间的相对熵也会增大。
但是事实上面,他并不是一个真正的距离。因为相对熵是不具有对称性的,即一般来说

 

 


相对熵还有一个性质,就是不为负。

 

 


三.互信息
互信息(Mutual Information)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不确定性。
两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵。

 

 


那么互信息有什么更加深层次的含义呢?首先计算一个式子先:

 

 


从这个公式可以知道,X的熵减去X和Y的互信息之后,可以得到在Y给定的情况下X的熵。

四.总结

 

 

————————————————
版权声明:本文为CSDN博主「谢小小XH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xierhacker/article/details/53463567



这篇关于机器学习笔记十:各种熵总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程