理解概率图模型中的有向分离(d-separation)

Abstract: d-separation是什么?有什么作用?

引言

给定贝叶斯网,我们能不能根据这个有向无环图的结构,来简化概率计算?
比如给定下面这个贝叶斯网,我们就知道,X与Y互为独立事件(记做XY)。

这里写图片描述

知道了这个结论,那概率P(X,Y)P(X|Y)P(Y|X)的计算问题,就能得到简化(如下)。

P(X,Y)=P(X)P(Y)

P(X|Y)=P(X)

P(Y|X)=P(Y)

这就是有向分离(d-separation)的基本思想:通过贝叶斯网中看两个事件的关系(两个事件是否条件独立),从而简化概率计算。
若X与Y关于Z是有向分离(d-separation)的,则P(X,Y|Z)=P(X|Z)P(Y|Z)

下面通过详细分析贝叶斯网中4种常见的连接情况,来总结有向分离(d-separation)的一般规律。

这里写图片描述

4种连接情况讨论

这里假设有三个观测事件X,Y,Z。

  • 若不观测Z,计算P(X,Y)=zP(X,Y,Z)。只有满足P(X,Y)=P(X)P(Y),才能说明X与Y相互独立。若能得到这个表达式(P(X,Y)=P(X)P(Y))就能说明X与Y关于Z有向分离(d-separation)的。
  • 若观测Z(以Z作为条件),用条件概率公式计算P(X,Y|Z)=(P(X)P(Z|X)P(Y|Z))/P(Z)。只有满足P(X,Y|Z)=P(X|Z)P(Y|Z),才能说明X与Y关于Z相互独立。若能得到这个表达式(P(X,Y|Z)=P(X|Z)P(Y|Z))就能说明X与Y关于Z有向分离(d-separation)的。

下面就对每一种连接,分两种情况(“观测Z”与“不观测Z”)讨论。

直接连接 (X->Z->Y)

  • 若不观测Z,则P(X,Y)=zP(X,Y,Z)=P(X)zP(Z|X)P(Y|Z)=P(X)P(Y|X)。X与Y并不是独立事件。

  • 若观测Z,则P(X,Y|Z)=P(X,Y,Z)/P(Z)=(P(X)P(Z|X)P(Y|Z))/P(Z)=P(X|Z)P(Y|Z)。X与Y关于Z条件独立。

(推导中需要用到P(A|B)=P(AB)/P(B),以及P(B)P(A|B)=P(A)P(B|A))

间接因果作用(Y->Z->X)

  • 若不观测Z,则P(X,Y)=zP(X,Y,Z)=P(Y)P(X|Y)。X与Y并不是独立事件。

  • 若观测Z,则P(X,Y|Z)=P(X,Y,Z)/P(Z)=(P(Y)P(Z|Y)P(X|Z))/P(Z)=P(Y|Z)P(X|Z)。X与Y关于Z条件独立。

共同的原因(X<-Z->Y)

  • 若不观测Z,则P(X,Y)=zP(X,Y,Z)=zP(X|Z)P(Y|Z)P(Z)。X与Y并不是独立事件。

  • 若观测Z,则P(X,Y|Z)=P(X,Y,Z)/P(Z)=(P(X|Z)P(Z)P(Y|Z))/P(Z)=P(X|Z)P(Y|Z)。X与Y关于Z条件独立。

共同的作用(X->Z<-Y)

  • 若不观测Z,则P(X,Y)=zP(X,Y,Z)=P(X)P(Y)zP(Z)=P(X)P(Y)。X与Y相互独立。

  • 若观测Z,则P(X,Y|Z)=P(X,Y,Z)/P(Z)=P(X)P(Y)P(Z|X,Y)/P(Z)。X与Y关于Z不独立。

简化

要去推导这些公式来验证X与Y是否关于Z有向分离,太复杂了点。有没有简单点的方法来判断X与Y是否是关于Z有向分离的呢?
当然可以,下面的文字就说明如何做到看图就能判断有向分离

X influence Y

若X与Y相互独立,就说明X不会影响(influence)Y。将上述4种情况总结起来,见下图:

这里写图片描述

Active Trails

当下面两个条件中有一个被满足,说明一个Trail(X1-X2-…-Xn)关于Z是Active的:
(1)对于任意V型结构:Xi->X<-Xj,X属于Z,或X的子事件属于Z
(2)没有Xi属于Z(Z不为空)

下面举例说明怎么用这个规则。
在下面这个贝叶斯网中

这里写图片描述

给定一个Trail:D->G<-I->S
* 若Z={},条件(2)不满足。考虑条件(1),Trail中有V型结构(D->G<-I),但该结构的所有事件(D,G,I)都不属于Z,,且G的子事件L也不属于Z,所以这个Tail不Active

  • 若Z={L},则这个Trail中所有事件(D,G,I,S)都不属于Z,条件(2)被满足。考虑条件(1),Trail中有V型结构(D->G<-I),虽然该结构的所有事件(D,G,I)都不属于Z,但G的子事件L属于Z,所以条件(1)被满足。此时Trail是Active的。

  • 若Z={L,I},则这个Trail中有(所有事件D,G,I,S),事件I属于Z,条件(2)不满足。所以这个Tail不Active。(虽然条件(1)被满足)

看图判断d-separation

定义:给定Z,只要在贝叶斯网中,X到Y的Trail不是Active,就说明X和Y关于Z是有向分离(d-separation)的。

结论

给定一个贝叶斯网,只要看图判断一个从X到Y的Trail是不是Active,就能判断X与Y是不是有向分离(Active则不是有向分离)。用两句话总结本文:

  • X和Y关于Z有向分离,等于X和Y关于Z条件独立
  • X到Y的Tail不是Active,等于X和Y关于Z条件独立

例子:判断下图C与D是不是关于F有向分离?

这里写图片描述

解答:先判断图中的整个Tail是不是Active:
考虑条件(1),图中有V结构(C->E<-D),虽然这个V结构中的所有事件(C,E,D)都不属于F,但中间点E的子事件F属于F。所以条件(1)满足,该Tail是Active的,所以C与D不满足有向分离

参考

posted on   ybdesire  阅读(1999)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示