把某個研究系統中涉及的隨機變量,根據是否條件獨立繪制在一個有向圖中,就形成了貝葉斯網絡。
貝葉斯網絡(Bayesian Network),又稱有向無環圖模型(directed acyclic graphical model ,DAG),是一種概率圖模型,根據概率圖的拓撲結構,考察一組隨機變量{X 1 ,X 2 ...X n }及其n組條件概率分布(Conditional Probability Distributions, CPD)的性質。
一般而言,貝葉斯網絡的有向無環圖中的節點表示隨機變量,它們可以是可觀察到的變量,或隱變量、未知參數等。連接兩個節點的箭頭代表此兩個隨機變量是具有因果關系(或非條件獨立)。若兩個節點間以一個單箭頭連接在一起,表示其中一個節點是“因(parents)”,另一個是“果(children)”,兩節點就會產生一個條件概率值。
x1和x2獨立,x6和x7在x4給定的條件下獨立
x1,x2,…x7的聯合分布圖如下:
x1,x2,…x7的聯合分布:
判斷條件獨立
1、通過貝葉斯網絡判定條件獨立
tail-to-tail
在c給定的條件下,a,b被阻斷(blocked)是獨立的
head-to-tail
在c給定的條件下,a,b被阻斷(blocked),是獨立的
head-to-head
在c未知的條件下,a,b被阻斷(blocked),是獨立的
2、將上述結點推廣到結點集
D-separation:有向分離
對於任意的結點集A,B,C,考察所有通過A中任意結點到B中任意結點的路徑,若要求A,B條件獨
立,則需要所有的路徑都被阻斷(blocked),即滿足下列兩個前提之一:
1)A和B的“head-to-tail型”和“tail-to-tail型”路徑都通過C;
2)A和B的“head-to-head型”路徑不通過C以及C的子孫;
如果A,B不滿足D-separation,A,B有時被稱為D-connected.
鏈式網絡
由D-separation可知,在xi給定的條件下,xi+1的分布和x1,x2…xi-1條件獨立。即:xi+1的分布狀態只和xi有關,和其他變量條件獨立,這種順次演變的隨機過程模型,叫做馬爾科夫模型。
Markov Blanket
一個結點的Markov Blanket是一個集合,在這個集合中的結點都給定的條件下,該結點條件獨立於其他所有結點。
即:一個結點的Markov Blanket是它的parents,children以及spouses(孩子的其他parent)
貝葉斯網絡的用途
診斷:P(病因|症狀)
預測:P(症狀|病因)
分類:max class P(類別|數據)
通過給定的樣本數據,建立貝葉斯網絡的拓撲結構和結點的條件概率分布參數。這往往需要借助先驗知識和極大似然估計來完成。
在貝葉斯網絡確定的結點拓撲結構和條件概率分布的前提下,可以使用該網絡,對未知數據計算條件概率或后驗概率,從而達到診斷、預測或者分類的目的。
貝葉斯網絡的推導
貝葉斯網絡的構建
依次計算每個變量的D-separation的局部測試結果,綜合每個結點得到貝葉斯網絡。
算法過程:
選擇變量的一個合理順序:X 1 ,X 2 ,...X n
對於i=1到n
在網絡中添加X i 結點
在X 1 ,X 2 ,...X i-1 中選擇X i 的父母,使得:
這種構造方法,顯然保證了全局的語義要求:
舉例說明:M, J, A,B,E
需要判斷如下是否相等:
P(J|M) = P(J)
P(A|M,J) = P(A|M), P(A|M,J) = P(A|J), P(A|M,J) = P(A)
P(B|M,J,A) = P(B|M), P(B|M,J,A) = P(B|J), P(B|M,J,A) = P(B|A),…….
Tip:
先判斷一個節點是否沒有父節點,再判斷節點只有一個父節點,再判斷有兩個父節點,第一次遇到等式成立,便可以確定節點的父節點,最多次判斷的情況是前面的節點都是他的父節點。
壓縮條件分布參數數目
Noisy-OR分布模型
節點U 1 ,U 2 ,...U k 是X的所有父節點;
有如下等式:
該模型的參數是關於父節點個數線性的。
舉例:
該模型參數只需要3個參數即可表示所有的狀態。這里是0.1, 0.2, 0.3
混合(離散+連續)網絡
subsidy,buys均是離散的,harvest,cost均是連續的
需要定義一個條件概率密度函數,使用線性高斯模型:
cost隨着harvest線性變化,方差不變
條件概率密度函數,也可使用sigmod函數
原貝葉斯網絡的近似樹結構
最大權生成樹MSWT的建立過程
1.對於給定的分布P(x),對於所有的i≠j,計算聯合分布P(xi|xj);
2.使用第1步得到的概率分布,計算任意兩個結點的互信息I(Xi,Yj),並把I(Xi,Yj)作為這兩個結點連接邊的權值;
3.計算最大權生成樹(Maximum-weight spanning tree)
a. 初始狀態:n個變量(結點),0條邊
b. 插入最大權重的邊
c. 找到下一個最大的邊,並且加入到樹中;要求加入后,沒有環生成。否則,查找次大的邊;
d. 重復上述過程c過程直到插入了n-1條邊(樹建立完成)
4.選擇任意結點作為根,從根到葉子標識邊的方向;
5.可以保證,這課樹的近似聯合概率P'(x)和原貝葉斯網絡的聯合概率P(x)的相對熵最小。
兩個結點間的互信息的計算公式: