熵的概念
熵:
- 热力学与化学概念,用于度量能量退化的指标
- 熵越高,物体/系统做功的能力越低
后来信息论的奠基人香农讲化学与热力学 中熵的概念引入到了信息学
信息学中的熵:
- 用于度量消息的平均信息量,和信息的不确定性
- 越是随机的、前后不相关的信息,其熵越高
信息论中香农提出了信源编码定理:
- 说明了香农熵与信源符号概率之间的关系
- 信息的熵为信源无损编码后平均码长的下限
(任何无损编码方式都不可能使编码过后每个码原的平均码长小于香农熵,只可能与香农熵接近)
熵与混乱程度
这两幅图大致表明信息/物体的混乱程度和信息熵的关系。
若我们想要用信息表示左边和右边的两堆球,应该如何表示?
左边的排列不规律、右边是规律的。
要想表示这两堆球的关系,付出的代价是不一样的。
- 表示左边的球:第一行第一第二个是红色;第二行第一个第四个是红色…
左边的球表示起来非常繁琐,排列不规律,压缩的空间不是特别大 - 表示右边的球:上面两行10个是红球,下面两行10个是篮球。
混乱度高的信源,所表达的信息更难被压缩,混乱度高的球,熵越高。混乱度低的信源,熵就越高。
熵编码的思想
基本思想:
- 使前后的码字之间尽量更加随机,减少前后相关性,更加接近其信源的香农熵
常用熵编码算法
- 变长编码:运算复杂度和编码效率都较低,常用方法:哈夫曼编码、香农-费诺编码等
(用于计算资源吃紧,但对压缩效率要求不太高的场合) - 算数编码:运算较复杂,但编码效率更高