老饼讲解:一步一步上手学习
信息熵(information entropy)原本是信息学里的概念,但是在机器学习中也经常使用到,它是信息量的一个衍生概念,从定义来说,信息熵就是信息量的期望(也可以认为是平均信息量),而从意义来说,它一般用衡量事件的混沌性,好了,下面就让我们详细地来说说信息熵的定义、公式和它的意义与应用吧。
我们都知道,信息量就是衡量知道一件事情后,所获得的信息的多少,那信息熵是什么呢?信息熵指的是还不知道事情真相时,预估知道事件后能获得多少信息量,简单来说,信息熵就是信息量的期望。

好了,我们来正式的说说信息熵的定义,以及它的计算公式。
设有n种取值,取值为的概率为,则x的信息量期望称为信息熵。
信息熵计算公式如下:
特别地,当取为香农信息量时,就是香农信息熵。
香农信息熵公式如下:
我们来个信息熵的计算例子,这样理解起来相对会更具体一些。
假设已知一个人的性别为男、女的概率分别为:

那么对任意一个人,在知道他是男/女的时候,分别获得信息量,因此,在知道性别时获得的信息量期望(也就是信息熵)就为。
其实在我最开始接触信息熵时,我就很疑惑,明明只不过是信息量的期望,为什么要称为信息熵呢?总感觉实际意义与名称对不上号。后来才知道,这是因为热力学中用熵来描述系统的混沌,而信息熵则可以用于评估信息的混沌性。
好了,为什么信息熵会跟混沌扯上关系呢,有些同学可能反应不过来。其实细想一下就明白其中道理了。

因为一个事件,如果它已经是一个非常确定的事情,那么我们知道真相后从中获得的信息就会很少,相反,如果一件事情非常不确定,在知道真相时,我们就会从中获得很多的信息。因此,信息熵(知道真相后从事件中获得信息量的期望)越大,那么就说明事件当前越混沌。
接下来,我们再从数学公式上来看看信息熵与事件混沌性的关系。
简单起见,我们不妨假设事件x只有"发生"与"不发生"两种情况,记事件发生的概率为p(x),则信息熵为:
它的图像如下:

可以看到,当p<0.5时,随着p的增大,H也增大,当p=0.5时,H取得最大值,当p>0.5时,H随着p的增大而减小。从中可以感受到,p=0.5时,它发生与不发生的概率都一样,这时候事件是最不确定的,所以取得最大值,而随着事件偏向于"发生"或"不发生",不确定性减少,所以熵也随着减少。
信息熵其实就是知道真相后,所获得的信息量期望。而称它为熵,是因为它可以用来度量事件的混沌性,在机器学习中,常常就要用到信息熵的概念,因为机器学习很多时候就是企图借助模型来降低y的混沌性。
评论