一、熵的概念
为了理解信息熵,让我们先简单了解一下什么是熵
熵,英文单词是 Entropy,是热力学中表征物质状态的参量之一,用符号S表示,其物理意义是体系混乱程度的度量。提到这个概念必须要关注一下热力学第二定律。
热力学第一定律(the first law of thermodynamics )
热量可以从一个物体传递到另一个物体,也可以与机械能或其他能量互相转换,但是在转换过程中,能量的总值保持不变。
热力学第二定律(the second law of thermodynamics)
不可能把热从低温物体传到高温物体而不产生其他影响,或不可能从单一热源取热使之完全转换为有用的功而不产生其他影响,或不可逆热力过程中熵的微增量总是大于零,又称“熵增定律”,表明了在自然过程中,一个孤立系统的总混乱度(即“熵”)不会减小。
1877年,玻尔兹曼(Ludwig Edward Boltzmann)提出了著名的“玻尔兹曼熵公式”,认为热力学熵和微观状态数目的对数之间存在联系,并给出了相应的表达式:
S = k lnW
其中,S 是宏观系统熵值,是分子运动或排列混乱程度的衡量标尺;k 是玻尔兹曼常量;W是可能的微观态数,W越大系统就越混乱无序。
二、信息熵的概念和计算公式
1948年,香浓(Claude Elwood Shannon)在他著名的《通信的数学原理》(英文名称是《A Mathematical Theory of Communication》)论文中指出“信息是用来消除随机不确定性的东西”,并在热力学中熵的概念基础上提出了“信息熵”的概念,用来解决信息的度量问题。
对于信息熵是什么,先列一个简单描述便于读者有一个感性理解:
信息熵可以认为是系统中所含有的平均信息量的大小,也可以认为是描述一个系统需要的最小存储空间长度,即至少用多少个bit的存储空间就可以描述这个系统。
那么信息熵是如何使用公式进行量化定义的呢?我们可以通过以下四步进行推导:
1、热力学中的熵表征的是分子排列和运动混乱程度的度量,香浓使用信息熵来衡量信源的不确定度。所以想要定义信息熵,最核心的问题就是解决不确定度的函数描述。
2、如何定义用来描述不确定性的函数 f()
不确定性函数应当满足如下两种条件:
<1> 单调性 —— 通常情况下,一个信源发送出什么符号是不确定的,可以通过其出现的概率来对它进行度量。概率大,出现的机会多,不确定性小;反之概率小,出现的机会少,不确定性大。所以不确定性函数 f 是出现概率 p 的单调递减函数。
<2> 累加性 —— 符号的信息是可以累加的,所以两个独立符号所产生的不确定性应该等于各自的不确定性之和,即 f(p1, p2) = f(p1) + f(p2),这称为不确定性的累加性。
<3> 非负性 —— 从感性认知上我们不难理解,在增加每一个字符的过程中,信息总量是在不断增多的。并且我们也可以简单推导一下,由累加性可知,由 n 个字符组成的信息比由 n-1 个字符组成的信息多传递了一个 f(n),即 f(n1, n2 .... n-2, n-1, n) = f(n1, n2 .... n-2, n-1) + f(n),而从感性上我们就能明白由 n 个字符组成的信息的不确定性是一定不小于由 n-1 个字符组成的信息的,所以 f(n) = f(n1, n2 .... n-2, n-1, n) - f(n1, n2 .... n-2, n-1) >= 0,那么就证明了非负性。
所以我们发现使用 log 对数函数可以满足上述两个条件来描述不确定性函数。即对于单个符号,当它的出现概率为p时,我们定义使用下述公式衡量它的不确定性:
通过画图来直观感受一下单个字符情况下的不确定性函数 f():
如上图,横坐标为单个字符的出现概率,区间在(0~1),纵坐标为不确定性,大于零。
3、如何定义用来描述信息熵的函数 H()
在 f() 的基础之上,我们再考虑一下,一个信源往往是由有多个字符组成,那么运用累加性就可以计算一个信源总共的不确定性。若我们假设 X 代表一个信源,由字符 x1, x2 .... xn 组成,分别对应着 p1, p2 .... pn 的出现概率,则信源的总不确定性可以表示为:
而我们需要研究的信息熵被定义为是一个信源的所有可能发生情况的平均不确定性,那么我们就可以在累加的过程中,对每一个字符的不确定性增加一个出现概率作为其权重,这样也就得到了我们期待的信息熵公式,如下所示:
通过画图来直观感受一下单个字符情况下的不确定性函数 H():
如上图,横坐标为单个字符的出现概率,区间在(0~1),纵坐标为信息熵,大于零。
三、信息熵的应用
1、对国际各种语言的信息熵有初步的认知
信息熵的基本目的,是找出某种符号系统的信息量和冗余度之间的关系,以便能用最小的成本和消耗来实现最高效率的数据储存、管理和传递。
二十世纪五十年代,现代信息论介绍到中国;七十年代,我国科学家完成了中文汉字字符信息熵的初步计算工作;八十年代又做了更完整的计算。他们的基本方法是:逐渐扩大汉字容量,随着汉字容量的增大,信息熵的增加趋缓;汉字增加到 12370 以后,不再使信息熵有明显的增加。通过数理语言学中著名的齐普夫定律(ZIPFW'S LAW)核算,我国科学家指出,汉字的容量极限是 12366 个汉字,汉字的平均信息熵的值(平均信息量)是 9.65 比特。这是当今世界上信息量最大的文字符号系统。下面是联合国五种工作语言文字的信息熵比较:(数据来源张飞利的《汉语的“信息熵”劣势》)
法文:3.98 bit
西班牙文:4.01 bit
英文:4.03 bit
俄文:4.35 bit
中文:9.65 bit
2、在自然语言处理中,作为单词的权重使用,可以达到提取和过滤的作用
四、信息熵的延伸
1、条件熵
2、相对熵 / K-L散度
3、交叉熵
4、互信息
Reference:
1、https://baike.baidu.com/item/熵/101181?fr=aladdin
2、https://baike.baidu.com/item/热力学第一定律/476312?fr=aladdin
3、https://baike.baidu.com/item/热力学第二定律/473407?fr=aladdin
4、https://baike.baidu.com/item/玻尔兹曼/5480026?fr=aladdin
5、https://baike.baidu.com/item/玻尔兹曼公式/7727050?fr=aladdin
6、https://baike.baidu.com/item/信息熵/7302318?fr=aladdin
7、https://www.zhihu.com/question/22178202
8、https://blog.csdn.net/saltriver/article/details/53056816
9、https://baike.baidu.com/item/克劳德·艾尔伍德·香农/10588593?fr=aladdin
10、http://www.doc88.com/p-90199901638.html
11、https://www.cnblogs.com/yinheyi/p/6843009.html
12、https://wenku.baidu.com/view/52ff026cf121dd36a22d82aa.html