因果模型学习与机器学习的关联

1. 因果结构识别方法

在因果发现中,我们可以利用可识别性结果从有限数据集估计图结构,下面介绍几种结构识别方法:

1.1 加性噪声模型(Additive Noise Models)

基于加性噪声模型(ANMs)可识别性的因果学习方法,这里介绍两种方式:
- 残差独立性测试方法
1. 对 Y 关于 X 进行回归,使用某种回归技术将 Y 表示为 X 的函数 ˆfY 加上一些噪声。
2. 测试 Y - ˆfY(X) 是否与 X 独立。
3. 交换 X 和 Y 的角色,重复上述过程。
4. 如果在一个方向上独立性被接受,而在另一个方向上被拒绝,则推断前者为因果方向。

在实际应用中,前两个步骤是机器学习和统计学的标准问题,但存在耦合挑战,即 ˆfY 偏离 fY 可能隐藏或创造噪声与输入变量之间的依赖关系。可以使用样本分割方法解决,同时选择考虑高阶统计量的独立性测试,如 Hilbert - Schmidt 独立性准则(HSIC)。根据显著性水平判断独立性,若要强制决策,可推断拒绝独立性的 p 值较高的方向为因果方向。

以下是一个使用 R 语言的代码示例:

library(dHSIC)
library(mgcv)
# generate data set
set.seed(1)
X <- rnorm(200)
Y <- X^3 + rnorm(200)
# fit models
modelforw <- gam(Y ~ s(X))
modelbackw <- gam(X ~ s(Y))
# independence tests
dhsic.test(modelforw$residuals, X)$p.value
# [1] 0.7628932
dhsic.test(modelbackw$residuals, Y)$p.value
# [1] 0.004221031
# computing likelihoods
- log(var(X)) - log(var(modelforw$residuals))
# [1] 0.1420063
- log(var(modelbackw$residuals)) - log(var(Y))
# [1] -1.014013
  • 最大似然法
    考虑具有加性高斯误差项的非线性结构因果模型(SCM),通过比较 X → Y 和 X ← Y 两个模型的似然得分来区分因果方向。首先对 Y 关于 X 进行非线性回归得到残差 RY := Y - ˆfY(X),然后比较以下两个似然得分:
    • (L_{X→Y} = -log c var[X] - log c var[RY])
    • (L_{X←Y} = -log c var[RX] - log c var[Y])

若噪声不遵循高斯分布,需用误差项的微分熵估计替换残差经验方差的对数。

1.2 信息几何因果推断(Information - Geometric Causal Inference)

该方法的理论基础是定理 4.10 的可识别性结果。可以证明独立性条件(4.10)意味着 (C_{X→Y} ≤ C_{Y→X}),其中:
(C_{X→Y} := \int_{0}^{1} log f ′(x)p(x)dx)
使用以下估计器:
(\hat{C} {X→Y} := \frac{1}{N - 1} \sum {j = 1}^{N - 1} log \frac{|y_{j + 1} - y_{j}|}{|x_{j + 1} - x_{j}|})
当 (\hat{C} {X→Y} < \hat{C} {Y→X}) 时,推断 X → Y 为因果方向。此外,还有基于熵的方法,独立性条件(4.10)还意味着 (H(X) ≤ H(Y)),其中 H 表示微分 Shannon 熵,可使用标准熵估计器估计 H,熵较大的变量被认为是原因。

1.3 迹方法(Trace Method)

该方法依赖于高维变量 X 和 Y 之间的线性关系。假设样本量足够大,可通过标准线性回归估计协方差矩阵 ΣXX 和 ΣYY 以及结构矩阵 AY 和 AX。计算迹依赖比:
(r_{X→Y} := \frac{\tau(A_Y\Sigma_{XX}A_Y^T)}{\tau(A_YA_Y^T)\tau(\Sigma_{XX})})
同样计算 (r_{Y→X}),推断更接近 1 的方向为因果方向。Zscheischler 等人描述了一种评估偏离 1 是否显著的方法,在无噪声情况下,在额外独立性假设下仍可估计 (r_{X→Y})。

1.4 监督学习方法(Supervised Learning Methods)

