CSYS5030 Week 01 Uncertainty and Entropy I 讲课总结
CSYS5030 Week 01 讲课总结:Uncertainty and Entropy I
课程:CSYS5030 — Information Theory and Self-Organisation,Semester 2 2026 讲师:Associate Professor Joseph Lizier(School of Computer Science) Tutors:Alex、Mike、Winky(Alex 会在每次 seminar 后半段进来协助) 对应模块:Module 0 - Overview + Module 1 - Uncertainty and Entropy I 来源:Week 01 seminar 字幕 + Canvas Module 1 页面
这门课今年有两个大变化:3 小时 seminar 拆成 2 小时 seminar + 1 小时 tutorial,以及新增期末考试。老师说选课人数原本冲到 350 人,unit outline 一上线披露有考试,人数直接掉了一半——"我觉得这件事很有意思"。
一、课程运作方式
1.1 翻转课堂(Flipped Classroom)
这是本课最重要的运作规则:
每周的短讲座录像是你的"作业",必须在来上课之前看完。
| 项目 | 说明 |
|---|---|
| 短视频数量 | 每周 3–5 个,每个 5 / 10 / 15 分钟,任何一周总时长不超过 1 小时 |
| 课上做什么 | 老师快速回顾视频内容 + 开放提问,把时间尽量留给 activities |
| Tutorial 前 | 至少把 tutorial 题目读一遍,这样上课能直接上手 |
| 提前做完了怎么办 | 每个模块都有 challenge / extension exercises。前两周单独放在页面底部,Week 3 之后会更多地整合进正文 |
| 中场休息 | 2 小时 seminar 中间约 19:00 休息 5 分钟 |
Week 1 老师会讲慢一点,从 Week 2 开始就会假设你已经看过视频,快速略过。
1.2 每周模块页的固定结构
每周一个 module 页面,布局一致:
- First steps(pre-class poll、Menti 链接、本周 tutorial 会做哪几项)
- Readings(主要是给想深入的人参考,不是必读)
- Short lecture recordings(课前必看)
- Activities(课上 + tutorial 做)
- Challenge exercises
老师会在每个模块页顶部标注"tutorial 会集中做哪几项"。Module 1 是 Item 5(Coding Shannon information content) 和 Item 7(Coding Shannon entropy)。
1.3 编程环境
- Python 和 MATLAB 全部双份提供,所有 activity 两种语言都有。
- 老师用 Python 演示(因为课上举手绝大多数选 Python)。
- 前 4 周的练习都在 code template 压缩包里:解压后有 4 个 notebook(每个 module 一个)。
- 不需要很强的编程能力——所有人至少修过 COMP9001(Python 入门)。Week 5 之后会用老师自己开发的工具(JIDT)生成代码模板。
老师关于 AI 编程助手的态度值得记: "它能瞬间猜出你要写什么,但请慢下来。这些练习的重点不是把它做完,而是想清楚这些量是什么意思。别一路 accept、accept、accept——那样你什么都没学到。"
1.4 时间投入与沟通
| 项目 | 内容 |
|---|---|
| 学分与投入 | 6 学分 → 每周约 10 小时(含上课时间、作业、预习) |
| Source of truth | Unit of Study outline。如果 Canvas 和它冲突,以 UoS outline 为准 |
| 答疑 | 没有 consultation hours(学院取消了)。问题带到 seminar / tutorial,或发到 每周一个的 discussion 分区 |
| Tutorial 出席 | 尽量去自己被分配的那场;人数不失衡的话可以灵活调整,甚至多去几场。但如果出现一场 60 人另一场 0 人,就会强制回到分配名单 |
1.5 考核安排(共 5 项)
| # | 评估 | 权重 | 说明 |
|---|---|---|---|
| 1 | Early Feedback Task (EFT) | 0% | 政府规定要检查学生早期是否参与课程。就是点 tutorial 的名,前 3–4 周没来就发邮件问一句。不用担心 |
| 2 | Calculation exercises | 0% | 去年的 take-home assignment,因为 Gen AI 时代不再当正式评估。但是很好的期末考练习,名义截止约 Week 5,之后放答案,Week 6 或 7 在课上讲解 |
| 3 | Project proposal | 计分 | 对自己选定的系统做数据分析的提案,约 1000 字;构造一组能用本课工具回答的问题。9 月底截止,两周内给反馈 |
| 4 | Final project | 计分 | 不是报告,是视频 presentation(约 10 分钟)+ 提交代码(可以是 notebook)。在 proposal 反馈后至少还有 3 周 |
| 5 | Final exam | 40% | 闭卷。老师明确说"我看不出会改成开卷" |
其他要点:
- 全部是个人作业(individual)。
- Simple extension 只适用于 project proposal——presentation 类评估不符合延期资格。
- 项目选题范围:只要用本课教的工具分析一个数据集,基本都在范围内。老师形容它是 "mini research project"。
二、这门课到底在讲什么
2.1 三个主题
老师说这是一门关于三件事的课:
| # | 主题 | 说明 |
|---|---|---|
| 1 | 用信息论做数据的统计分析 | 主要用来度量变量的变异性和不确定性;但更有意思的是用它理解变量之间的关系——可以把它想成一种非线性的相关性度量(Week 3 开始) |
| 2 | 研究自组织(self-organisation) | 通过刻画分布式系统内部各部分之间的关系,理解各部分如何协同、如何随时间变化 |
| 3 | 刻画系统如何处理信息 | 世界上的系统像计算机一样在计算——虽然方式和眼前这台电脑不同 |
2.2 三大板块(13 周)
| 板块 | 周次 | 内容 |
|---|---|---|
| Introduction to Information Theory | W1–4 | 熟悉信息论的基本度量:entropy 和 mutual information,理解它们对数据提出了什么问题。只处理离散数据,分析场景是理想化的 |
| Empirical Analysis with Information Theory | W5–8 | 真实世界数据分析:更复杂的工具箱(JIDT)、小数据问题、如何判断"没有关系 / 弱关系 / 强关系"、统计显著性、如何改造这些度量以处理连续值数据 |
| Information Processing in Complex Systems | W9–12 | 用这些度量解剖真实系统如何处理信息——信息如何被存储、传递、修改 |
| Wrap-up | W13 | 总结 |
2.3 研究动机:复杂系统与信息
复杂系统的定义(要记):
A large collection of entities where the global (system-level) behaviour is a non-trivial result of what the individual entities are doing, because of their interactions. (一大群实体,其系统层面的行为是各个体行为因交互而产生的非平凡结果。)
老师最爱举的例子:
| 系统 | 为什么"复杂" |
|---|---|
| 大脑 | 数十亿神经元。单个神经元极其简单——接收到足够多的电脉冲就充电,然后放电发出一个 spike。把数十亿个放在一起,就出现了意识和认知。 这怎么可能从那些交互中产生? |
| 萤火虫 | 同步闪烁 |
| 元胞自动机(Cellular Automata) | — |
| 鸟群 / 鱼群(swarm / flocking) | — |
| 蚁群 | — |
为什么用信息论:因为我们本来就在用信息的语言描述这些系统:
| 系统 | 我们怎么描述它 |
|---|---|
| 大脑 | 通过感觉器官接收信息 → 处理信息决定做什么 → 通过运动输出把信息传回世界 |
| 萤火虫 | 在闪烁同步时把信息存储在它们的相位里 |
| 鱼群 | 信息传递——一侧的鱼察觉捕食者转向,引起下一条转向,再下一条……直到整个鱼群避开捕食者。我们把这叫做信息在鱼群中的流动 |
还有两个可以用信息论度量的概念:
- Self-organisation = 秩序随时间增加(an increase in order over time)
- Emergence = 秩序随尺度增加(an increase in order over scale)
Murray Gell-Mann(诺贝尔奖得主)的引言(老师用它收尾动机部分):
尽管这些复杂系统在物理属性上千差万别,它们在处理信息的方式上却彼此相似;这个共同特征也许是探索它们如何运作的最佳起点。
三、What is Information?
3.1 一些不够好的答案
课堂 Menti 上收集到的回答,老师挑出来点评:
| 回答 | 点评 |
|---|---|
| "数据" | 有一定道理,但不够 |
| "有意义的数据"(meaningful data) | 更好。信息总是关于某件事的(information is always about something) |
关键区分:数据本身的 entropy / 随机性 / 变异性,可以不关于任何东西;但如果我们谈的是信息,它一定是关于某件事的。
3.2 信息论的定义与由来
Information theory = 试图定量刻画"信息"这个概念的方法。
最初是为了回答两个基本问题:
- 数据的极限压缩率是多少?("我最多能把东西压缩到多小?")
- 在给定的通信线路上能以多快的速度传输数据?("我家的最大下载速度是多少?")
但它现在被用在远比这宽广的场景,包括机器学习。
3.3 Lizier 反复强调的一句话
⭐ "Information is all about questions and answers."
更精确的表述:
信息 = 一个变量(可以是某个问题的答案、某个信号、某次测量)减少我们对另一个变量的不确定性、或让我们对它感到惊讶的量。
所以要量化信息,我们需要量化两样东西:
| 要量化的东西 | 对应的度量 |
|---|---|
| 不确定性本身 | Entropy |
| 不确定性的减少 | Information |
3.4 单位:bit
1 bit = 关于某个"等概率的是非问题"所具有的不确定性的量。
等价地:一个 50/50 问题的答案提供 1 bit 的不确定性减少。
例:如果男女是 50/50,那么当我得知一个人的性别时,我获得了 1 bit 的信息。经典例子就是抛硬币。
课堂好问题:学生问——按这个定义,信息是相对于观察者存在的吗?如果有个全知的观察者,信息就不存在了。它有客观意义吗? 老师的回答:问得很好,信息确实是相对的——它是关于最终不确定性相对于初始不确定性的量,而初始不确定性可能是依赖于观察者的。完整讨论留到 Week 3。
四、Guess Who? — 用游戏建立直觉
Module 1 的核心活动。规则:每人一块有 24 个卡通人物的板,各自随机抽一张牌代表自己。轮流问只能回答是 / 否的问题("你的角色戴帽子吗?"),根据答案翻下被排除的角色,最先确定对方角色的人获胜。
4.1 最好的策略是什么
答案:50/50 的问题。
课堂上学生给出的两个理由(老师说"你们答得太好了,我埋的坑全被绕开了"):
| 理由 | 说明 |
|---|---|
| 无论答案是 yes 还是 no,你都能排除很多 | 而如果直接问"你是 Bob 吗",得到"不是"几乎没告诉你任何信息 |
| 权衡"能减少多少不确定性"和"得到该答案的概率有多大" | 问"你叫 Bob 吗"猜中概率极低;问"你是棕发吗"可以一次排除 30%–70% 的人 |
4.2 游戏里的不确定性和信息
| 类别 | 内容 |
|---|---|
| Uncertainty | 对方抽了哪张牌;对方角色的各项特征(性别、是否戴帽子……);甚至对方会问什么问题(这个游戏里没法处理) |
| Information | 每收到一个答案,你就获得信息;你逐渐了解对方的角色,对方也逐渐了解你的 |
4.3 核心句子
老师要学生用 uncertain 和 information 两个词造一句话来描述游戏过程,得到的答案是:
⭐ Information reduces uncertainty.
展开成完整过程:
提问前,我对对方的角色和某个具体特征都有一定程度的不确定性 → 我问那个特征 → 这减少了我对特征和角色两者的不确定性 → 因此给了我信息。
Guess Who 的美妙之处在于这件事是可视的:当你把角色一个个翻下去时,你能亲眼看到自己的不确定性在减少。
4.4 两个花絮
- 实体版游戏故意做了不平衡:几乎每个特征都不是 50/50,所以你找不到好的 50/50 问题。板上是 19 男 5 女。Star Wars 版里光剑大概是唯一接近 50/50 的特征。
- 老师小时候自作聪明,问"你的角色在左半边还是右半边?",一路二分下去锁定了一个角色——结果发现两人的板排列顺序完全不同。(教训:问题必须是双方共享语义的。)
五、前置概念:随机变量
老师反复强调:基础统计和概率是本课的 assumed knowledge,不扎实的话必须补(Bossomaier 第 2 章到 2.5 节,或 Mackay 第 2 章 2.1 节)。
| 概念 | 说明 |
|---|---|
| Random variable | 取值由随机性决定的变量,代表我们的答案、信号或测量。例:抛硬币的结果、今天是否下雨 |
| 记号约定 | 大写字母( |
| Alphabet(字母表) | 样本取自一个离散集合。二值变量: |
| 每个结果有一个确定的概率;所有概率 |
样本 vs 随机变量的区别很重要:随机变量是"是否下雨"这件事本身;样本是"今天,没下雨"这个具体结果。连续值变量留到学期后半段。
六、Shannon Information Content
6.1 定义
这是信息论的基本量,其他一切都从它构建出来。
它关联的是一个具体的样本,不是随机变量本身。
关于底数:底数只决定单位,就像米和英尺的换算。
| 底数 | 单位 |
|---|---|
| 2 | bits ⭐本课默认 |
| nats(natural units) | |
| 10 | dits |
重要的是把单位写清楚,而不是必须用哪个底。
6.2 直觉:Surprise(惊讶度)
⭐ 理解 Shannon information content 的最好方式是把它看作"看到这个具体样本值时的惊讶程度"。
三条性质:
| 性质 | 说明 | 例子 |
|---|---|---|
| 恒非负 | — | |
| 如果总是得到同一个结果,就没有惊讶, |
Guess Who:如果剩下的 5
个角色全是男性,你还问"你的角色是男的吗?"——这是个愚蠢的问题,因为答案必然是
yes, |
|
| 只要有 >1 个非零概率的结果,就总有非零的惊讶 | — | 干旱期的雨量计:去年至少下过一天雨,所以出门看之前两种结果概率都非零 → 无论看到什么,都会有一定程度的惊讶 |
| ⭐ 事件越不可能,越惊讶 | — |
6.3 三条公理(唯一性的来源)
老师提到(Week 2 会正式展开):这个表达式可以从三条关于"惊讶度应该长什么样"的公理中唯一推导出来:
| # | 公理 |
|---|---|
| 1 | 单调性:随着事件概率降低,惊讶度应单调增加 |
| 2 | 连续性:改变概率值时,惊讶度应连续变化,不应出现跳变 |
| 3 | 可加性:对独立事件,总惊讶度应该相加(老师用"押两场不同比赛的串关(accumulator bet)"作比喻) |
这三条放在一起,惊讶函数的形式就被锁死了——只剩对数底数可选(也就是单位可选)。
6.4 编程练习(Item 5)
函数实现:
import numpy as np |
⚠️ 必须用
log2,否则单位不是 bit。用np.log(2)是完全不同的东西。
要计算的例子与结果:
| 事件 | ||
|---|---|---|
| 公平硬币掷出正面 | 1 | |
| 六面骰掷出 1 | 2.585 | |
| 六面骰不是 1 | 0.263 | |
| 二十面骰掷出 1 | 4.322 | |
| 二十面骰不是 1 | 0.074 |
⭐ 老师特别强调的一个概念点: "骰子上出现的是什么数"和"我掷出的是不是 1"是两个不同的随机变量。前者字母表大小是 6,后者是 2。 "Information theory is all about questions and answers. 要留神你问的到底是哪个问题。"
结果的解读:
- 六面骰:
远高于 ,因为 1 是更不可能的事件 → 更惊讶。 - 换成二十面骰:
上升(更不可能了), 下降(更可能了)。
七、Shannon Entropy
7.1 定义
即:把每个结果的 Shannon information content 按其概率加权求和 —— 是所有可能结果上的平均惊讶度。
物理学家会把这个求和叫做 expectation value:在这个分布上,我期望获得多少惊讶?
7.2 两种解读:Uncertainty vs Average Surprise
| 解读 | 时点 |
|---|---|
| Uncertainty(不确定性) | 在看到值之前,我们平均拥有的东西 |
| Average surprise(平均惊讶度) | 在看到值之后,我们获得的东西 |
老师的立场:两种说法都对,教科书和口语里 "uncertainty" 用得更多,他自己也会常这么说;但他认为 ⭐ "平均惊讶度"是更好的理解方式。
7.3 的极限(重要细节)
一个永远不会发生的结果,对 Shannon entropy 没有贡献。
为什么这很重要(老师的例子):Guess Who 的发色是
{blonde, black, brown, grey, red}。如果我往集合里加一个
blue(没有人是蓝头发,
课堂追问:那"永不发生的事"是不是有最大的不确定性? 老师:对。如果某件事真的发生了,它的 information content 会发散到无穷 —— ⭐ "你不可能比被一件你以为绝不可能发生的事更惊讶。"
7.4 三个边界情形(必背)
| 情形 | 解释 | |
|---|---|---|
| 存在一个结果 |
0 | 每个结果的 information content 都是 0,平均自然是 0。用"不确定性"解读也很自然:对一个永远取同一个值的变量,我们没有任何不确定性 |
| 二值变量, |
1 bit | 每种情形的惊讶度都是 1 bit,平均也是 1 bit。经典的抛硬币 / 是非问题 |
| 全部等概率,字母表大小 |
每个结果的 |
7.5 编程练习(Item 7)
- 复用上一步写的
info_content来实现entropy(p_table)—— 老师说 ⭐ "这就是好的编码习惯:搭建这个库时,复用已经写过的部分。" - 测试的概率表:
[0.5, 0.5]、[0.25, 0.25, 0.25, 0.25]、[1, 0](一个必然发生一个永不发生) - 画图、再应用到 Guess Who 的例子上
老师对这些练习难度的说明: "这些练习很简单,这是故意的。" 重点不是编程挑战,而是 ⭐ 把它们敲成代码这个动作本身,会逼你去想这些量到底是什么;再把它们套到简单例子上,会逼你去想这些量到底意味着什么。 觉得太快的话,页面底部有大量 challenge exercises。
八、考点重点
- 复杂系统的定义:一大群实体,系统层面行为是个体行为因交互产生的非平凡结果。要能举例(大脑 / 萤火虫 / 元胞自动机 / 鸟群 / 蚁群)并说明"为什么它复杂"。
- Self-organisation = 秩序随时间增加;Emergence = 秩序随尺度增加。
- 信息论最初要回答的两个问题:极限压缩率、通信线路的最大传输速率。
- ⭐ 信息的定义:一个变量减少我们对另一个变量的不确定性(或让我们惊讶)的量。Information = reduction in uncertainty。
- 要量化信息,需要量化两样东西:不确定性本身(entropy)+ 不确定性的减少(information)。
- 1 bit 的定义:一个等概率是非问题所含的不确定性;或者说 50/50 问题的答案提供 1 bit 的减少。
- 大小写约定:
是随机变量, 是样本 / 结果。Shannon information content 关联的是样本,entropy 关联的是随机变量。 - ⭐ Shannon information content 公式
;理解为惊讶度;恒非负; ; 越小 越大。会换算单位(bits / nats / dits)。 - 三条公理:单调递增、连续、独立事件可加 → 唯一确定形式(只剩底数可选)。
- ⭐ Shannon entropy 公式
;理解为平均惊讶度 / expectation value;会解释 uncertainty 与 average surprise 的时点差别。 - ⭐ 三个边界情形:
;二值 50/50 bit; 个等概率 bits。 :零概率结果不贡献熵;但若它真的发生,information content 发散。 - 会手算:
、 、 、 这类。 - ⭐ "骰子上是什么数" vs "是不是 1" 是两个不同的随机变量 —— 这类"你到底在问什么问题"的辨析很可能出考题。
- Guess Who 的策略分析:为什么 50/50 问题最好;为什么"你是 Bob 吗"是坏问题;为什么在只剩男性时问"是男的吗"没有信息。