跳到内容

2.3 贝叶斯网络、条件独立与推断:箭头本身不自动代表因果

模型工坊收到“地面湿了”这一条证据,阿花要在下雨、洒水器和其他可能原因之间更新判断。

地面湿了,原因可能是下雨,也可能是洒水器。逻辑可以列出可能性,却很难表达证据强弱。贝叶斯网络用有向无环图和局部条件分布分解联合概率,让系统在新证据到来后更新信念。

图中的箭头首先表达概率分解和条件独立。要解释为因果,还需额外的结构假设、时间与干预语义。

本课目标

  • 从 DAG 与 CPT 写出联合分布分解;
  • 用 d-separation 判断条件独立;
  • 理解枚举、变量消除与近似采样;
  • 区分观测条件概率与干预分布。

1. 网络如何定义联合分布

贝叶斯网络包含:

  • 一个有向无环图(DAG);
  • 每个随机变量 $X_i$ 的条件分布 $P(X_i\mid Pa(X_i))$。

联合分布分解为:

$$ P(x_1,\ldots,x_n)=\prod_i P(x_i\mid pa_i). $$

例子:Rain → Wet ← Sprinkler

$$ P(R,S,W)=P(R)P(S)P(W\mid R,S). $$

RainSprinkler 都无父节点,这个模型假设它们边际独立。现实系统常存在季节共同影响两者;是否省略季节必须由建模假设决定。

2. 三种基本路径结构

Chain:$A\rightarrow B\rightarrow C$

未给定 $B$ 时,A 与 C 通常相关;给定 B 后路径被阻断。

Fork:$A\leftarrow B\rightarrow C$

B 是共同原因;给定 B 后 A 与 C 条件独立。

Collider:$A\rightarrow B\leftarrow C$

未给定 B 及其后代时,路径阻断,A 与 C 可独立;观察 B 后路径打开,A 与 C 产生条件关联(explaining away)。

Rain → Wet ← Sprinkler 中,已知地湿后再得知洒水器开启,会降低对下雨的信念,即使两原因先验独立。

3. d-Separation

d-separation 把上述规则推广到任意路径。若给定证据集合 $Z$ 后,X 与 Y 之间所有路径都被阻断,则图蕴含:

$$ X\perp Y\mid Z. $$

这是图结构蕴含的独立性,不表示数据一定支持该结构。结构学习也可能只能识别 Markov equivalence class,不能从纯观测分布唯一恢复所有箭头方向。

4. 枚举推断

要计算 $P(Q\mid e)$,枚举未观测变量 $Y$:

$$ P(Q\mid e)=\alpha\sum_Y\prod_iP(x_i\mid pa_i). $$

小网络可用真值组合实现并作为测试 oracle。旧稿展示的 enumeration_ask 调用了不存在的 net.variables()_enumerate_all(),不是可运行实现;课程不应把接口草图伪装成完整算法。

枚举会重复计算相同因子,变量增加后指数增长。

5. Variable elimination

把 CPT 转成 factors:

  1. 用 evidence 限制因子;
  2. 选择隐藏变量顺序;
  3. 乘所有包含该变量的因子;
  4. 对该变量求和(sum out);
  5. 最后因子相乘并 normalize。

正确性不依赖消元顺序,时间/内存却高度依赖产生的中间因子大小。复杂度与图的 induced width/treewidth 相关,而不只是节点数。

Min-fill、min-degree 等启发式选择消元顺序。精确推断最坏情况指数级;稀疏图和好顺序仍可能高效。

6. 近似推断

Prior/rejection sampling

从联合分布采样并拒绝不符合证据的样本。稀有证据时效率极低。

Likelihood weighting

固定证据节点,对样本按证据似然加权。深层或极低概率证据会造成权重退化。

Gibbs sampling

逐个重采样非证据变量的 Markov blanket 条件分布。可能受混合慢、多模态和确定性关系影响。

近似算法要报告有效样本量、链诊断、重复运行差异与误差,而不是只给一个概率。

7. 参数估计也有不确定性

CPT 可由频数、最大似然或 Bayesian estimation 获得。稀有父配置会产生零计数和不稳定估计,可用 Dirichlet prior/平滑,但 prior 要记录。

缺失数据与隐藏变量可用 EM 等方法,结果依赖模型和初始化。将估计 CPT 当成已知真值,会低估预测不确定性。

8. 概率箭头何时可以解释为因果

一个统计 BN 的边表示直接概率依赖(相对于所选图),不自动表示干预关系。

因果解释需要:

  • 节点和箭头代表稳定机制;
  • 关键共同原因得到处理;
  • 没有选择偏差等破坏;
  • intervention 用 do(X=x) 替换 X 的生成机制;
  • 结构来自设计、领域知识或可辩护假设。

一般:

$$ P(Y\mid X=x)\ne P(Y\mid do(X=x)). $$

因此“方向性决定因果”是错误的。相关数据拟合出的 DAG 仍需因果识别论证。

9. 建模与验证清单

text
变量状态互斥完备且粒度一致
DAG 无环,父节点顺序和 CPT 对齐
每个父配置下概率和为 1
关键独立假设有领域理由
隐藏共同原因和选择机制已讨论
精确小例与手算结果一致
近似推断有收敛/误差诊断
观测预测与因果干预解释分开

常见误区

  • 箭头天然代表因果:统计分解不等于干预机制。
  • 边少就是模型更真实:每条缺边都是条件独立假设。
  • 变量消除一定快:中间因子受 treewidth 与顺序控制。
  • 采样次数很多就准确:相关样本和权重退化会减少有效信息。

练习

  1. 写出 Rain → Wet ← Sprinkler 的联合分布并手算 explaining away。
  2. 对 chain、fork、collider 分别判断给定不同证据时的独立性。
  3. 为同一网络比较两种消元顺序的最大因子维度。
  4. 举例说明 $P(Y\mid X)$ 与 $P(Y\mid do(X))$ 不同。

小结

贝叶斯网络用局部条件分布压缩联合概率,图结构同时声明了条件独立。推断算法负责计算这些假设的后果;因果解释则需要另一层关于机制和干预的论证。

下一章进入强化学习:智能体不再只对固定知识库查询,而要在连续决策中用行动改变未来数据。

Built with VitePress | Software Systems Atlas