老饼讲解:一步一步上手学习
只要是玩机器学习的,都会接触到信息量这样一个概念,如果没接触到,那说明学得还太浅了,刚开始学时,我总觉得信息量很抽象,但实际它其实只是一个定义出来的指标,用于衡量事件所包含的信息的"多少"。好了,下面我们就正式的来说说信息量是什么,以及它为什么会出现在机器学习之中吧~
信息量的概念自然就来源于信息学,它就如同它的名字,就是用来衡量信息大小的一种量化指标,虽然对信息大小进行量化的指标都称为信息量,但事实上,一般所说的信息量都是指香农信息量,也就是香农(Shannon)提出的信息量化指标。

好了,我们先来看一下香农信息量的定义、计算公式,如下:
其中,:事件发生的概率
:事件所包含的香农信息量
可以看到,事件的概率,取对数、再取后,就是事件的信息量了,就是这么简单的公式。
注意,它只是一种定义,所以就不要问信息量为什么是了,就像1+1=2是定义,没有那么多为什么,反而,下面我们需要讨论的是,香农为什么要这么定义信息量,以及这样定义有什么好处。
我们知道,ln是一个单调递增函数,也就是-ln是一个单调递减函数,所以,香农信息量h(x)与事件的概率p(x)成反比,概率越小的事件,信息量就越大。

这样定义与我们现实中对信息量的理解是一致的,也就是如果一件事情发生的概率很大,那么这件事就没有多少信息量,反而,如果一件事情是小概率事件,那么这件事包含的信息量就较大。
例如有人告诉我"明天太阳会升起来",我就没能从中获得什么信息量,这事概率太大了,但如果告诉我明天天上会掉馅饼,让我早早准备好箩筐,那这件事情就有很大的信息量,会让我很惊讶。
信息被量化后,就可以用来计算了,如果没被量化,那么信息对我们还是一个很抽象的东西。
举个例子,小明告诉我,事件A的香农信息量是500,事件B的信息量是600,那我就可以比较肯定,事件B大概比事件A多了多少的信息量。小明白也可以清晰的传达他的意思,我也可以很好地理解他的意思。

香农信息量,一方面对信息给出了一个具体的量化方法,另一方面把信息的度量尺子统一化了。有了这个统一的尺子之后 ,就开始衍生出各种计算与应用了。在机器学习中,就产生了信息熵、交叉熵、KL散度等等概念。
而最大的作用是,信息量打开了信息学的大门,提供了用信息的角度来看待和思考问题。
好了,下面我们来说说,香农为什么要这样定义信息量。他对信息的量化主要有三步:
1. 确定信息是具有可量化性的。
2. 探究信息量化公式应该满足的特性。
3. 根据量化值的特性,反推出信息量的定义公式。
一个东西可量化的前提是它有大小之分,虽然信息是一个抽象的概念,但我们隐约可以感觉,信息是有大小之分的,例如“小明爱吃榴莲”显然比“小明爱吃米饭”这件事的信息量更多。既然信息有大小之分,那就自然可以量化了。
既然要把信息量化,那么,信息量应该满足什么特性呢?进一步仔细探究后,会发现信息量的大小,与事件发生的概率负相关,即知道一个越小概率发生的事件,从中所能获取到的信息量就会越大。
香农总结后,认为需要满足以下三个特性:
1. 与概率的单调相关性
从日常直觉来说,概率越小的事情,信息量应该越大,也就是说,信息量应该与事件发生的概率负单调。
2. 非负性
信息量的最小值应该为0,不能是负数。
3. 累加性
两个独立事件各自的信息量之和,需要与这两个独立事件构成的整体事件的信息量相等。
例如,"小明爱吃米饭”和“小明是小学生”的信息量之和,应该等于“小明是个爱吃米饭的小学生”
不妨用h来表示信息量,由它与概率的负单调性,可以知道,h应该有以下形式:
其中, F是负单调函数
又由于累加性,独立事件的总信息等于独立事件的信息和,可知,h应该满足:
即负单调函数应满足:
而要满足这条件的已知函数中,就只有了,于是香农用作为 ,则,信息量定义为:
更特殊地,当底数取有e时,就有:
好了,这样就得到了现在我们平常所用的香农信息量了。
从上面的推导过程,我们就知道,香农这样定义信息量的好处是:
1. 它符合日常信息量的直觉与逻辑:与概率负相关,且大于0。
2. 对于独立事件,信息量可以相加。
而且,从上面的推导过程我们也可以知道,要满足这样的特性,就只有香农信息量了。
总的来说,信息量就是用来量化一件事情包含了多少信息,而最常用的就是香农信息量,公式为h=-ln(p(x)),仅此而已。信息量最大的意义是打开了信息学的大门,为我们从信息的角度来思考、看待、计算一件事情。
评论