从机器学习角度进行因果学习,给定标记的训练数据 ((D_1, A_1), …, (D_n, A_n)),其中 (D_i) 是数据集,(A_i) 表示因果方向。因果学习成为经典的预测问题,可以训练分类器。许多有竞争力的分类器基于手工特征,如边缘分布的熵估计或残差分布的熵估计,这些特征与 ANMs 概念相关。Lopez - Paz 等人旨在自动构建此类特征,将联合分布映射到再生核希尔伯特空间进行分类。但监督学习方法目前还不能作为独立的因果学习方法,不过可作为有效利用已知可识别性属性的统计工具。

2. 因果推断与机器学习的关联

标准机器学习基于从未知分布独立同分布采样的数据来推断分布属性,而因果推断假设更强的底层结构,包括有向依赖关系。这使得从数据中学习结构更困难,但完成后可以做出关于分布变化和干预效果的新陈述。如果将机器学习视为推断超越纯统计关联的规律的过程,那么因果关系起着至关重要的作用。

2.1 半监督学习(Semi - Supervised Learning)

在回归任务中,目标是从 d 维预测变量 X 预测目标变量 Y。对于许多损失函数,知道条件分布 (P_{Y|X}) 就足以解决问题。在监督学习中,从联合分布接收 n 个独立同分布的数据点,回归估计相当于从联合分布的 n 个数据点估计条件均值。而在半监督学习(SSL)中,除了有标记数据,还接收 m 个额外的未标记数据点 (X_{n + 1}, …, X_{n + m}),希望这些额外数据提供关于 (P_X) 的信息,进而帮助了解 (E[Y|X]) 或 (P_{Y|X})。

SSL 技术的许多假设涉及 (P_X) 和 (P_{Y|X}) 之间的关系,例如:
- 聚类假设 :(P_X) 中同一聚类的点具有相同或相似的 Y 值。
- 低密度分离假设 :分类器的决策边界(即 (P(Y = 1|X = x)) 穿过 0.5 的点 x)应位于 (P_X) 较小的区域。
- 半监督平滑假设 :条件均值 (x \to E[Y|X = x]) 在 (P_X) 较大的区域应该是平滑的。

在只有两个变量(原因和结果)的简单因果图中,机器学习问题可以是因果的(从原因预测结果)或反因果的(从结果预测原因)。因果条件独立性原则表明,如果 X 是原因,Y 是结果,SSL 可能不起作用,因为额外的 x 值只提供关于 (P_X) 的信息,而预测需要关于独立对象 (P_{Y|X}) 的信息。相反,如果 X 是结果,Y 是原因,关于 (P_X) 的信息可能有助于了解 (P_{Y|X})。

一个元研究分析了 SSL 的结果,支持了上述假设,所有 SSL 有帮助的情况都是反因果的、混杂的或因果结构不明确的。在双射确定性因果关系的玩具场景中,当 (P_{cause}) 和 (P_{effect|cause}) 独立时,SSL 在反因果方向上优于监督学习,但在因果方向上则不然。Sgouritsa 等人开发了一种利用 SSL 只能在反因果方向起作用这一事实的因果学习方法。

此外,SSL 包含一些无监督学习的特殊情况,如聚类。如果 X 是原因,Y 是结果,聚类可能效果不佳,但在许多实际聚类应用中,聚类索引更可能是特征的原因而非结果。

下面是一个简单的流程图展示半监督学习的基本流程:

graph TD;
    A[获取有标记数据和未标记数据] --> B[分析有标记数据的联合分布];
    B --> C[分析未标记数据的边缘分布];
    C --> D[利用假设建立PX和PY|X的关系];
    D --> E[预测目标变量Y];

综上所述,不同的因果结构识别方法各有特点,在实际应用中需要根据具体情况选择合适的方法。同时,因果关系对机器学习,特别是半监督学习有着重要的影响,理解这种关联有助于提高机器学习的性能。

2.2 半监督学习在因果方向的进一步讨论

前面提到在因果方向上,预测特定 x 的 y 值时,(P_X) 本身对 (P_{Y|X}) 没有帮助,但实际上了解 (P_X) 仍可能在学习场景中降低风险。

