用信息熵概念重新理解世界
本文AI生成。
可以把信息熵先理解成一个非常直观的东西:
越难预测 → 信息熵越高;越容易预测 → 信息熵越低。
但有一个前提:必须先明确“随机变量是什么、有哪些可能结果、各自概率是多少”。脱离概率分布,不能单独说某个东西“熵高”或“熵低”。
下面用现实案例建立直觉。
1. 很低:每天太阳什么时候升起
假设我们研究:
“明天太阳是否会升起?”
在正常情况下:
升起:≈100%
不升起:≈0%
那么:
这是非常低的熵。
为什么?
因为你几乎不需要任何信息就能预测:
明天太阳还会升起。
2. 很低:公平的彩票结果已经被确定
假设一个抽奖系统已经提前确定:
中奖号码 = 123456
虽然你不知道,但对于系统本身来说:
123456:100%
其他:0%
一旦结果已经确定:
完全确定 = 0 熵。
这里要注意:
“你不知道”不等于“随机变量本身有高熵”。
如果结果已经确定,只是你不知道,那么从概率模型角度可能仍然需要讨论你的主观不确定性。信息熵取决于你采用的概率分布。
3. 很低:有偏的硬币
比如:
正面:99%
反面:1%
信息熵:
约:
非常低。
因为你基本可以直接猜:
正面。
4. 很高:公平硬币
换成:
正面:50%
反面:50%
信息熵:
对于只有两个结果的系统,这是最大熵。
因为:
正面 ← 50%
反面 ← 50%
没有任何一边更值得猜。
5. 很高:骰子
一个公平的六面骰子:
1:1/6
2:1/6
3:1/6
4:1/6
5:1/6
6:1/6
信息熵:
约:
比硬币的 1 bit 更高。
为什么?
因为:
硬币只有两个可能结果,骰子有六个。
而且六个结果还完全均匀。
6. 更高:随机生成密码
假设系统随机生成:
A-Z
a-z
0-9
假设每一位都有 62 种可能,并且完全随机。
一位的信息量:
如果密码是 10 位:
所以:
真正随机生成的密码具有很高的信息熵。
这也是密码学为什么强调:
随机数必须足够随机。
如果你的密码生成器实际上是:
123456
123457
123458
123459
...
虽然看起来是“随机密码”,但概率分布非常有规律,实际熵可能很低。
7. 网络安全里:真正随机的密钥
这个与你的工作非常相关。
比如一个真正随机的:
密钥。
理论上存在:
种可能。
如果每种可能都等概率:
熵可以达到 256 bit。
这意味着攻击者面对的是一个极大的不确定空间。
8. 网络安全里:弱密码的信息熵很低
例如某系统用户密码大量采用:
123456
password
admin123
111111
qwerty
表面上看:
“密码有很多种。”
实际上攻击者知道:
人类喜欢使用这些密码。
于是概率分布非常不均匀。
例如:
123456 30%
password 20%
admin123 15%
其他 35%
这种情况下:
密码的实际熵远低于“密码字符集理论上能提供的熵”。
这就是为什么:
密码长度 ≠ 密码熵。
真正重要的是:
攻击者有多难预测这个密码。
9. 语言文字:有一定熵,但远没有随机字符高
例如你看到:
“今天天气……”
你可能已经能猜到后面是什么。
因为中文、英文都有大量规律。
例如:
今天天气
↓
很好 / 很冷 / 很热 / ...
语言不是完全随机的。
所以:
自然语言的字符之间存在很强的关联性,实际信息熵低于完全随机字符。
这也是为什么:
ChatGPT、压缩算法、密码学、语言模型
都会涉及“预测下一个字符/词”的问题。
10. 股票价格:短期预测通常具有较高的不确定性
比如明天某只股票:
上涨:?
下跌:?
横盘:?
如果没有足够信息,概率可能比较分散。
因此:
预测结果的不确定性较高。
但这里不能简单说:
“股票的信息熵就是很高。”
因为必须建立具体的概率模型,例如:
上涨:40%
横盘:20%
下跌:40%
然后才能计算:
11. 天气:不同情况下熵不同
例如:
情况 A
天气预报:
晴:99%
雨:1%
熵低。
你基本知道明天是晴天。
情况 B
晴:50%
雨:50%
熵高。
你不知道到底会不会下雨。
所以:
同一个事物的熵不是固定不变的。
12. 最容易理解的一组对比
| 场景 | 概率分布 | 熵 | 直观理解 |
|---|---|---|---|
| 两面都是正面的硬币 | 100% / 0% | 0 bit | 完全确定 |
| 偏置硬币 | 99% / 1% | 0.082 bit | 几乎可以预测 |
| 公平硬币 | 50% / 50% | 1 bit | 最难预测 |
| 公平骰子 | 6种各1/6 | 2.585 bit | 可能性更多 |
| 70/20/10水果 | 70%/20%/10% | 1.157 bit | 有明显倾向 |
| 真随机256位密钥 | 2²⁵⁶种等概率 | 256 bit | 极难预测 |
13. 你可以建立一个“熵的直觉尺”
低熵
│
│ 两面都是正面
│ ↓
│ 0 bit
│
│ 99% / 1%
│ ↓
│ 0.082 bit
│
│ 70% / 30%
│ ↓
│ 0.881 bit
│
│ 50% / 50%
│ ↓
│ 1 bit
│
│ 6面公平骰子
│ ↓
│ 2.585 bit
│
│ 随机密码
│ ↓
│ 很高
│
│ 256位随机密钥
│ ↓
│ 256 bit
│
高熵
14. 最值得你记住的一句话
你现在学信息熵,不要把它理解成:
“这个东西有多少信息。”
更准确的是:
“在我定义的概率模型下,这个随机变量有多难预测。”
所以:
低熵:
我很容易猜到结果。
高熵:
我很难猜到结果。
而且:
熵高不一定代表“好”,熵低也不一定代表“坏”。
例如密码场景希望高熵,因为难预测;而一个生产系统的状态如果是“正常/异常”且正常占 99.99%,它的熵很低,反而意味着系统状态非常稳定、容易预测。
浙公网安备 33010602011771号