1. 从“稀奇新闻”说起:信息量到底是什么?
你有没有过这样的经历?刷手机时,一条“某地发现一只会说话的猫”的新闻,会比“今天天气晴朗”的推送更能吸引你点进去。为什么?因为前者太稀奇了,发生的可能性极低。这种“稀奇感”,恰恰就是信息论里“信息量”最直观的体现。
信息论的奠基人克劳德·香农,在1948年那篇划时代的论文里,天才般地将“信息”这个抽象概念数学化了。他的核心思想很简单:一个事件的信息量,和它发生的概率成反比。事件越不可能发生,一旦它真的发生了,带给我们的“惊讶”就越大,包含的信息量也就越大。
怎么用数学公式表达这种“惊讶度”呢?香农给出的答案是 对数。具体来说,一个概率为 p 的事件,其信息量 I 定义为: I = log(1/p) = -log(p)
这里 log 的底数通常取2,这样信息量的单位就是“比特”(bit)。举个例子你就明白了:
- 假设“明天太阳从东边升起”的概率
p ≈ 1,那么它的信息量I = -log₂(1) ≈ 0比特。一件必然发生的事情,毫无惊喜,信息量为零。 - 假设“抛一枚均匀硬币出现正面”的概率
p = 0.5,信息量I = -log₂(0.5) = 1比特。这是1比特信息最经典的例子。 - 假设“买彩票中头奖”的概率
p = 0.0000001,那么信息量I = -log₂(0.0000001)会是一个很大的数。中奖的消息当然包含巨大的信息量!
所以,下次当你觉得某条消息“信息量爆炸”时,不妨想想,是不是因为它发生的可能性太小了?理解了信息量,我们就拿到了打开信息论大门的钥匙。
2. 从信息量到香农熵:度量整个系统的“混乱度”
知道了单个事件的信息量,我们自然会问:对于一个充满各种可能性的随机系统,比如一个装满各种颜色小球的袋子,或者一段未知的文本,我们该如何衡量它整体的“不确定程度”或“混乱程度”呢?
这就是香农熵要解决的问题。你可以把熵想象成一个系统的“平均惊讶度”。它不是看某一个具体结果带来的信息量,而是考虑这个系统所有可能的结果,以及它们各自发生的概率,然后计算一个信息量的期望值(平均值)。
公式看起来可能有点唬人,但拆开看很简单: H(X) = - Σ [p(x) * log₂(p(x))] 其中,X 代表一个随机变量(比如“从袋子里摸出球的颜色”),x 是它的每一个可能取值(红、黄、蓝),p(x) 是该取值出现的概率,求和符号 Σ 就是把所有可能取值都算一遍。
让我用一个更生活的例子来解释。假设你有一个神奇的天气预报系统:
- 系统A(高度不确定):明天天气为晴、雨、雪、冰雹的概率各为25%。那么它的熵
H(A) = -4*(0.25*log₂(0.25)) = 2比特。你需要2比特的信息(比如回答两个是/否问题)才能完全确定天气。 - 系统B(比较确定):明天99%概率是晴天,1%概率下雨。计算可得它的熵
H(B) ≈ 0.08比特。不确定性很小,几乎不需要额外信息就能猜中。
所以,熵越高,系统的不确定性越大,要搞清楚状况所需的信息就越多。在机器学习里,熵常用来衡量数据集的“纯度”。一个数据集的类别越混杂(猫狗图片混在一起),熵就越高;分得越清楚(全是猫),熵就越低。决策树算法在选择划分特征时,核心目标就是找到能最大程度降低数据集熵(即增加确定性)的那个特征,这就是后面会提到的“信息增益”。
3. 熵的家族:联合熵、条件熵与KL散度
理解了最基本的熵,我们就可以看看它的几个“亲戚”,它们描述了更复杂的关系。
3.1 联合熵:两个系统混在一起的混乱度
联合熵 H(X, Y) 衡量的是两个随机变量 X 和 Y 联合在一起时,整体的不确定性。公式是单个熵的自然扩展: H(X, Y) = - ΣΣ p(x, y) * log₂(p(x, y)) 你需要对 X 和 Y 所有可能的取值组合进行求和。
比如,X 是天气(晴/雨),Y 是你是否带伞(带/不带)。联合熵


365

被折叠的 条评论
为什么被折叠?



