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 页面,布局一致:

  1. First steps(pre-class poll、Menti 链接、本周 tutorial 会做哪几项)
  2. Readings主要是给想深入的人参考,不是必读
  3. Short lecture recordings(课前必看)
  4. Activities(课上 + tutorial 做)
  5. 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 = 试图定量刻画"信息"这个概念的方法。

最初是为了回答两个基本问题

  1. 数据的极限压缩率是多少?("我最多能把东西压缩到多小?")
  2. 在给定的通信线路上能以多快的速度传输数据?("我家的最大下载速度是多少?")

但它现在被用在远比这宽广的场景,包括机器学习

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 核心句子

老师要学生用 uncertaininformation 两个词造一句话来描述游戏过程,得到的答案是:

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(字母表) 样本取自一个离散集合。二值变量:(也可标为 heads/tails);Guess Who 的发色:blonde, brown, black, grey, red
PDF 每个结果有一个确定的概率;所有概率 总和为 1

样本 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

def info_content(p):
return -np.log2(p)

⚠️ 必须用 log2,否则单位不是 bit。用 np.log(2) 是完全不同的东西。

要计算的例子与结果

事件 (bits)
公平硬币掷出正面 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。经典的抛硬币 / 是非问题
全部等概率,字母表大小 每个结果的 ,平均也一样。例:4 个等概率结果 → bits

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。


八、考点重点

  1. 复杂系统的定义:一大群实体,系统层面行为是个体行为因交互产生的非平凡结果。要能举例(大脑 / 萤火虫 / 元胞自动机 / 鸟群 / 蚁群)并说明"为什么它复杂"。
  2. Self-organisation = 秩序随时间增加;Emergence = 秩序随尺度增加。
  3. 信息论最初要回答的两个问题:极限压缩率、通信线路的最大传输速率。
  4. 信息的定义:一个变量减少我们对另一个变量的不确定性(或让我们惊讶)的量。Information = reduction in uncertainty。
  5. 要量化信息,需要量化两样东西:不确定性本身(entropy)+ 不确定性的减少(information)。
  6. 1 bit 的定义:一个等概率是非问题所含的不确定性;或者说 50/50 问题的答案提供 1 bit 的减少。
  7. 大小写约定 是随机变量, 是样本 / 结果。Shannon information content 关联的是样本,entropy 关联的是随机变量。
  8. Shannon information content 公式 ;理解为惊讶度恒非负 越小 越大。会换算单位(bits / nats / dits)。
  9. 三条公理:单调递增、连续、独立事件可加 → 唯一确定形式(只剩底数可选)。
  10. Shannon entropy 公式 ;理解为平均惊讶度 / expectation value;会解释 uncertainty 与 average surprise 的时点差别。
  11. 三个边界情形;二值 50/50 bit; 个等概率 bits。
  12. :零概率结果不贡献熵;但若它真的发生,information content 发散
  13. 会手算 这类。
  14. "骰子上是什么数" vs "是不是 1" 是两个不同的随机变量 —— 这类"你到底在问什么问题"的辨析很可能出考题。
  15. Guess Who 的策略分析:为什么 50/50 问题最好;为什么"你是 Bob 吗"是坏问题;为什么在只剩男性时问"是男的吗"没有信息。

九、行动清单