贝叶斯网络的结构学习与条件独立性
贝叶斯网络(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算法:从完全图开始,逐步剪枝独立的边
- 优缺点:避免了局部最优,但对高维数据检验统计不稳定
应用:基因调控网络推断、故障诊断、推荐系统。