信号编码
香浓熵的妙处在于其数值描述了一个随机变量的需要最佳(二进制)编码长度(bit 位数)。
唯一取值随机变量
极端情况:某个随机变量永远输出唯一单一的值。就像上篇中的收音机,永远输出440Hz的音。
那么根本不需要编码,我们“闭着眼睛”都知道这个值。编码所需长度为0。
二值随机变量
如果随机变量有两个可能的值,比如440Hz 与 261Hz的音。
那么如果我们要告诉别人现在实际的值是哪个,至少需要 1 1 1位二进制编码:0或1。
N值随机变量
一般的,如果有 n n n个值,如果用二进制,则需要约 l o g 2 n log_2n log2n位编码。
比如8个值,需要 l o g 2 8 log_2{8} log28=3位。编码:000, 001, …110, 111。
如果不是2的整次幂,则向上取整即可。
比如11个值, l o g 2 11 ≈ 3.46 log_2{11} \approx 3.46 log211≈3.46,需要4位编码,有些码用不上,会浪费掉;但没办法,3位不够。
编码优化
以上都没有考虑各个取值的概率。
考虑上概率,则可以优化。
比如4个值的情况,假设值 x 1 x_1 x1出现的概率为70%,其它3个值的概率都为10%。
那么可以这样编码:
x 1 x_1 x1: 0
x 2 x_2 x