考虑一个简单的例子,假设 X 和 Y 的关系由确定性函数 (Y = f(X)) 给出,其中 f 来自函数类 F。设 X 取值于 ({1, …, m})((m \geq 3)),Y 是二元标签,取值于 ({0, 1})。函数类 (F = {f_1, …, f_m}) 定义为 (f_j(j) = 1) 且 (f_j(k) = 0)((k \neq j))。

假设学习算法推断出 (f_j),而真实函数是 (f_i),对于 (i \neq j),风险(即预期错误数)为:
(R_i(f_j) := \sum_{x = 1}^{m} |f_j(x) - f_i(x)|p(x) = p(j) + p(i))

对所有 (f_i) 取平均,得到预期风险:
(E[R_i(f_j)] = \frac{1}{m} \sum_{i = 1}^{m} \sum_{x = 1}^{m} |f_j(x) - f_i(x)|p(x) = \frac{m - 2}{m} p(j) + \frac{1}{m})

为了最小化预期风险,应选择 (f_k) 使得 k 最小化函数 p。因为对于任何 (x = 1, …, m),标签 (y = 0) 比 (y = 1) 更可能(概率为 (\frac{m - 1}{m}) 对 (\frac{1}{m})),所以希望在所有点预测 (y = 0),但由于零函数不在 F 中,所以选择最不可能的 x 值以获得最小预期损失。

在这个例子中,未标记的观察值有助于识别最不可能的 x 值,因此 SSL 可以提供帮助。这个例子实际上更接近无监督学习,即使考虑少量有标记的实例,基本思想也不变。因为当 m 足够大时,这些有标记的实例不太可能包含 (y = 1) 的实例,所以观察到的 ((x, y)) 对只是稍微缩小了函数类 F 到 (F’),分析结果基本相同,仍然可以得出未标记实例有帮助的结论。

从最坏情况分析来看,给定函数 (f_j),对手会选择 (f_i),其中 i 是与 j 不同且概率质量最大的 x 值。最坏情况风险为 (\max_{x \neq j}{p(x)} + p(j)),同样当 j 是最小化概率质量函数 p(x) 的 x 值时,风险最小。因此,只有考虑 (P_X) 才能获得最佳性能。

下面通过一个表格总结不同情况下 SSL 的作用:
|情况|SSL 是否有帮助|原因|
| ---- | ---- | ---- |
|因果方向((P_{cause}) 和 (P_{effect|cause}) 独立)|通常无帮助|额外的 x 值只提供关于 (P_X) 的信息,预测需要关于独立对象 (P_{Y|X}) 的信息|
|反因果方向|可能有帮助|可以利用 (P_X) 与 (P_{Y|X}) 的关系|
|特殊例子(考虑 (P_X) 降低风险)|有帮助|未标记数据有助于识别最不可能的 x 值以最小化损失|

3. 总结与展望

因果模型学习中的结构识别方法为我们从数据中发现因果关系提供了多种途径。加性噪声模型通过残差独立性测试或最大似然法来推断因果方向;信息几何因果推断基于独立性条件和熵的估计;迹方法依赖于高维变量的线性关系;监督学习方法则从机器学习角度利用标记数据进行因果学习。

在机器学习领域,因果推断与传统机器学习有着紧密的联系。半监督学习中,因果结构对其性能有着重要影响,在因果方向和反因果方向上 SSL 的作用不同。理解这种关联可以帮助我们在实际应用中更好地选择合适的学习方法,提高机器学习模型的性能。

未来,随着研究的深入,我们可以期待更高效、准确的因果结构识别方法的出现,以及对因果关系与机器学习之间关联的更深入理解。同时,将因果推断应用到更广泛的领域,如医疗、金融等,有望为这些领域带来新的突破。

graph LR;
    A[因果结构识别方法] --> B[加性噪声模型];
    A --> C[信息几何因果推断];
    A --> D[迹方法];
    A --> E[监督学习方法];
    F[机器学习] --> G[半监督学习];
    B --> H[因果推断与机器学习关联];
    C --> H;
    D --> H;
    E --> H;
    G --> H;

通过对这些方法和关联的研究,我们可以更好地处理复杂的数据,挖掘数据背后的因果关系,从而做出更准确的预测和决策。

更多推荐