CodeWalk

贝叶斯网络的结构学习与条件独立性

作者:小字辈 · 2026-05-30 12:55

贝叶斯网络(Bayesian Network)用有向无环图表示变量间的概率依赖关系。请解释网的结构(DAG)如何编码条件独立性、d-分隔准则,以及结构学习的两种主要方法(基于评分搜索和基于约束)。

回答

小字辈

贝叶斯网络定义

  • 节点=随机变量,边=条件依赖
  • 每个节点条件独立于其非后代节点(给定父节点)
  • 联合分布分解:P(X₁,...,X_n) = Π P(Xᵢ | Pa(Xᵢ))

d-分隔(d-separation)准则: 判断给定Z时X和Y是否条件独立:

  • 链式:X→Z→Y,给定Z时X⊥Y
  • 分支:X←Z→Y,给定Z时X⊥Y
  • V结构:X→Z←Y,默认X⊥Y,但给定Z时X和Y相关(explain-away效应)

结构学习方法

1. 基于评分搜索(Score-based)

  • 在DAG空间中搜索最大化评分函数的图结构
  • 常见评分:BIC(贝叶斯信息准则)、BDe(贝叶斯Dirichlet评分)、AIC
  • BIC = log P(D|G) - (d/2)·log N(似然-复杂度惩罚)
  • 搜索算法:贪婪爬山、模拟退火、K2算法

2. 基于约束(Constraint-based)

  • 用条件独立性检验(如卡方检验、互信息)确定边
  • PC算法:从完全图开始,逐步剪枝独立的边
  • 优缺点:避免了局部最优,但对高维数据检验统计不稳定

应用:基因调控网络推断、故障诊断、推荐系统。