CSYS5030 Week 04 What is Information? II 讲课总结
CSYS5030 Week 04 讲课总结:Conditional Mutual Information
课程:CSYS5030 — Information Theory and Self-Organisation 讲师:Associate Professor Joseph Lizier 对应模块:Module 4 - What is Information? II(Contents: Conditional mutual information) 来源:Week 04 seminar 字幕 + Canvas Module 4 页面 Tutorial 覆盖:Items 4、6、7
这一讲是信息论基础模块的最后一块。老师说 Week 5 会留至少 30 分钟做 Q&A,把整个入门模块收尾,之后进入应用。
一、Conditional Mutual Information 的定义与推导
定义
和互信息的定义完全平行——只是每一项都加上了「已知
推导思路:先固定 ,再平均
老师的推导方式很直观,值得掌握:
- 第一步:先假设
取某个具体值 。此时就是在那个特定情境下算普通的互信息——把所有分布换成条件分布即可。 - 第二步:这个值依赖于我们碰巧看到哪个
。要得到一个总体的量,就对所有可能的 按 加权平均。 - 第三步:合并权重时用 Bayes 规则:
于是外层的期望自然变成对完整三元联合分布
等价形式(Canvas Item 6 要求证明)
读法:在已经知道
性质:与互信息一一对应
| 互信息 | 条件互信息 |
|---|---|
| KL 散度形式 | 条件 KL 散度形式 |
| 编码代价解读 | 条件编码代价解读 |
| 非线性相关 | 非线性「偏相关」(partial correlation) |
偏相关的类比很关键:统计里的偏相关是「扣掉
的影响之后, 与 还剩多少相关」。CMI 是它的非线性版本——但下面马上会看到,这个类比有一个大坑。
二、本讲最反直觉的一点:条件化可能增加互信息
三种可能的情形
把
| 情形 | 关系 | 名称 |
|---|---|---|
| 无影响 | — | |
| 下降 | Redundancy(冗余) | |
| 上升 | Synergy(协同) |
必须打破的直觉:很多人(尤其是有统计背景的)会想当然地认为「条件化 = 把
的贡献扣掉,所以结果只会变小或不变」。 这是错的。 条件互信息完全可能大于无条件互信息。 原因:条件化不是「减去」
——而是「站在已知 的位置上重新审视 与 的关系」。 有些关系只有在知道 之后才看得见。
情形 A:Redundancy(冗余)—— 互为拷贝
设
bit( 完全决定 ) - 但一旦知道了
, 已经完全确定了, 再也提供不了任何新东西
解读:
关于 的那 1 bit 信息,和 提供的那 1 bit 是重复的、冗余的。条件化把重复部分扣掉了 → 这才是「偏相关」直觉成立的情形。
情形 B:Synergy(协同)—— XOR 的经典例子
设
| 量 | 值 | 为什么 |
|---|---|---|
| 0 bits | 只看 |
|
| 1 bit | 一旦知道了 |
这就是协同:
和 单独都没有关于 的信息,但联合起来就有完整的 1 bit。信息只存在于二者的组合中,不存在于任何一个单独的变量里。 从 0 上升到 1 bit —— 条件化让互信息凭空「增加」了整整一个 bit。
判据:
⚠️ Information Decomposition(信息分解)
现实中的数据往往同时含有冗余和协同,上面的差值只给出净效应——两者可能互相抵消。如何把它们分离开来是一个活跃的研究领域(老师自己的研究方向之一),本课程不深入,但需要知道这个概念存在。
三、互信息的链式法则(Chain Rule)
读法:「信息回归」
老师的类比:这就像回归分析——
- 先看第一个变量单独能解释目标多少(
) - 再看第二个变量在第一个之上还能额外解释多少(
) - 依此类推
关键性质:顺序无关。 只要每一步都条件化在「已经看过的所有变量」上,无论按什么顺序展开,总和永远相同——就是那个联合互信息
。 上面两种展开(先
后 / 先 后 )给出完全相同的结果,尽管中间的每一项可能差别很大。
适用范围
链式法则同样适用于:
- 逐点版本(pointwise)
- 条件版本(在所有项上再统一加一个条件变量)
Pointwise CMI
和逐点互信息一样,它也可以是负的——在已知
💡 补充:互信息可以脱离熵独立定义
老师提到一个有意思的历史/理论点:互信息可以通过公理化的方式独立推导出来,不必先定义熵。其中最关键的公理就是可加性(additivity),也就是链式法则。
意义:互信息不是熵的附属品,它本身就是一个基础量。这也呼应了 Week 3 的
——反过来看,熵才是互信息的特例。
四、Canvas Item 6:数学练习(重点)
Canvas 明确列出两道计算题,老师说 不计分,但几周后会讲答案,强烈建议自己先做。
题 1:证明等价形式
思路:从定义
题 2:Data Processing Inequality(数据处理不等式)
设
用链式法则的两种展开:
同理可证
物理含义:信息在处理链条上只会丢失、不会凭空增加。
是从 加工出来的,所以 关于 的信息不可能超过 关于 的信息。 ⚠️ 注意这条依赖马尔可夫假设。上一节的 XOR 例子就说明——没有条件独立时,条件化完全可以让互信息上升。
五、扩展活动:Seinfeld 文本中的条件互信息
一个漂亮的真实协同实例
Week 3 测的是相邻字符(lag 1)的互信息 ≈ 0.7 bits。这周改测条件互信息——看更远的字符,并条件化在中间隔着的那些字符上。
| 测量 | 值 | 说明 |
|---|---|---|
| lag 1(相邻,无可条件化) | 0.7 bits | 与 Week 3 的互信息完全相同 |
| lag 2(隔一个,条件化在中间那个字符上) | > 0.7 bits | 比相邻字符的信息量还大——超过两倍于该字符对的无条件互信息 |
这正是协同(synergy): 「S 对隔了两位的 M」这个关系,在两两配对时看不见;但一旦条件化在中间那个 A 上,信息量翻了一倍还多。
直观理解:有了中间字符提供的上下文,才能对接下来的字符做出更好的预测。
用链式法则累加「过去的全部信息」
翻转视角:不问「S 能告诉我多远之后的字符」,而问 「我的目标字符能从它前面所有字符那里得到多少信息」。
用链式法则展开:
图上每一个点就对应链式法则里的一项——所以把图上的点全加起来,就得到过去对下一个字符的总信息量:
老师的解读:每 1 bit 信息把可能性空间砍掉一半。2.5 bits ≈ 把下一个字符的可能范围缩小到约 1/5 ~ 1/6——光看前 5 个字符就能做到。这是相当大的信息量。
六、Scissors-Paper-Rock 分析(Stage 3–5):时序样本配对的坑
Week 3 的结论是:熵与胜率没有显著相关,因为熵分不清「真随机」和「完美循环」。这周用条件熵和互信息来回答正确的问题:
- 下一步 vs 上一步:
、 - 是否在对对手的上一步做反应
⚠️ 关键实现难点:样本怎么取
老师强调「最麻烦的部分是怎么收集样本」:
算熵时很简单——每一局给一个样本,全部堆在一起即可。 但一旦涉及时序关系,「上一步」和「下一步」是两个不同的随机变量,样本要成对提取。
设某一场的招式序列为 0 2 1 1 2 0:
| 变量 | 取法 | 结果 |
|---|---|---|
| previous | 去掉最后一个 | 0 2 1 1 2 |
| next | 去掉第一个 | 2 1 1 2 0 |
对齐后得到样本对:(0,2), (2,1), (1,1), (1,2), (2,0)
⚠️⚠️ 绝对不能跨场次边界取样本
老师特别强调:不要把「上一场的最后一招」和「下一场的第一招」配成一对。
理由:那是跟不同对手下的。「我不会像对老对手那样,去反应一个新对手根本不存在的上一步。」每一场是一个独立的 realisation。
正确做法:逐场提取样本对,然后把各场的样本对拼在一起统一算概率。
💡 代码提醒(老师课上说的):如果你在自建信息论工具库(而不是用参考答案),这周开始前要重新运行 import 那个 cell——因为上周你往库里加了互信息的代码,不重跑不会生效。
七、考点重点
- CMI 定义
,以及等价形式 。 - 推导逻辑:先固定
算条件互信息,再按 平均;合并权重时 。 给定 时条件独立: 。- 条件化不等于「扣掉」——CMI 可以大于 MI。三种情形:无影响 / 下降(冗余)/ 上升(协同)。
- 两个必背例子:
- 冗余:
互为拷贝 → , - 协同(XOR):
→ , bit
- 冗余:
- 链式法则
——「信息回归」,顺序无关,只要条件化在已看过的变量上。 - 数据处理不等式:
马尔可夫 ⟹ ⟹ 。 - Pointwise CMI 也可为负。
- 实测印象:Seinfeld lag 2 的条件互信息 > lag 1 的互信息 0.7 bits ⟹ 协同;前 5 个字符累计 ≈ 2.5 bits。
- ⚠️ 时序取样:previous = 去掉最后一个,next = 去掉第一个,绝不跨场次边界。
八、入门模块回顾(Week 1–4)
| Week | 核心量 | 回答的问题 |
|---|---|---|
| 1–2 | 熵 |
单个变量有多不确定 |
| 3 | 互信息 |
两个变量共享多少信息 |
| 4 | 条件互信息 |
引入第三个变量后,关系如何改变 |
贯穿这四周的主线: 熵告诉你不确定性有多大;互信息告诉你两个变量之间有没有关系;条件互信息告诉你这个关系是「重复的」还是「只有合起来才存在的」。 这三层递进正是后续应用(特征选择、信息流分析、自组织系统)的全部基础。