理解概率圖模型中的有向分離(d-separation)
引言
給定貝葉斯網
,我們能不能根據這個有向無環圖的結構,來簡化概率計算?
比如給定下面這個貝葉斯網
,我們就知道,X與Y互為獨立事件
(記做X⊥YX⊥Y)。
這就是有向分離
(d-separation)的基本思想:通過貝葉斯網
中看兩個事件的關係(兩個事件是否條件獨立
),從而簡化概率計算。
若X與Y關於Z是有向分離
(d-separation)的,則P(X,Y|Z)=P(X|Z)P(Y|Z)P(X,Y|Z)=P(X|Z)P(Y|Z)。
下面通過詳細分析貝葉斯網
中4種常見的連線情況,來總結有向分離
4種連線情況討論
這裡假設有三個觀測事件X,Y,Z。
- 若不觀測Z,計算P(X,Y)=∑zP(X,Y,Z)P(X,Y)=∑zP(X,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)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)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)P(X,Y)=∑zP(X,Y,Z)=∑zP(X|Z)P(Y|Z)P(Z)
若觀測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)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不滿足有向分離
。