熵度量单个随机变量的不确定性;互信息(Mutual Information)回答的是两个变量之间共享多少信息——知道 之后, 的不确定性减少了多少。它把熵、条件熵、联合熵串成一张韦恩图,本质上又是 KL 散度的一个特例。
定义(离散随机变量)
设离散随机变量 ,联合分布 ,边缘分布 :
逐项看, 衡量组合 实际出现的频率偏离独立假设的程度:比值大于 1 的格子贡献为正,小于 1 的贡献为负,但加权求和整体恒非负——KL 关系一节会给出保证。
对数底数
- 底数 2:单位 bit(比特,信息论标准)
- 底数 :单位 nat(奈特,机器学习常用)
等价形式
下面三条等价式比定义式更常用,也是理解互信息更直观的入口:
- : 的熵(不确定性)
- :已知 条件下 的条件熵
- :联合熵
直观含义:知道 之后, 的不确定性减少了多少——减少的那部分就是两个变量共享的信息量。 是天气、 是是否带伞, 很高,天气基本决定带不带伞; 是今天气温、 是比特币价格,,两者几乎独立,知道一个对另一个没有信息增益。
互信息有三条直接可用的性质:
- 非负:,等于 0 当且仅当 相互独立
- 对称:,「 里含多少 」与「 里含多少 」是同一件事
- 自互信息:,变量自身的互信息就是它的熵
连续随机变量(微分互信息)
把求和换成积分:
微分熵可为负,微分互信息不会
微分熵 依赖坐标系,可以取负值;但微分互信息依旧 ——它是 KL 散度,而 KL 散度非负。
与 KL 散度的关系
互信息等价于联合分布 对独立假设分布 的 KL 散度:
KL 衡量两个分布的差异;互信息衡量的正是「真实联合分布」与「假设两变量独立」这两个分布差多远。差得越远,独立假设越不成立,依赖越强。KL 非负直接给出互信息的非负性。
手算一个 2×2 例子
定义式看着抽象,手算一遍就落地。取 (一枚公平硬币), 是 经过错误率 的二值对称信道(BSC)后的输出——每个比特有 10% 概率翻转。联合分布:
| 0.45 | 0.05 | |
| 0.05 | 0.45 |
边缘分布都是 ;若 独立,每格应为 。代入定义式:
换等价形式验算: bit(均匀分布), bit,其中 是二元熵函数,对应「每看一次 , 只剩 10% 翻转的不确定性」。于是 bit,与定义式一致——被噪声吃掉的 0.469 bit 正是条件熵。
常见误区
容易踩错的三个点:
- 互信息不是皮尔逊相关系数。相关系数只捕捉线性关系,互信息捕捉任意依赖。反例:,,皮尔逊相关为 0(对称分布下奇次矩为零),但 完全决定 ,。
- 互信息不是因果。 只说明存在统计依赖,不承诺方向与机制——观测顺序、混杂变量都会制造出互信息。
- 没有归一化值域。相关系数有固定区间 ;互信息非负,离散情形上界为 ,连续情形微分熵无上界,整体落在 ,不同问题间的数值不可直接比大小。
信息韦恩图
最经典的记忆方式是把各项熵画成两圆交叠:
- :圆 X 的面积
- :圆 Y 的面积
- :两圆合并的总面积
- 交集就是互信息
- :X 圆挖去交集
- :Y 圆挖去交集
等价形式 正是两圆面积的容斥公式。注意这是类比而非严格恒等:连续情形微分熵可取负,圆面积的隐喻随之失效;离散情形下各项严格对应。
落到机器学习,互信息是无监督依赖度量的主力:特征选择里 mRMR 一类方法用它给特征与标签打分,恰好补上线性相关捕捉不到的非线性依赖;对比学习的 InfoNCE 损失可以理解为互信息下界的估计,把「最大化表示与上下文的互信息」变成可优化的代理目标。