第十四章:因果推断与机器学习
机器学习在预测任务上取得了巨大成功,但传统的监督学习方法主要关注相关性而非因果性。当我们需要理解干预效果、进行反事实推理或确保模型在分布偏移下的鲁棒性时,将因果推断与机器学习相结合变得至关重要。本章将探讨如何将因果思维融入现代机器学习方法,包括因果正则化、因果表示学习、因果强化学习以及算法公平性的因果视角。
14.1 因果正则化
14.1.1 动机与背景
传统机器学习模型往往过度依赖虚假相关性(spurious correlations),导致在分布偏移(distribution shift)下性能大幅下降。因果正则化通过将因果结构知识编码到学习算法中,引导模型学习真正的因果关系而非表面相关性。
虚假相关性的危害
考虑一个图像分类任务:识别奶牛。传统模型可能学习到"绿色草地"与"奶牛"的强相关性,因为训练数据中大部分奶牛照片都有草地背景。但这种相关性是虚假的——奶牛在沙滩上依然是奶牛。因果正则化帮助模型关注真正的因果特征。
更严重的例子出现在医疗诊断中。某医院的肺炎检测模型在本院数据上表现优异(AUC > 0.95),但部署到其他医院后性能骤降(AUC < 0.70)。调查发现,模型学习到了扫描仪型号、医院标记等与疾病无关的特征。这些虚假相关在训练集中存在,但不具有因果关系,因此无法泛化。
分布偏移的类型
在机器学习中,我们经常遇到以下类型的分布偏移:
-
协变量偏移(Covariate Shift):$P_{train}(X) \neq P_{test}(X)$,但 $P(Y|X)$ 保持不变 - 例子:训练集主要是年轻患者,测试集包含老年患者 - 传统方法:重要性加权
-
标签偏移(Label Shift):$P_{train}(Y) \neq P_{test}(Y)$,但 $P(X|Y)$ 保持不变 - 例子:训练时正负样本平衡,实际应用中正样本稀少 - 传统方法:类别重平衡
-
概念偏移(Concept Shift):$P_{train}(Y|X) \neq P_{test}(Y|X)$ - 例子:用户偏好随时间变化 - 这是最具挑战性的情况,传统方法难以处理
因果正则化特别适合处理概念偏移,因为它识别并利用不变的因果关系。
因果正则化的核心思想
因果正则化基于一个关键观察:因果关系比统计相关性更稳定。具体而言:
- 统计相关性:可能因环境、时间、采样偏差而改变
- 因果关系:反映数据生成的本质机制,跨环境稳定
数学上,如果 $X$ 是 $Y$ 的因果父节点,那么机制 $P(Y|X)$ 应该在不同环境下保持不变(除非有明确的机制变化)。这个性质称为自主性(autonomy)或模块性(modularity)。
14.1.2 因果不变性原则
因果不变性原则(Causal Invariance Principle)是因果正则化的核心思想:
定义:如果特征 $X$ 对结果 $Y$ 有因果效应,那么条件分布 $P(Y|X)$ 在不同环境下应该保持不变。
数学表述: $$P_e(Y|X_{causal}) = P_{e'}(Y|X_{causal}), \forall e, e' \in \mathcal{E}$$ 其中 $\mathcal{E}$ 是所有可能环境的集合,$X_{causal}$ 是具有因果效应的特征。
理论基础
因果不变性原则基于独立因果机制(ICM)假设:
- 因果机制的独立性:生成 $Y$ 的机制独立于生成其原因 $X$ 的机制
- 稀疏变化原则:环境变化通常只影响少数机制
- 因果方向的不对称性:$P(Y|X)$ 比 $P(X|Y)$ 更稳定
这些原则解释了为什么因果方向的条件分布更加稳定。考虑海拔($X$)与温度($Y$)的关系:
- 因果方向:$P(温度|海拔)$ 由物理定律决定,非常稳定
- 反因果方向:$P(海拔|温度)$ 依赖于地理分布,容易变化
环境的形式化定义
环境 $e \in \mathcal{E}$ 可以理解为:
-
时间环境:不同时间段的数据 - 早期用户 vs 近期用户 - 工作日 vs 周末
-
空间环境:不同地理位置或数据源 - 不同医院的医疗数据 - 不同国家的用户行为
-
介入环境:不同的实验条件 - A/B测试的不同组 - 不同的策略或处理
-
潜在环境:由未观测变量定义 - 不同的用户群体(但群体标签未知) - 不同的数据生成模式
不变性的检验
如何检验特征集合 $S$ 是否满足不变性?
统计检验方法:
对于特征子集 S:
1. 在每个环境 e 中,拟合模型:f_e: S → Y
2. 计算环境间的一致性:
- 参数一致性:||θ_e - θ_e'||₂ < ε
- 预测一致性:E[|f_e(S) - f_e'(S)|] < ε
- 梯度一致性:||∇_θ L_e - ∇_θ L_e'||₂ < ε
3. 选择最大的满足不变性的特征集
基于假设检验的方法:
零假设 $H_0$:$P_e(Y|S) = P_{e'}(Y|S)$ 对所有环境对 $(e, e')$ 成立
检验统计量(以线性模型为例): $$T = \sum_{e \in \mathcal{E}} n_e ||\beta_e - \bar{\beta}||^2$$ 其中 $\bar{\beta} = \frac{1}{|\mathcal{E}|} \sum_e \beta_e$,$n_e$ 是环境 $e$ 的样本量。
14.1.3 不变风险最小化(IRM)
IRM是实现因果正则化的一种重要方法,由Arjovsky等人在2019年提出。其核心思想是学习一个在所有环境中都是最优的预测器。
IRM的直观理解
IRM寻找这样的表示:
- 表示质量:表示包含预测所需的信息
- 不变最优性:存在一个分类器在所有环境中都是最优的
- 因果含义:这样的表示捕获了因果特征
考虑一个简化场景:
环境1:狗主要在草地上,猫主要在沙发上
环境2:狗主要在沙发上,猫主要在草地上
传统ERM:可能学习背景特征
IRM:强制学习动物本身的特征(因为只有这些特征在两个环境中都预测准确)
数学形式化
IRM的理想目标(难以直接优化): $$\min_{\Phi} \sum_{e \in \mathcal{E}} R^e(\Phi) \quad \text{s.t.} \quad w^* \in \arg\min_{w} R^e(w \circ \Phi), \forall e$$ 意思是:找到表示 $\Phi$,使得存在一个分类器 $w^*$ 在所有环境中都是最优的。
IRM的实用形式(IRMv1): $$\min_{\Phi, w} \sum_{e \in \mathcal{E}_{tr}} R^e(w \circ \Phi) + \lambda \cdot ||\nabla_{w|w=1.0} R^e(w \cdot \Phi)||^2$$ 其中:
- $\Phi$:特征提取器(可以是深度网络)
- $w$:线性分类器(标量或向量)
- $R^e$:环境 $e$ 中的经验风险
- 梯度惩罚项强制 $w=1.0$ 是所有环境的局部最优点
梯度惩罚的理解
梯度惩罚 $||\nabla_{w|w=1.0} R^e(w \cdot \Phi)||^2$ 的含义:
-
为什么在 $w=1.0$ 处计算梯度? - 这是一个固定的参考点 - 如果 $w=1.0$ 对所有环境都是最优的,那么梯度应该都是0
-
梯度为0意味着什么? - 在该点没有改进的方向 - 表示 $\Phi$ 已经提取了足够好的特征
-
多环境梯度一致性: 如果所有环境的梯度都是0,说明找到了不变的预测规则
实践中的IRM算法
详细实现步骤:
算法:IRM训练过程
输入:多环境数据 {(X^e, Y^e)}_{e∈E},超参数 λ
1. 初始化:
- 特征提取器 Φ(深度网络)
- 线性分类器 w(初始化为1.0)
2. 对每个训练批次:
a. 采样小批量数据
b. 对每个环境 e:
- 计算特征:Z^e = Φ(X^e)
- 计算预测:Ŷ^e = w · Z^e
- 计算损失:L^e = CrossEntropy(Ŷ^e, Y^e)
c. 计算梯度惩罚:
- 固定 w_dummy = 1.0
- 对每个环境计算:grad^e = ∇_{w_dummy} L^e(w_dummy · Φ(X^e))
- penalty = Σ_e ||grad^e||^2
d. 总损失:
- loss_total = (1/|E|) Σ_e L^e + λ · penalty
e. 更新参数:
- 通过反向传播更新 Φ 和 w
3. 返回:训练好的模型 (Φ, w)
IRM的变体和改进
-
Risk Extrapolation (REx): $$\min_{\theta} \sum_e R^e(\theta) + \lambda \cdot \text{Var}_e[R^e(\theta)]$$ 直接最小化环境间风险的方差,更简单但可能过于保守。
-
IRM-Games: 将IRM形式化为博弈:
- 玩家1(特征提取器):最小化平均损失
- 玩家2(环境特定分类器):最大化环境间差异
- 纳什均衡对应因果特征
- Group DRO (Distributionally Robust Optimization): $$\min_{\theta} \max_{e \in \mathcal{E}} R^e(\theta)$$ 最小化最坏情况的风险,提供更强的鲁棒性保证。
14.1.4 因果结构约束
当我们对系统的因果结构有先验知识时,可以将这些知识编码为正则化约束,引导模型学习符合因果关系的表示。
结构化方程约束
如果我们知道变量间的因果图 $G$,可以通过约束模型参数来强制因果结构:
稀疏性约束: $$\mathcal{L}_{struct} = \sum_{(i,j) \notin E(G)} |\theta_{ij}| + \lambda_{dag} \cdot h(\Theta)$$ 其中:
- $\theta_{ij}$:变量 $i$ 对变量 $j$ 的影响系数
- $E(G)$:因果图的边集
- $h(\Theta)$:确保无环性的约束函数
无环性约束(NOTEARS方法): $$h(\Theta) = \text{tr}(e^{\Theta \odot \Theta}) - d = 0$$ 这个连续可微的约束确保学习到的结构是DAG。
条件独立性约束
根据因果图的d-分离准则,我们知道某些变量在给定其他变量时应该条件独立:
基于互信息的约束: $$\mathcal{L}_{indep} = \sum_{(X,Y,Z): X \perp!!!\perp_G Y | Z} \text{MI}(X; Y | Z)$$ 其中 $X \perp!!!\perp_G Y | Z$ 表示根据因果图 $G$,$X$ 和 $Y$ 在给定 $Z$ 时d-分离。
实际计算方法:
对每个独立性约束 X ⊥ Y | Z:
1. 估计条件分布 P(X|Z) 和 P(Y|Z)
2. 计算条件互信息:
MI(X;Y|Z) = E_{p(x,y,z)}[log(p(x,y|z)/(p(x|z)p(y|z)))]
3. 使用神经网络估计互信息(如MINE方法)
4. 将MI(X;Y|Z)作为损失项最小化
因果顺序约束
当我们知道变量的因果顺序(拓扑排序)时:
层次化网络结构:
如果因果顺序为 X₁ → X₂ → ... → Xₙ:
- 第i层只能接收第1到i-1层的输入
- 通过掩码矩阵实现:M[i,j] = 1 if j < i else 0
- 参数矩阵:Θ_effective = Θ ⊙ M
时间因果约束: 对于时序数据,未来不能影响过去: $$\mathcal{L}_{temporal} = \sum_{t<t'} ||\theta_{X_t \leftarrow X_{t'}}||^2$$
路径特定约束
有时我们知道某些因果路径应该存在或不存在:
直接效应约束: 如果 $X$ 对 $Y$ 没有直接效应(只有通过中介变量的间接效应): $$\mathcal{L}_{no_direct} = ||\frac{\partial f_Y}{\partial X} \Big|_{M=\text{const}}||^2$$ 路径强度约束: 限制特定路径的效应强度: $$\mathcal{L}_{path} = \sum_{\pi \in \Pi} w_\pi \cdot |\text{PathEffect}(\pi) - \tau_\pi|^2$$ 其中 $\Pi$ 是关注的路径集合,$\tau_\pi$ 是期望的路径效应。
14.2 因果表示学习
14.2.1 概念与目标
因果表示学习旨在从高维观测数据中学习低维的因果因子(causal factors),这些因子反映数据的生成机制而非仅仅是统计规律。
核心目标
因果表示应该满足以下关键性质:
-
解耦性(Disentanglement): - 不同因子独立变化,改变一个因子不影响其他因子 - 数学上:$p(z_1, ..., z_n) = \prod_i p(z_i | PA_i)$,其中 $PA_i$ 是稀疏的
-
可解释性(Interpretability): - 每个因子对应明确的语义概念 - 例如:物体的位置、颜色、形状各自对应不同的潜变量
-
可干预性(Interventionability): - 可以独立操作每个因子来生成反事实样本 - 干预 $do(z_i = z'_i)$ 只影响 $z_i$ 的子节点
-
鲁棒性(Robustness): - 学习到的表示在分布偏移下保持有效 - 因果机制的模块性保证了泛化能力
与传统表示学习的区别
传统表示学习:
- 目标:最大化互信息 $I(Z; X)$,保留尽可能多的信息
- 方法:PCA、自编码器、对比学习
- 问题:可能捕获虚假相关,缺乏因果语义
因果表示学习:
- 目标:学习数据生成过程 $X = g(Z, U)$,其中 $Z$ 是因果因子
- 方法:结构化VAE、因果对比学习、独立机制分析
- 优势:表示具有因果含义,支持反事实推理
应用场景
-
计算机视觉: - 学习物体的形状、纹理、光照等独立因子 - 支持零样本组合泛化(如"蓝色大象")
-
自然语言处理: - 分离内容和风格(如情感、语气) - 实现可控文本生成
-
推荐系统: - 区分用户的真实偏好和流行度偏差 - 提高推荐的因果效应
-
医疗诊断: - 识别疾病的独立风险因子 - 支持个性化治疗方案
14.2.2 独立因果机制(ICM)原则
ICM原则假设: $$P(X_1, ..., X_n) = \prod_{i=1}^n P(X_i | PA_i)$$ 其中 $PA_i$ 是 $X_i$ 的因果父节点,且每个条件分布 $P(X_i | PA_i)$ 独立变化。
关键性质:
- 模块性:改变一个机制不影响其他机制
- 稀疏性:每个变量只依赖少数父节点
- 最小变化原则:干预通常只影响少数机制
14.2.3 变分自编码器与因果解耦
因果VAE架构:
观测 x → 编码器 q(z|x) → 因果潜变量 z → 因果图 G → 解码器 p(x|z)
损失函数: $$\mathcal{L} = \mathbb{E}_{q(z|x)}[\log p(x|z)] - \beta \cdot KL[q(z|x)||p(z)] + \gamma \cdot \mathcal{L}_{causal}$$ 其中因果损失项 $\mathcal{L}_{causal}$ 强制潜变量遵循因果结构: $$\mathcal{L}_{causal} = \sum_{i,j} \mathbb{1}_{(i,j) \notin G} \cdot |\text{Cov}(z_i, z_j)|$$
14.2.4 对比学习与因果发现
利用对比学习识别因果特征:
因果对比损失: $$\mathcal{L}_{CCL} = -\log \frac{\exp(\text{sim}(z_i, z_i^+)/\tau)}{\sum_{k} \exp(\text{sim}(z_i, z_k)/\tau)}$$ 其中:
- $z_i^+$:通过因果增强得到的正样本
- 因果增强:只改变非因果特征(如背景、光照)
- $\tau$:温度参数
多环境对比学习: 利用多环境数据识别不变特征:
对每个批次:
1. 从不同环境采样:x_e1, x_e2, ..., x_eK
2. 提取特征:z_e1 = f(x_e1), ...
3. 最大化环境间因果特征的一致性
4. 最小化环境间虚假特征的相似性
14.2.5 因果解耦的评估指标
解耦度量:
-
MIG (Mutual Information Gap): $$MIG = \frac{1}{K} \sum_{k=1}^K \frac{1}{H(v_k)} (I(z_{j^*}; v_k) - \max_{j \neq j^*} I(z_j; v_k))$$
-
SAP (Separated Attribute Predictability): 评估每个潜变量对单一生成因子的预测能力
因果性度量:
- 介入鲁棒性:模型在因果介入下的性能保持
- 反事实一致性:生成的反事实样本与真实反事实的一致性
14.3 因果强化学习
14.3.1 强化学习中的因果问题
传统强化学习面临的因果挑战:
- 混杂偏差:历史策略导致的观测数据偏差
- 信度分配问题:如何确定哪个动作导致了奖励
- 泛化困难:在新环境中性能下降
- 样本效率低:需要大量交互才能学习
因果视角提供的解决方案:
- 利用因果模型进行反事实推理
- 基于因果图的信度分配
- 学习因果不变的策略
- 通过因果模型进行离线学习
14.3.2 因果模型增强的MDP
因果MDP定义: 扩展标准MDP为 $\mathcal{M} = (S, A, P, R, \gamma, G)$,其中:
- $G$:状态-动作-奖励的因果图
- 转移函数分解:$P(s'|s,a) = \prod_i P(s'_i | PA_i^G)$
结构化状态表示: 将状态分解为因果相关的组件: $$S = S_{agent} \times S_{env} \times S_{confound}$$ 其中:
- $S_{agent}$:可控状态(位置、速度)
- $S_{env}$:环境状态(障碍物、目标)
- $S_{confound}$:混杂因素(其他智能体)
14.3.3 反事实策略评估
离线策略评估问题: 给定历史数据 $\mathcal{D} = \{(s_t, a_t, r_t, s_{t+1})\}$ 由行为策略 $\pi_b$ 生成,评估目标策略 $\pi_e$ 的性能。
反事实推理方法:
-
构建因果模型: $$M: S \times A \rightarrow S' \times R$$
-
反事实查询: "如果在状态 $s_t$ 采取动作 $\pi_e(s_t)$ 而非 $a_t$,会得到什么奖励?" $$r_{CF} = R(s_t, \pi_e(s_t); U_t)$$ 其中 $U_t$ 是从观测数据推断的潜在混杂因素
-
重要性采样修正: $$V^{\pi_e} = \mathbb{E}_{\tau \sim \pi_b}\left[\sum_t \gamma^t r_t \prod_{k=0}^t \frac{\pi_e(a_k|s_k)}{\pi_b(a_k|s_k)}\right]$$
14.3.4 因果发现与探索
因果好奇心驱动探索: 定义内在奖励基于因果不确定性: $$r_{intrinsic} = H(G | \mathcal{D}) - H(G | \mathcal{D} \cup \{(s,a,s',r)\})$$ 这鼓励智能体采取能最大程度减少因果图不确定性的动作。
主动介入学习:
算法:因果主动学习
1. 初始化:因果假设集 H = {G_1, ..., G_k}
2. 对每个时间步:
a. 计算每个动作的信息增益:
IG(a) = H(H) - E[H(H|s',r)|s,a]
b. 选择动作:a* = argmax_a [IG(a) + ε·Q(s,a)]
c. 执行动作,观测结果
d. 更新因果假设的后验概率
3. 返回:最可能的因果图 G*
14.3.5 因果模型基础规划
世界模型与因果推理: 利用学习到的因果模型进行规划:
-
前向模拟: $$s_{t+k} = f_{causal}(s_t, a_t, ..., a_{t+k-1})$$
-
反事实规划: 在规划时考虑"如果不这样做会怎样": $$Q_{CF}(s,a) = R(s,a) + \gamma \max_{a'} V(f(s,a)) - \lambda \cdot \text{Regret}(s,a)$$ 其中遗憾项: $$\text{Regret}(s,a) = \max_{a' \neq a} Q_{CF}(s,a') - Q_{CF}(s,a)$$
-
因果层次规划: - 高层:基于因果效应的子目标选择 - 低层:基于局部动力学的动作执行
14.4 公平性与因果推断
14.4.1 算法公平性的因果视角
传统公平性定义的局限性:
- 统计平等(Statistical Parity):$P(\hat{Y}=1|A=0) = P(\hat{Y}=1|A=1)$
- 机会平等(Equal Opportunity):$P(\hat{Y}=1|Y=1,A=0) = P(\hat{Y}=1|Y=1,A=1)$
这些定义忽略了因果路径,可能导致:
- 禁止使用合理的预测因子
- 无法区分直接歧视和间接影响
- 不同公平性准则之间的冲突
14.4.2 因果公平性框架
因果图表示:
A (敏感属性)
├── 直接路径 → Y (结果)
└── 间接路径 → M (中介变量) → Y
路径特定效应:
-
直接效应(DE):$A$ 对 $Y$ 的直接因果效应 $$DE = \mathbb{E}[Y(a=1, M(a=0)) - Y(a=0, M(a=0))]$$
-
间接效应(IE):通过中介变量 $M$ 的效应 $$IE = \mathbb{E}[Y(a=1, M(a=1)) - Y(a=1, M(a=0))]$$
-
总效应(TE):$TE = DE + IE$
14.4.3 反事实公平性
定义:如果在反事实世界中,改变个体的敏感属性不会改变决策结果,则称决策是反事实公平的。
数学表述: $$P(\hat{Y}_{A \leftarrow a}(u) = \hat{Y}_{A \leftarrow a'}(u)) = 1, \forall u, a, a'$$ 其中 $u$ 表示个体的所有外生变量。
实现方法:
- 路径阻断:阻断不公平的因果路径
# 伪代码
def fair_prediction(x, sensitive_attr):
# 1. 预测中介变量(在反事实世界中)
m_cf = predict_mediator(x, sensitive_attr=baseline)
# 2. 基于反事实中介变量预测
y_pred = predict_outcome(x, m_cf)
return y_pred
- 公平表示学习: 学习与敏感属性因果独立的表示: $$\min_f \mathcal{L}_{task}(f(X), Y) + \lambda \cdot \mathcal{L}_{indep}(f(X), A)$$
14.4.4 因果解释与审计
个体公平性解释: 对于被拒绝的申请者,提供因果解释:
- 哪些因素导致了拒绝?
- 如果改变哪些可控因素,结果会改变?
算法审计流程:
1. 构建决策系统的因果图
2. 识别所有从敏感属性到决策的因果路径
3. 量化每条路径的因果效应
4. 判断哪些路径是合理的,哪些构成歧视
5. 评估整体公平性水平
14.4.5 公平性与效用的权衡
多目标优化框架: $$\min_{f} \mathcal{L}_{utility}(f) + \sum_{i} \lambda_i \cdot \mathcal{L}_{fairness}^i(f)$$
其中不同的公平性约束:
- $\mathcal{L}_{fairness}^{DE}$:最小化直接歧视
- $\mathcal{L}_{fairness}^{IE}$:控制间接效应
- $\mathcal{L}_{fairness}^{CF}$:反事实公平性
帕累托前沿分析: 找出效用和公平性之间的帕累托最优解集,让决策者根据具体场景选择合适的权衡点。