1,信息熵定义
熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。
在信息论里则叫信息量,即熵是对不确定性的度量。从控制论的角度来看,应叫不确定性。信息论的创始人香农在其著作《通信的数学理论》中提出了建立在概率统计模型上的信息度量。他把信息定义为“用来消除不确定性的东西”。在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。
当我们不知道某事物具体状态,却知道它有几种可能性时,显然,可能性种类愈多,不确定性愈大。不确定性愈大的事物,我们最后确定了、知道了,这就是说我们从中得到了愈多的信息,也就是信息量大。所以,熵、不确定性、信息量,这三者是同一个数值。
两种可能性:最简单的是只有两种可能性,非此即彼,我们就以这种事物的信息量为单位,叫1比特(bit)。
4种可能性:用二分法,分为2组,我们要非此即彼地确定2次,才能确定其状态,所以含有2比特信息量。
如果可能性数目有2的n次方(N=2^n):那就是n比特,即信息量等于可能性数目N的‘以2为底的对数’:H=㏒2(N)=㏒(N)/㏒(2)。后一个等号说明,以2为底的对数㏒2可用普通对数㏒(以10为底)来计算,即用N的普通对数除2的普通对数。N=3种可能性时,信息量H=㏒(3)/㏒(2)=1.585
如果有一枚理想的硬币,其出现正面和反面的机会相等,则抛硬币事件的熵等于其能够达到的最大值。我们无法知道下一个硬币抛掷的结果是什么,因此每一次抛硬币都是不可预测的。因此,使用一枚正常硬币进行若干次抛掷,这个事件的熵是一比特,因为结果不外乎两个——正面或者反面,可以表示为0, 1
编码,而且两个结果彼此之间相互独立。若进行n
次独立实验,则熵为n
,因为可以用长度为n
的比特流表示。[1]但是如果一枚硬币的两面完全相同,那个这个系列抛硬币事件的熵等于零,因为结果能被准确预测。现实世界里,我们收集到的数据的熵介于上面两种情况之间。
另一个稍微复杂的例子是假设一个随机变量X
,取三种可能值,概率分别为
,那么编码平均比特长度是:
。其熵为3/2。
因此熵实际是对随机变量的比特量和顺次发生概率相乘再总和的数学期望。
熵在信息论中的定义推导过程如下:
信源的不确定性:信源发出的消息不肯定性越大,收信者获取的信息量就越大。如果信源发送的消息是确切的,则对收信者来说没有任何价值(没有信息量)。衡量不确定性的方法就是考察信源X的概率空间。X包含的状态越多,状态Xi的概率pi越小,则不确定性越大,所含有的信息量越大。
不确定程度用H(X)表示,简称不确定度, 用概率的倒数的对数来度量不肯定程度。一般写成H(X) = log(1/p) = -log(p).
自信息量:一个事件(消息)本身所包含的信息量,由事件的不确定性决定的。
即1,信息熵定义随机事件Xi发生概率为P(xi),则随机事件的自信息量定义为:
表示事件Xi发生后能提供的信息量。事件不同,则他的信息量也不同,所以自信息量是一个随机变量。不能用来表征整个信源的不肯定性。可以用平均自信息量来表征整个信源的不肯定性。
信息熵:随机变量自信息量I(xi)的数学期望(平均自信息量),用H(X)表示,即为熵的定义:
即一个值域为{x1, ..., xn}的随机变量 X 的熵值 H 定义为:
-
,
其中,E 代表了期望函数,而 I(X) 是 X 的信息量(又称为信息本体)。I(X) 本身是个随机变量。如果 p 代表了 X 的机率质量函数(probability mass function),则熵的公式可以表示为:
在这里 b 是对数所使用的底,通常是 2, 自然常数 e,或是10。当b = 2,熵的单位是bit;当b = e,熵的单位是 nat;而当 b = 10,熵的单位是 dit。
pi = 0时,对于一些i值,对应的被加数0 logb 0的值将会是0,这与极限一致。
从单变量的信息熵,我们还可以简单推导出两个随机变量X和Y联合信息熵:
相应的,条件熵定义为:
2,信息增益(Information Gain)
在介绍完基本概率,下面将介绍信息增益。信息增益,是一种衡量样本特征重要性的方法,直观的理解 是有无样本特征对分类问题的影响的大小。假设某个状态下系统的信息熵为H(Y),再引入某个特征X后的信息熵为H(Y|X),则特征X的信息增益定义为: