熵:
在物理、化学以及信息论中经常出现,简单来说就是描述系统的混乱程度,系统越是混乱,不确定程度越高,系统的熵就越大。
课本一直就是这么说的,并且还给出了熵的计算公式:
随机变量X,以及对应分概率为p,那么熵可以这么计算
$$ H(X) = -\sum_{i}p \log_2 p $$
看到这里,正常人几乎都蒙了,说点人话大家不就清楚了吗,下面通过简单的例子来聊聊。
猜数字游戏
我先写下一个介于1-128之间的数字,你来猜,我只能告诉你猜对或者没猜对。
玩这个游戏你肯定会这样猜
-- 这个数字是否大于64?”
- “是”(64~128)
-- “这个数字是不是小于97?”
- “不是”(97~128)
-- “这个数字是不是小于113?”
- “不是”(113~128)
-- “这个数字是不是小于121?”
- “是” (113~121)
-- “这个数字是不是小于117?”
- “是” (113~117)
-- “这个数字是不是小于115?”
- “不是”(115~117)
-- “这个数字是116”
以上给出了猜测最多的次数7次,也就是说通过7次这个问题(系统)就被确定了,这个问题不确定性就是7。香侬给出度量熵的单位是比特(bit),那么这个问题的解用7bit就能描述。
数学语言
接下来我们通过数学语言来看这个猜游戏的例子。这个数字分布在[1, 128]闭区间上,取每个数概率是均等的,都是p=\frac{1}{128},于是:
H(X)=-\sum_{i}p \log_2 p =-(\frac{1}{128}\log_2 2^{-7}) \times 128 =7
小结
通过猜数字这个例子,熵可以这样认为,一般通过最少次数就能确定这个系统,这个次数就可以认为就是熵的大小。对于一个二进制文件或者文本文件,能够表示这个文件最小的比特数就是熵(不确定性的大小),理论上通过压缩软件,可以压缩到接近这个比特数。
如果这个文本中存放的全是性别男和女文字,无论有多少个文字,理论上一个比特就能表示出来,文件通常都会大于这个值,是因为这个文件还记录了别的信息,导致文件增大了,有兴趣的读者可以尝试100个性别的词和10000个性别的词,甚至10万个词,文本大小相差多少。
熵即表示不确定性,同时也暗含了信息量,熵越大说明变量包含的信息量越多。熵等于0说明变量是确定的,也就不包含任何信息了。ID3决策树就是根据熵的大小决定决策顺序的,后续继续整理决策树算法。