对产生随机变量 x 的信息源编码所需要的平均最小比特数,或随机变量 x 中固有的平均信息量。
如果随机变量 x 是在 s={1, 2,…, m}里取值,那么可以证明,熵值 的取值必定在 0 和 logm 之间。当随机变量 x 在 s 上均匀分布的时候,取最大值 logm;当 x 以百分之百的概率取 s 中的某个数值的时候,取最小值 0。前者对应于“不确定性”最大的 x,而后者对应于“不确定性”最小的(即完全可以确定的)x。所以,也可以把熵值 理解为对随机变量 x 的“不确定性“(或“不可预测性”)的度量。
因此,随机变量所包含的“信息量”和它的“不确定性”其实是同一个概念。一个随机变量越难以确定,它所包含的信息量越多。这种认识对初次接触熵的人来说或许不够自然。但仔细体会一下,确实是有道理的。如果俺想告诉你的事你很容易猜到,或者说你不用问几个问题就能知道,那俺要说的话对你来说就没多少信息量。
在熵的定义里-又是什么物理意义呢?当然这个数字可以理解为 a 编码所需要的比特数(在前面例子里,我们能看到以1/8概率出现的事件,需要用3个比特来编码)。换一个角度理解,-可以理解为 a 的“惊奇度”。一个出现概率极低的事件 a,比如世界末日,它一旦出现就会令人非常惊奇,所以对应的-就会很大;而如果 a 出现的概率很大,它的出现就不会太令人吃惊,所以对应的-就会很小。因此,熵值 也可以理解为随机变量 x 的“平均惊奇度”。
用不确定性,信息量,或平均惊奇度来理解熵,都只是给它赋予一个直觉的解释。平均最小编码长度才是对熵的数学理解。但这种理解并不能体现出大数定理在熵的定义里所起的决定性作用以及“二十个问题”游戏必须攒着玩才能实现最短问题数等于熵值的深刻认识。在大数定理的情怀下,熵值 还有另一个数学解释: 是典型序列的总数随序列长度的“翻倍速率”。看,长度为 n 的典型序列总数 t 差不多是 2^;也就是说,每当序列长度 n 增加 1, t 就增大 2^倍,或者说,翻倍翻了 次。所以把熵理解为典型序列总数的翻倍速率才能真正体现熵的数学本质。当然,这样的理解就离韩剧更加遥远了。
熵,或英文里的entropy,本来源于物理中的热力学,用来描写系统的“混乱度”。香农在定义信息熵的时候借用了这个词。虽然俺经常夜观星象,也能在夜空没有雾霾的时候认出北斗星,但对宇宙、相对论,或是热力学,都一窍不通。所以俺就不试图解释物理熵和信息熵的联系了。
但在通信的范畴,熵是人类第一次对信息有了数学的认识。人类刚刚开始研究数字通信的时候基本就是瞎子摸象,直到1948年香农在贝尔实验室发表了那篇著名的文章,“通信的数学理论”。倚天剑一出,天下皆惊。香农一针见血地指出,通信的问题可以分解