信息论之香农熵(又名信息熵)最简单-形象讲解

1948 年,香农提出了“信息熵”(shāng) 的概念,解决了对信息的量化度量问题。

首先,先介绍一下克劳德 • 香农(Claude Shannon, 1916-2001)

        香农生于美国密歇根州,本科毕业于“美国大学之母”密歇根大学。他儿时崇拜的英雄人物是大名鼎鼎的、造福全人类的美国大发明家托马斯 • 爱迪生(Thomas Alva Edison, 1847-1931),后来他发现这位英雄是他家的一个远亲。二十岁本科毕业时,他拿回了电子工程和数学两张学士文凭。而他在密西根大学修课时接触到英国数学家和哲学家乔治 • 布尔(George Boole, 1815-1864)最有名的工作“布尔代数”,成就了他二十一岁在麻省理工学院完成的题为《中继及开关电路的符号分析》(Symbolic analysis of relay and switching circuits,1937)的硕士学位论文。有人说这是二十世纪甚至人类历史上最有价值的硕士论文,因为它用布尔代数的理论首次表明对付真假李逵的“符号逻辑”与对付电路开关的“0-1数字”具有一致性,从而论证了数字计算机和数字线路的逻辑设计之可能性。

         香农最初并没有借用“熵”这个词汇来表达他关于信息传输中的“不确定性”的度量化。他甚至都不太知晓他所考虑的量与古典热力学熵之间的类似性。他想把它称为“information(信息)”,但又认为这个名词太过大众化,已被普通老百姓的日常话语用滥了。他又考虑过就用单词“uncertainty(不确定性)”,但它却更像抽象名词,缺乏量化的余地,确实难于定夺。终于有一天,他遇见了天才的数学家冯 • 诺依曼(John von Neumann, 1903-1957)。真是找对了人!冯·诺依曼马上告诉他:

就叫它熵吧,这有两个好理由。一是你的不确定性函数已在统计物理中用到过,在那里它就叫熵。第二个理由更重要:没人真正理解熵为何物,这就让你在任何时候都可能进能退,立于不败之地。

香农的信息熵本质上是对我们司空见惯的“不确定现象”的数学化度量。譬如说,如果天气预报说“今天中午下雨的可能性是百分之九十”,我们就会不约而同想到出门带伞;如果预报说“有百分之五十的可能性下雨”,我们就会犹豫是否带伞,因为雨伞无用时确是累赘之物。显然,第一则天气预报中,下雨这件事的不确定性程度较小,而第二则关于下雨的不确定度就大多了。(转自:返朴 链接:https://www.zhihu.com/question/22178202/answer/667876061)

在正式介绍香农熵的计算之前,我们需要先了解如何将词转成计算机可以识别的编码。

比如:一句话中包含下面四个词,那这四个词汇,如何转成计算机可识别的呢?就需要对词汇进行编码:

那么来造两个句子吧;因为计算机是二进制的,所以一个字需要两位数字来标识,因此有下面代替四个表情的字,用二进制表示如下:

eg1:开 难 愤 伤:00 01 10 11
eg2:开 伤 难 愤:00 11 01 10

可以看到4个字就需要了8位数来表示,如果8个字就需要16个数字来表示了,考虑到这个问题,于是就有了以下编码的方式。

根据句子中每个字的概率,概率越大,分配的编码越短,以此来减少编码的长度,举个例子:

我们假设表情概率分布为:开心:50%,愤怒:25%,难过:12.5%,伤心:12.5%,那么原始的组合就如下图左边红框的结果,共16个二进制共16*2=32,我们用概率越大越短的方式编码,如下右边红框的结果14个二进制共14*2=28,相当于把原来编码压缩了12.5%。新的编码,每个词只需要1.75个二进制位。

这里要注意,编码的方式一定是唯一的,如果我们把开心表情的编码换成1,可不可以呢?结果肯定是NO,为什么呢?

那么,我们假如开心的是1,那么110本来代表难过,是不是也有可能是开心+愤怒=110,110就代表了两种含义,造成歧义。

如果还不能理解,那么我们用数学的方法再来理解一下。

二进制只有0和1两种情况,如果一个名词多于两种结果,比如我们上面四种表情,是四个结果,那么0或1只能其中一个拥有含义,另一个必须空出来,比如0代表开心,1就必须空出来,不能有含义,同理,两个二进制有四种组合00,01,10,11。0我们已经表示为开心,那么第一位0开头的编码就不可以用,只有10,11可用,10表示愤怒,那么11就不能再用了,下面到三位,三位组合有:000,010,011,101,100,110,111.很明显0开头被开心占用,000,010,011废弃,10开头被愤怒占用,剩下110,111,一个表达愤怒,一个表达伤心。这就是编码的过程。

上面说了那么多,就是为了引出下面的内容:

香农给出一个数学公式。L表示所需要的二进制位,p(x)表示发生的概率,它们的关系如下:

通过上面公式,可以计算出某种概率的结果所需要的二进制位。比如概率0.5,那么他的导数2,以2为底的对数是1,所以是1位二进制。

接下来就可以计算一种概率分布的平均编码长度也就是信息熵的公式:

上面的H,就是该种概率分布的平均编码长度。

以我们上面的举例,我们看下如何使用该公式:

H=0.5 * 1 + 0.25 * 2 +0.125 * 3 + 0.125 * 3
=0.5+0.5+0.375+0.375
=1.75

因此,总的长度就是1.75*8=14位

平均编码长度(H),就是信息量的度量,也就是信息熵,H越大,需要的二进制位越多,可能发生的结果就越多,不确定就越高。

以下转自百度百科:

熵这一名称并不是香农首先提出的。最先提出熵这一名称的是物理学家,他提出的熵称其为热熵,它是热力学系统的一个状态函数,热熵是物理系统无序性的量度,热熵越大,表明物理系统可能的微观状态数也就越多,从微观上看,系统就越变化多端,越没有秩序。

香农在研究随机变量不确定性量度时所得的式在数学模型层次上与热熵完全相同,所以香农也把它称作熵,一般称其为信息熵或香农熵。

若把系统分子的相空间作为系统宏观状态的状态空间,则按分子在相空间中的分布而求得的香农熵H与其热熵S有如下的关系:s=KH

 因此,可以认为热熵是香农熵的一个特例,它仅仅是分子在相空间所处位置的不确定性的量度。

然而,热熵是有量纲的,而香农熵是无量纲的,这是两者的重大差别。

发布了91 篇原创文章 · 获赞 125 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/Jarry_cm/article/details/104858977