機器學習 —— 概率圖模型(推理:變量消除)


  概率圖的一個重要作用是進行推理,針對某個隨機變量,告訴我們它到底有沒有可能,有多大可能發生。之前在representation相關的內容中,我們更多的關心如何利用概率圖減少聯合分布的計算量。inference相關的章節就是要介紹如何從聯合概率中獲得單個隨機變量的概率。

1.鏈狀變量消除

  對於給定的聯合分布函數P(A,B,C,D,E),如果想要知道P(E),只需要將A,B,C,D邊際掉。假設P(E)可以有兩種取值P(e1),P(e2),P(e1) = P(a1,b1,c1,d1,e1)+P(a2,b1,c1,d1,e1)...以此類推,最終可以得到P(e1)與P(e2)的值。在有概率圖的情況下,我們可以對變量進行因式分解,因式分解有助於減少求和的次數。

  以如下圖所示的鏈狀無向圖為例:

  由馬爾科夫圖的團勢分解定律可知,某個點的團僅與 其及其父節點有關,所以可以對上述聯合概率進行因式分解。而僅 Φ(A,B)與A有關。把Φ(A,B)中的A邊際掉,也就是T1(B1)=Φ(A1,B1)+Φ(A2,B1).T1(B2)=Φ(A1,B2)+Φ(A2,B2). 其結果相當於是一個僅與B取值有關的勢函數。同理,這樣已知進行下去可以得到僅與E取值有關的函數。

  在有了這樣的規則以及分布表達后,查詢某個變量的概率實際上是非常簡單的事情。

 

2.馬爾科夫網的變量消除

  對於一個如圖所示的馬爾科夫網,我們希望對P(J)進行計算。

  

  P(C,D,I,G,S,L,J,H) = P(C)*P(C,D)*P(I)*P(DIG)*P(IS)*P(GL)*P(SLJ)*P(GJH)【這里的P應該表示為Φ】

  如果要計算P(J),那么需要將C,D,I,G,S,L,H全部邊際掉。也就是Sum_C,D,I,G,S,L,H P(C,D,I,G,S,L,J,H) 

  Sum_C,D,I,G,S,L,H P(C,D,I,G,S,L,J,H) 

 =Sum_C,D,I,G,S,L,H  P(C)*P(C,D)*P(I)*P(DIG)*P(IS)*P(GL)*P(SLJ)*P(GJH)

 =Sum_C,D,I,G,S,L  P(C)*P(C,D)*P(I)*P(DIG)*P(IS)*P(GL)*P(SLJ)*Sum_H P(GJH)

 =Sum_C,D,I,G,S,L  P(C)*P(C,D)*P(DIG)*P(IS)*P(GL)*P(SLJ)*t(GJ)

 =Sum_C  P(C)*P(C,D)*Sum_D,I,G,S,L P(DIG)*P(IS)*P(GL)*P(SLJ)*t(GJ)

 =Sum_D,I,G,S,L P(DIG)*P(IS)*P(GL)*P(SLJ)*t1(GJ)*t2(D)

 =Sum_I,G,S,L P(IS)*P(GL)*P(SLJ)*t1(GJ) *Sum_D P(DIG)*t2(D)

 =Sum_I,G,S,L P(IS)*P(GL)*P(SLJ)*t1(GJ)*t3(GI)

 =Sum_G t3(GI)t1(GJ)P(GL) *Sum_ISL *P(SLJ)*P(IS)*t1(GJ)

 =Sum_ISL P(SLJ)*t4(IJL)

 按照此方法即可求出P(J).

 

3.變量消除的順序

  顯然,變量消除的順序會對算法的復雜程度產生巨大的影響。而好的變量消除順序則顯然與圖的結構有關.還是以上一章節的圖為例:

  

  P(C,D,I,G,L,S,J,H) =  P(C) P(D|C) P(I) P(G|DI) P(S|I) P(L|G) P(J|SL) P(H|GJ)

  如果使用無向圖的勢函數表示,則表示為  P(C)*P(C,D)*P(I)*P(DIG)*P(IS)*P(GL)*P(SLJ)*P(GJH)【這里的P應該表示為Φ】

  顯然,這里需要做一些變化, DIG,GJH 是一個團,團里所有的節點應該是兩兩相連的。那么可得從貝葉斯有向模型推出對偶的無向圖模型。

  顯然,可以以圖中節點的順序來進行消除,由外到內,先消除對結構影響小的再消除會帶來結構改變的。這里的結構改變是指某一個變量消除后會得到t(****),這里的t(****)中每個變量應該是兩兩相連的。

  所以,此圖合適的消除順序是 C D I H G S L。

 

4.消除順序的計算機解法

  實際上,對於一個復雜的圖,不可能人為指定消除順序。應該要有一套合適的算法或者評估機制來決定先消除哪個,后消除哪個。目前已經應用成功的消除順序算法包括:

  min-neighber: 某個點如果相連節點最少則優先消除(比如C)

  min-weight   : 對馬爾科夫模型而言,消除因子值之和最小的的邊

  min-fill         : 消除某個節點后,需要補充的邊最少

  weighted min-fill: 補充邊的權重最小(邊權重可作為兩節點權重之積)

  對於機器人定位這么一個實際問題,有如下圖模型:

  

  其中 x 是機器人的位置,z 是機器人觀測到與標志物的距離, L 是標志物的位置。

  從理想角度而言,標志物是固定的,觀測距離一旦獲得,那么機器人的位置就是確定的。但實際上不是,前面討論過傳感器是有測量誤差的(近高斯模型),在考慮傳感器測量誤差的情況下,通過前后位置測量信息綜合考慮,最后可以獲得更為精確的地圖。所以 Z 依賴於 L, X依賴於 Z。L 相當於一個觀測值已知的隨機變量,那么則可以把上圖轉為馬爾科夫模型並構建概率圖如下:

  

            原始概率圖:X,L                  先消除X紅色為補充邊                  先消除L 紅色為補充邊

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM