信息论算是应用数学,因此我们希望用熵,互信息这些东西来解决一些实际的问题。首先介绍下无失真编码定理,它早已经被广泛用在我们生活当中了。
首先,说到无失真编码,我们首先想到的是无损压缩了。无损压缩实际上是一个最大熵的问题。这样的情况下,能包含最多的信息,如果信息量一定,也就是最大熵的情况下需要平均较小的比特数(比如一个均匀分布随机变量X的熵为3,另一个非均匀分布随机变量熵Y也为3,那么|Y|>|X|,如果普通编码的话,Y的编码更长,但是它们包含的信息量却是一样的)。我们都知道的是,在均匀分布的时候熵是最大的。但是我们不能选择信源的分布,因为信源就在那里已经确定了。我们能否通过一个映射,一一对应的映射,使得一个非等概分布逐渐走向等概呢?答案是,可以,但是这太反直觉了。是啊虽然反直觉,但是它不反数学,所以它就是对的。
渐进等同分割性质(Asymptotic
Equipartition Property)
大数定律(Law of Large
Number)
这里先伯奴利大数定律(属于弱大数定律)。实际上所有的大数定律都在说一件事:当实验次数非常大的时候,频率趋向于概率(经验分布逼近于统计分布)。
更精确一点的说法:
另外一个大数定理(辛钦大数定律):
渐进等同分割性质定义如下:
如果是独立同分布的离散随机变量,分布服从,则
使用上面的更准确的写法如下:
即.
这个定理可以使用弱大数定理地证明:
因为我们知道,是互相独立的,因此,也是互相独立同分布的。利用(1):
这意味着,当n很大的时候,一个序列出现的概率是几乎相等的,这个概率为.
(弱)典型序列(Typical
Sequence)
典型序列定义如下:
相对于分布和序列,典型序列集合定义为满足下列不等式约束的所有序列的集合:
所以典型序列具有以下性质: 1.
若,则.
2.
若足够大,$Pr(A_^{(n)})
- $ 3.
4.
性质1,2可以用定义得到。因此这里证明3和4.
4的证明首先要使用性质2。
所有可能出现的序列一共有种,大多数情况下,$
2^{m(H(X)+)} <<
|X|^n$.所以典型序列集合只是所有可能集合的一个很小(尤其是原来分布远离均匀分布的时候)的子集。但是它几乎一定会出现,而且每个典型序列出现的概率几乎一样。这是很好的消息,为我们刚开始提出来的映射提供了很好的思路。
定长编码定理(香农第一定理)
假设是由独立同分布离散随机变量构成的序列。对于任意正数,总有足够大的n,可以找到一个一一映射,将映射到二进制序列,且满足:
上式中,表示的是编码需要的bit数。
接下来提供证明:
其中
,可以看到的是.
上面证明过程中值得注意的事情是,为什么要加2?第一个加一是为了处理log后为非整数的情况,第二个+1是留一个比特位置来区分典型序列与非典型序列的编码。
但是,定长编码定理是无法应用到工业界的。因为它需要对序列长度为n来进行编码,由于精确度的要求,这个n往往很大(上亿),这在现实中是无法实现的。
顺便我们证明一下,平均每个字符编码所需要的bit数一定是大于等于.
假设.
意思就是,M为X^n编码后的结果,它一定是属于后面的某个数字。
如果我们想要,也就是无失真编码,那么根据Fano不等式:
因此:
所以可以得到:.
可见,熵是平均码长的下界。
码的类型
非奇异码
若一个码C可以将不同的x映射为不同的中
的序列,即:
则该码为非奇异码。
但是仅仅是非奇异码的序列可能会有歧义(很好笑)。,那么我收到就不知道该如何介绍它了。
唯一可译码
唯一可译码是非奇异码的子集。称码为码的扩展,当是有限长X的序列到有限长D序列的映射,且满足:
则该码为唯一可译码。
从另一方面来说,如果码的扩展为非奇异码,则该码为唯一可译码。
换句话说,没有码字是码字的组合。
这样的也是有缺点的,因为解码器复杂度要求较高。如,当收到0110的时候,在前三个的时候解码器预测可能是个,但是最后一个不满足,因此就需要回退。
即时码(前缀码)
前缀码大家就比较熟悉了。前缀码是唯一可译码的子集。如常用的霍夫曼编码。它的意思是没有什么码字是另一个码字的前缀。所以解码器只要发现有认识的,立马就可以解码了,所以叫即时码。
莫尔斯电码是非奇异码,但不是唯一可译码。汉语也不是唯一可译码,因为断句不对就会引起歧义。