引言
这是《大数据茶馆》的第一篇文章,既然要聊决策树,就绕不开信息熵,一般决策树说到熵的时候都会说熵是反映事件的不确定性,然后给出下面这个公式。
− ∑ i = 1 n p l o g p \\- \sum_{i=1}^n p\,log\,p −i=1∑nplogp
但这个公式的原理是什么,应该怎么理解,负号又是怎么回事?今天这篇文章,我们就一起聊聊到底什么是信息熵,希望可以解决大家的疑虑。
信息熵
假设小明在做一道选择题,选项 A,B,C,D。
- 小明不确定该选哪个,此时四个选项的概率为 (1/4, 1/4, 1/4, 1/4)
- 小红告诉小明 C 有一半可能性是对的,此时对小明而言概率变成 (1/6, 1/6, 1/2, 1/6)
- 小刚又告诉小明 A,B 选项是错误的,那么此时概率变成 (0, 0, 1/2, 1/2)
- 最后小花告诉小明答案是 D, 此时概率为 (0, 0, 0, 1)
小明关于这道题正确选项的不确定性越来越小,直到最后完全确定答案,也就是不确定性为 0。
- 小明对于正确选项的不确定性称为熵,不确定性越大熵越大,确定答案后熵为 0。
- 同学们的话对小明而言消除了一些不确定性(熵),我们称为信息。
熵:事件的不确定性称为熵,不确定性越大,熵越大,确定事件的熵为 0。
- 事件各种可能性的分布越均匀,熵越大,因为结果越不确定。
- 事件各种可能性的分布越不均匀,熵越小,因为结果有偏向性,不确定性在减少。
信息:通过获取额外的信息可以增加事件的确定性,即消除一部分熵。
信息是相对的,由于每个人的背景知识不同,同样一句话提供的信息也不一样。
比如:太阳从东方升起
- A 自身知道太阳从东方升起,这句话信息为 0 bit
- B 认为太阳可能从东方或西方升起,这句话信息为 1 bit
- C 认为太阳可能从东南西北任意方向升起,这句话信息为 2 bit
具体提供信息的多少需要通过消除了多少不确定性(熵)来衡量,消除了多少熵,就是提供了多少信息。
熵和信息数量相等意义相反。
下面看看信息的多少是怎么计算出来的。
信息熵的单位
我们先思考哪些物理量有单位,单位是如何制定出来的。
比如质量的单位是 kg , 最初我们制定质量的单位时找了一个参照物 A,规定 A 物体的质量为 1 kg ,其他物体的质量相当于多少个 A, 就是多少 kg。
B = 3 A, 则 B 的 kg 数为 3,因为 3 = B / A,这里用乘法的反函数除法来计算千克数。
既然信息熵是描述事件的不确定性,那么我们就选一个不确定性事件作为参考系,人们选取了抛硬币。
抛一次硬币哪面向上这个事件是个不确定事件,结果有两种可能性,正反各占 1/2,这个不确定事件的信息熵我们定义为 1 bit.
两种可能性的等概率事件的熵为 1 bit.
对于其他不确定性事件同样基于参考系来计算。
等概率事件的熵
- 抛一次硬币有两种可能性,熵为 1 bit
- 抛三次硬币是 2 * 3 = 6 种可能性吗,不是的,抛三次硬币的结果有 8 种可能性。
- 正正正、正正反、正反正、正反反
- 反正正、反正反、反反正、反反反
- 注意到这里不是乘法的关系,是指数的关系,2^3 = 8 所以信息熵的计算应该用指数的反函数对数来计算,对于有 8 种可能性的等概率事件, 熵为 log 8 = 3 bit.
假设等概率事件的可能性个数为 m,则熵为
l o g 2 ( m ) log_2\,(m) log2(m)
简写为
l o g ( m ) log\,(m) log(m)
一般事件的熵
那么对于非等概率事件而言如何计算熵呢?
还是上面的小明做题,当小红告诉小明 C 有一半概率正确时,答案概率分布为 (1/6, 1/6, 1/2, 1/6)
此时事件的熵应该是各个选项的概率乘以各自的熵,然后加和。
∑ i = 1