
上QQ阅读APP看书,第一时间看更新
3.2 熵有什么用处呢
因为的熵
,所以我们可以大致认为平均每个值用2个二进制位(通过向上取整运算获得)就可以对
进行编码。
可以像下面这样赋给每个符号2个二进制位的编码值:

这样一来,用二进制编码表示的就会是下面这样:

这样编码之后,得到的大小就是20个二进制位(在大多数教科书中表示为
)。
下面是很有趣的部分:为了得出的最终大小,实际上不需要进行编码这一步,只需要将熵
的值向上取整
再乘以
的长度(即
)就能得出结果:
个二进制位
根据香农的熵的定义,这就是表示这一数据集所需要的最小二进制位数。
因此,总结起来就是,为了使表示某个数据集所需的二进制位数最少,数据集中的每个符号平均所需的最小二进制位数就是熵。