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). $$
若 Rain 与 Sprinkler 都无父节点,这个模型假设它们边际独立。现实系统常存在季节共同影响两者;是否省略季节必须由建模假设决定。
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:
- 用 evidence 限制因子;
- 选择隐藏变量顺序;
- 乘所有包含该变量的因子;
- 对该变量求和(sum out);
- 最后因子相乘并 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. 建模与验证清单
变量状态互斥完备且粒度一致
DAG 无环,父节点顺序和 CPT 对齐
每个父配置下概率和为 1
关键独立假设有领域理由
隐藏共同原因和选择机制已讨论
精确小例与手算结果一致
近似推断有收敛/误差诊断
观测预测与因果干预解释分开常见误区
- 箭头天然代表因果:统计分解不等于干预机制。
- 边少就是模型更真实:每条缺边都是条件独立假设。
- 变量消除一定快:中间因子受 treewidth 与顺序控制。
- 采样次数很多就准确:相关样本和权重退化会减少有效信息。
练习
- 写出
Rain → Wet ← Sprinkler的联合分布并手算 explaining away。 - 对 chain、fork、collider 分别判断给定不同证据时的独立性。
- 为同一网络比较两种消元顺序的最大因子维度。
- 举例说明 $P(Y\mid X)$ 与 $P(Y\mid do(X))$ 不同。
小结
贝叶斯网络用局部条件分布压缩联合概率,图结构同时声明了条件独立。推断算法负责计算这些假设的后果;因果解释则需要另一层关于机制和干预的论证。
下一章进入强化学习:智能体不再只对固定知识库查询,而要在连续决策中用行动改变未来数据。