熵度量单个随机变量的不确定性;互信息(Mutual Information)回答的是两个变量之间共享多少信息——知道 之后, 的不确定性减少了多少。它把熵、条件熵、联合熵串成一张韦恩图,本质上又是 KL 散度的一个特例。

定义(离散随机变量)

设离散随机变量 ,联合分布 ,边缘分布

逐项看, 衡量组合 实际出现的频率偏离独立假设的程度:比值大于 1 的格子贡献为正,小于 1 的贡献为负,但加权求和整体恒非负——KL 关系一节会给出保证。

对数底数

  • 底数 2:单位 bit(比特,信息论标准)
  • 底数 :单位 nat(奈特,机器学习常用)

等价形式

下面三条等价式比定义式更常用,也是理解互信息更直观的入口:

  • 的熵(不确定性)
  • :已知 条件下 的条件熵
  • :联合熵

直观含义:知道 之后, 的不确定性减少了多少——减少的那部分就是两个变量共享的信息量。 是天气、 是是否带伞, 很高,天气基本决定带不带伞; 是今天气温、 是比特币价格,,两者几乎独立,知道一个对另一个没有信息增益。

互信息有三条直接可用的性质:

  1. 非负,等于 0 当且仅当 相互独立
  2. 对称,「 里含多少 」与「 里含多少 」是同一件事
  3. 自互信息,变量自身的互信息就是它的熵

连续随机变量(微分互信息)

把求和换成积分:

微分熵可为负,微分互信息不会

微分熵 依赖坐标系,可以取负值;但微分互信息依旧 ——它是 KL 散度,而 KL 散度非负。

与 KL 散度的关系

互信息等价于联合分布 对独立假设分布 的 KL 散度:

KL 衡量两个分布的差异;互信息衡量的正是「真实联合分布」与「假设两变量独立」这两个分布差多远。差得越远,独立假设越不成立,依赖越强。KL 非负直接给出互信息的非负性。

手算一个 2×2 例子

定义式看着抽象,手算一遍就落地。取 (一枚公平硬币), 经过错误率 的二值对称信道(BSC)后的输出——每个比特有 10% 概率翻转。联合分布:

0.450.05
0.050.45

边缘分布都是 ;若 独立,每格应为 。代入定义式:

换等价形式验算: bit(均匀分布), bit,其中 是二元熵函数,对应「每看一次 只剩 10% 翻转的不确定性」。于是 bit,与定义式一致——被噪声吃掉的 0.469 bit 正是条件熵。

常见误区

容易踩错的三个点:

  1. 互信息不是皮尔逊相关系数。相关系数只捕捉线性关系,互信息捕捉任意依赖。反例:,皮尔逊相关为 0(对称分布下奇次矩为零),但 完全决定
  2. 互信息不是因果 只说明存在统计依赖,不承诺方向与机制——观测顺序、混杂变量都会制造出互信息。
  3. 没有归一化值域。相关系数有固定区间 ;互信息非负,离散情形上界为 ,连续情形微分熵无上界,整体落在 ,不同问题间的数值不可直接比大小。

信息韦恩图

最经典的记忆方式是把各项熵画成两圆交叠:

  • :圆 X 的面积
  • :圆 Y 的面积
  • :两圆合并的总面积
  • 交集就是互信息
  • :X 圆挖去交集
  • :Y 圆挖去交集

等价形式 正是两圆面积的容斥公式。注意这是类比而非严格恒等:连续情形微分熵可取负,圆面积的隐喻随之失效;离散情形下各项严格对应。

落到机器学习,互信息是无监督依赖度量的主力:特征选择里 mRMR 一类方法用它给特征与标签打分,恰好补上线性相关捕捉不到的非线性依赖;对比学习的 InfoNCE 损失可以理解为互信息下界的估计,把「最大化表示与上下文的互信息」变成可优化的代理目标。