news 2026/6/10 13:02:49

[信息论与编码理论专题-19]:信息熵的量化,通俗易懂!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[信息论与编码理论专题-19]:信息熵的量化,通俗易懂!

我们用完全不用公式、只靠生活直觉的方式,讲清楚信息熵是怎么被“量化”(也就是用数字衡量)的。


🌟 核心思想一句话:

信息熵的单位是“比特”(bit),它表示:
“要搞清一件事,平均最少需要问多少个‘是/否’问题。”


🧩 举个经典例子:猜数字(1 到 8)

假设我想一个 1 到 8 之间的整数,你来猜。每次你只能问“是/否”问题(比如“大于4吗?”)。

最聪明的问法(二分法):
  1. “大于4吗?” → 是 → 范围缩小到 {5,6,7,8}
  2. “大于6吗?” → 否 → 范围缩小到 {5,6}
  3. “是5吗?” → 是 → 猜中!

刚好问了 3 个“是/否”问题

而且无论我想的是哪个数(1~8),你最多只需 3 问就能确定。

🔑 所以:这件事的“信息熵”就是 3 比特(bits)。

为什么?因为 1~8 共 8 种可能,而

2^3=8

→ 需要 3 个“是/否”(每个提供 1 比特信息)才能区分 8 种情况。


📏 熵的量化规则(通俗版)

表格

可能结果数量最少需要几个“是/否”问题?熵(比特)
2 种(如硬币正反)1 问1 bit
4 种(如扑克花色)2 问2 bits
8 种3 问3 bits
16 种4 问4 bits
NN 种(等概率)log⁡2Nlog2​N 问log⁡2N bits

熵 = 把所有可能性“砍半”直到剩一个,平均需要砍几次


⚖️ 如果结果不是“等概率”呢?

现实往往不公平!比如:

一个袋子里有:

  • 7 个红球
  • 1 个蓝球
    你随机摸一个,我猜颜色。
  • 如果摸到红球(概率 7/8):我大概率猜“红”,很容易猜对 →获得的信息少
  • 如果摸到蓝球(概率 1/8):哇!太意外了 →获得的信息多

但熵是“平均”信息量!

怎么算平均?
  • 大部分时候(7/8)你只得到一点点信息;
  • 很少时候(1/8)你得到很多信息;
  • 平均下来,总信息量小于 1 比特(因为比公平硬币更可预测)。

💡 直观感受:

  • 公平硬币(正反各50%):熵 =1 bit(最难猜)
  • 这个红蓝球袋子:熵 ≈0.54 bit(更容易猜,所以熵更低)

越偏向某一个结果,熵越小;越公平,熵越大


🛠️ 为什么用“比特”做单位?

因为:

  • 计算机底层只有0 和 1(相当于“否”和“是”);
  • 1 比特 = 1 个二进制选择
  • 所有信息最终都可以拆成一串“是/否”判断。

所以,熵用“比特”量化,直接对应了“存储或传输它所需的最小数据量”

📌 例子:

  • 英文文本的熵约为4.7 比特/字母(因为有些字母常出现,如 e, t;有些很少,如 z, q)
  • 所以理论上,英文可以压缩到原始大小的 4.7/8 ≈ 60%(因为 ASCII 用 8 比特存一个字母)

✅ 终极通俗总结:

表格

问题回答
信息熵怎么量化用“比特(bit)”
1 比特是什么1 个“是/否”问题所包含的信息量
熵 = 3 比特意味着什么平均需要 3 个“是/否”问题才能确定结果
熵高 vs 熵低熵高 = 难猜、公平、信息量大;熵低 = 好猜、偏科、信息量小

🎮 小测试(自测理解):

  1. 抛一枚两面都是正面的硬币,熵是多少?
    0 比特(不用问就知道结果)
  2. 从52张扑克牌中随机抽一张,熵大约是多少?
    → 因为 25=3225=32 , 26=6426=64 ,52 在中间 →约 5.7 比特

如果你愿意,我可以带你玩一个“20个问题猜动物”的游戏,让你亲身体验“用最少的是/否问题获取最大信息”——这正是信息熵的精髓!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:22:00

【时时三省】(C语言基础)结构体的内存对齐

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题1: 这个结构体一共占多少个字节呢? 如果按每个类型的大小,然后加在一起来算的话,就是14个字节 但是14个字节是不对的 结构体的字节不是…

作者头像 李华
网站建设 2026/6/10 9:26:47

Git分支命令

切换到新分支 git checkout new_branch 基于当前所在的分支创建新分支 git branch new_branch 基于当前所在的分支创建新分支&&切换到新分支 git checkout -b new_branch 基于远程分支创建本地新分支&&切换到新分支 git checkout -b branchA origin/br…

作者头像 李华
网站建设 2026/6/10 9:25:40

7.1 Kubernetes集群运维实战:节点管理、证书更新、版本升级完整指南

7.1 Kubernetes集群运维实战:节点管理、证书更新、版本升级完整指南 引言 集群运维是Kubernetes生产环境的重要工作。通过节点管理、证书更新、版本升级等操作,可以保持集群的稳定运行。本文将详细介绍集群运维的完整流程。 一、节点管理 1.1 节点维护 # 标记节点不可调…

作者头像 李华
网站建设 2026/6/10 10:52:44

模板元编程应用场景

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/6/10 11:57:48

内存破坏调试技巧

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/6/10 11:05:22

AI产品经理核心能力图谱:不只是写Prompt,这些能力才是关键!

文章解析了AI产品经理与传统产品经理的本质区别,阐述了三大职责(需求定义、跨域协同、效果迭代)和四大核心能力(技术理解力、业务洞察力、数据敏感度、风险把控力)。AI产品经理不是简单会写Prompt,而是需要…

作者头像 李华