课程主页:http://www.inference.org.uk/mackay/itprnn/,http://www.inference.org.uk/itprnn_lectures/

课程视频:https://www.bilibili.com/video/BV14b411G7wn?from=search&seid=1786094286746981315,https://www.youtube.com/watch?v=BCiZc0n6COY&list=PLruBu5BI5n4aFpG32iMbdWoRVAA-Vcso6

课程书籍:https://book.douban.com/subject/1893050/

这次回顾第四讲,第四讲介绍了符号码。

备注:笔记参考了中文书籍。

符号码

定义

总体 $X$ 的(二进制) 符号码 $C$ 是从 $x$ 的取值范围 $\mathscr{H}_{x}=\left\{a_{1}, a_{2}, \cdots, a_{I}\right\}$到$\{0,1\}^{+}$的一个映射。$c(x)$ 表示相对于 $x$ 的码字 $, l(x)$ 表示它的长度, 即 $l_{i}=l\left(a_{i}\right)$。

拓展码$\boldsymbol{C}^{+}$ 是从 $\mathscr{H}_{X}^{+}$ 到 $\{0,1\}^{+}$的一个映射,定义如下:

可唯一译码

这里我们要求码字$C(X)$可唯一译码,即

易于译码

即方便解码,这里使用前缀码来解决这点。前缀码的任何一个码字不是另一个码字的前缀,不难看出前缀码满足唯一性。

压缩

对于总体$X$,符号码$C$的期望长度$L(C,X)$是

可以把这个量写为

其中$I=|\mathscr H_X|$

可唯一译码性的限制

Kraft不等式

对于任何定义在二元符号集$\{0,1\}$上的可唯一译码的码$C(X)$,其码长必须满足

其中$I=|\mathscr H_X|$。

证明:

定义

考虑

不难看出$\left(l_{i_{1}}+l_{i_{2}}+\cdots+l_{i_{N}}\right)$表示$\boldsymbol{x}=\boldsymbol{a}_{i_{1}} \boldsymbol{a}_{i_{2}} \cdots \boldsymbol{a}_{i_{n}}$的编码长度。

定义

$A_l$表示编码长度为$l$的字符串$x$的数量,那么

由唯一性可得

所以

如果$S>1$,那么上式对充分大的$N$必然不成立,所以

Kraft不等式和前缀码

已知一组码字长度满足Kraft不等式,那么就存在一个可唯一译码的前级码具有这样的码字长度。

证明:

考虑码字超市:

将码字长度长度从小到大排列,按此顺序选择码字,每次选择完之后将其右侧的码字删除即可得到前缀码。

完全性

如果一个可唯一译码的码,其Kraft不等式的等号成立,那么它叫做完全码。

最大压缩是多少?

我们希望最小化

下面证明其范围。

期望长度的下界

可唯一译码的码之期望长度 $L(C, X)$ 的下界是 $H(X)$

证明:

定义

那么

回顾Gibbs不等式

以及可唯一译码的码字满足的条件

那么

最优信源码长

只有码长等于香农信息量

时,期望长度才能最小化,并且等于$H(X)$

由码长定义的隐式概率

码长$\{l_i\}$定义了隐式概率$\{q_i\}$

期望长度的上界

存在前缀码$C$,使得

证明:

首先验证Kraft不等式来保证可唯译码的存在性:

最后带入定义可得

符号码的信源编码定理

对于一个总体$X$,存在前缀码$C$,其期望长度满足

最优的符号码信源编码:霍夫曼码

霍夫曼编码算法

  1. 从符号集中选取两个具有最小概率的符号。对这两个符号分配最长的码字,二者长度相同,只有最后一位数字不同。
  2. 将这两个符号合并成一个符号,并继续重复下去。
例子

考虑

算法过程如下:

最终得到码字