关系度量:从内积到注意力 · 第 4 章
互信息:超越线性的依赖
相关系数为零并不意味着独立。互信息用概率分布度量任意形式的统计依赖。本章推导它的三种等价定义和非负性,证明高斯情形下它完全由相关系数决定,把混淆矩阵读作联合分布,并说明它在相机–LiDAR 标定中的用法。
系列目录第 4 / 4 章
问题是什么
第 1 章说明了:当 时,协方差为零,但 完全由 决定。所以我们需要另一个量,满足两个条件:当且仅当两个变量独立时它为零;并且它不关心依赖的具体形式。这个量就是互信息 (Mutual Information)。
本章还要回答系列开头留下的两个问题:混淆矩阵 (Confusion Matrix) 与这些概念究竟是什么关系;以及关系度量、计算机制、评价工具这三个层次应该怎样区分。
直觉怎么理解
在知道 之前,我们对 有一定的不确定性;知道 之后,不确定性减少了。减少的量就是互信息。
- 如果 与 独立,知道 毫无帮助,互信息为零。
- 对 ,知道 后 就完全确定,互信息等于 的全部不确定性。
换一个角度:互信息衡量联合分布离”独立时的样子” 有多远。相关系数只看散点图的线性趋势,互信息看的是联合分布的整体形状。
数学 / 几何表达
熵
对离散随机变量,熵 (Entropy) 定义为
类似地有联合熵 和条件熵 。对数以 2 为底时,单位是比特 (bit)。
三种等价定义
第一式等于第三式。 利用 :
第一式等于第二式。 由链式法则 直接得到。
第三式正是 KL 散度 (Kullback–Leibler Divergence):
并且它关于 和 对称。
非负性与独立性
对两个分布 ,在 的支撑集上求和。因为 是凹函数,由 Jensen 不等式得
等号成立当且仅当 在支撑集上为常数,即 。
因此 ,并且 当且仅当对所有 都有 ,也就是 与 独立。
这正是相关系数做不到的:相关系数为零,只能说明没有线性依赖。
回到 Y = X²
设 在 上均匀分布,。由第 1 章,二者的协方差为零。
取值 0 的概率为 ,取值 1 的概率为 。给定 后 是确定的,所以 。于是
高斯情形:相关系数与互信息的桥梁
对连续变量,把求和换成积分、把熵换成微分熵 ,互信息的定义形式不变。与微分熵本身不同,互信息仍然非负。
此外,互信息在对 、 分别做可逆变换时保持不变:。相比之下,相关系数只在仿射变换下不变。
维高斯分布 的微分熵为 。
对二维高斯 ,设标准差为 ,相关系数为 ,则 。代入得
这个结果有三点含义:
- 对联合高斯变量,互信息只是 的单调函数,相关系数已经包含了全部依赖信息。
- 独立。这正是”零相关等价于独立”成立的那个特殊情形。
- 时 。连续变量之间的确定性关系对应无穷大的互信息;实际计算中得到的有限值,来自离散化或有限样本。
混淆矩阵是一张联合分布表
设共有 个类别、 个样本。记 为真实标签为 、预测为 的样本数,令 。
这样得到的就是 的经验联合分布:行和是真实类别的分布,列和是预测类别的分布。于是
看两个二分类的例子,两个类别各 50 个样本,所以 bit:
| 混淆矩阵 | 准确率 | |
|---|---|---|
| 0.85 | ≈ 0.397 bit | |
| 0 | 1 bit |
第二个分类器把标签全部弄反了,准确率为 0,互信息却达到最大值 。
原因在于:互信息衡量的是”预测告诉了我们多少关于真值的信息”,而不是”预测对不对”。把标签对调并不损失任何信息。这说明互信息不能代替准确率、精确率、召回率这些评价指标,也正好说明了下一节的层次区分。
三个层次
| 层次 | 概念 | 回答的问题 |
|---|---|---|
| 关系度量 | 协方差、相关系数、互信息 | 两个量之间有多少线性的或一般的依赖? |
| 计算机制 | 互相关、卷积、注意力 | 怎样在模型中计算并利用这种关系? |
| 评价工具 | 混淆矩阵 | 预测与真值的联合分布是什么样的? |
一个层次的工具可以用另一个层次的语言来解读,比如从混淆矩阵计算互信息。但这并不意味着它们是同一类东西。
本系列的主线把它们连在了一起:从”两个向量长得像不像”(内积),走到了”两个随机变量之间有多少统计依赖”(互信息)。
机器人中的例子
相机–LiDAR 外参标定
目标是在不使用标定板的情况下,求出 LiDAR 到相机的外参 。Pandey 等 (2012) 的做法如下。
对一组候选外参 ,用相机内参 把每个 LiDAR 点 投影到图像上,像素位置为 。收集配对 ,其中 是该点的反射率, 是投影位置的灰度值。估计 的联合分布(直方图或核密度),计算互信息 ,再求
为什么这样可行?外参正确时,每个配对来自同一个物理表面点,反射率与灰度之间存在统计依赖。外参错误时,配对来自错位的表面,两者更接近独立。
为什么不用相关系数?反射率与灰度之间的关系随材质和光照而变,不一定是线性的,甚至不一定单调。互信息只要求”存在依赖”,不要求依赖的具体形式。
这一思路更早用于医学影像的多模态配准(如 CT 与 MR):Viola 与 Wells (1997),以及 Maes 等 (1997)。
估计中的注意事项
- 直方图估计 (Plug-in Estimator):结果依赖分箱数量,样本少时会系统性偏高,即使变量真正独立,估计值也是正的。基于 近邻的 KSG 估计 (Kraskov 等, 2004) 是常用的替代方法。
- 优化:互信息作为 的目标函数是非凸的,需要较好的初值,例如来自 CAD 模型或手工测量。
可视化 / 代码
下面的代码依次验证三件事:直方图估计与高斯公式的对照; 的情形;从混淆矩阵计算互信息。
import numpy as np
rng = np.random.default_rng(0)
def mi_from_joint(P):
"""由(未归一化的)联合计数或概率表计算互信息,单位 bit。"""
P = P / P.sum()
px = P.sum(axis=1, keepdims=True)
py = P.sum(axis=0, keepdims=True)
nz = P > 0
return float((P[nz] * np.log2(P[nz] / (px @ py)[nz])).sum())
def mi_hist(x, y, bins=32):
H, _, _ = np.histogram2d(x, y, bins=bins)
return mi_from_joint(H)
# 1. 高斯:直方图估计 vs -0.5*log2(1 - rho^2)
n = 200_000
for rho in [0.0, 0.5, 0.9]:
x = rng.standard_normal(n)
y = rho * x + np.sqrt(1 - rho**2) * rng.standard_normal(n)
print(rho, round(mi_hist(x, y), 3), round(-0.5 * np.log2(1 - rho**2), 3))
# 估计值略高于理论值(0, 0.208, 1.198),rho = 0 时也是小的正数
# 2. Y = X^2:相关系数约为 0,互信息估计值很大
x = rng.uniform(-1, 1, n)
print(np.corrcoef(x, x**2)[0, 1].round(3), round(mi_hist(x, x**2), 3))
# 理论值为无穷大;估计值随分箱数增加而增大
# 3. 混淆矩阵
C = np.array([[40, 10], [5, 45]])
print(round(mi_from_joint(C), 3), np.trace(C) / C.sum()) # 约 0.397, 0.85
S = np.array([[0, 50], [50, 0]])
print(round(mi_from_joint(S), 3), np.trace(S) / S.sum()) # 1.0, 0.0
参考资料
- Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379–423; 27(4), 623–656.
- Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). Wiley.
- Viola, P., & Wells, W. M. (1997). Alignment by maximization of mutual information. International Journal of Computer Vision, 24(2), 137–154.
- Maes, F., Collignon, A., Vandermeulen, D., Marchal, G., & Suetens, P. (1997). Multimodality image registration by maximization of mutual information. IEEE Transactions on Medical Imaging, 16(2), 187–198.
- Pandey, G., McBride, J. R., Savarese, S., & Eustice, R. M. (2012). Automatic targetless extrinsic calibration of a 3D lidar and camera by maximizing mutual information. AAAI Conference on Artificial Intelligence.
- Kraskov, A., Stögbauer, H., & Grassberger, P. (2004). Estimating mutual information. Physical Review E, 69(6), 066138.
- StatQuest(YouTube 频道):熵与互信息的入门视频。https://www.youtube.com/@statquest