机器学习之贝叶斯网络(概率流动的影响性、有效迹(active--trail)、网络的构建)
??前面學習了樸素貝葉斯的原理,并且利用樸素貝葉斯原理對西瓜數據集3.0數據集進行了分類:樸素貝葉斯(Naive Bayes)原理+編程實現拉普拉斯修正的樸素貝葉斯分類器,今天我們更進一步,來探討一下貝葉斯網絡的原理以及應用。
貝葉斯網絡
- 1.定義
- 2.概率流動的影響性
- 2.1獨立的概念
- 2.2通過網絡判定條件獨立
- 3.有效跡
- 3.1定義
- 3.2條件獨立與有效跡
- 3.3 D-separation
- 3.4判斷獨立性
- 4.貝葉斯網絡的構建
- 5.貝葉斯網絡的特性
- 6.貝葉斯網絡的缺陷
1.定義
??貝葉斯網絡(Bayesian network),又稱信念網絡(belief network)或是有向無環圖模型(directed acyclic graphical model),是一種概率圖型模型。一個貝葉斯網絡是一個有向無環圖(Directed Acyclic Graph,DAG),由代表變量結點及連接這些結點有向邊構成。
??上面只是一些繁瑣的定義,接下來的說明比較關鍵:結點代表隨機變量,結點間的有向邊代表了結點間的互相關系(由父結點指向其子結點),用條件概率進行表達關系強度,沒有父結點的用先驗概率進行信息表達。 結點變量可以是任何問題的抽象,如:測試值,觀測現象,意見征詢等。適用于表達和分析不確定性和概率性的事件,應用于有條件地依賴多種控制因素的決策,可以從不完全、不精確或不確定的知識或信息中做出推理。
提取到幾個有用信息:
令G為定義在一組隨機變量{X1,X2,X3,…,XN}上的貝葉斯網絡,那么則有:
其中 P a r G ( X i ) Par_{G}(X_{i}) ParG?(Xi?)為結點 X i X_{i} Xi?的父結點, p i ( X i ∣ P a r G ( X i ) ) p_{i}(X_{i}\mid Par_{G}(X_{i})) pi?(Xi?∣ParG?(Xi?))表示結點條件概率,舉個例子:
?? 一個簡單的貝葉斯網絡,三個隨機變量a,b,c,a沒有父結點,那就是p(a),b的父結點只有一個a,因此第二項是 p ( b ∣ a ) p(b\mid a) p(b∣a),同理c的父結點有a,b,那么第三項就是 p ( c ∣ a , b ) p(c\mid a,b) p(c∣a,b),三項相乘即得到三個隨機變量的聯合概率分布。
??再舉一個例子:
??可以看到x1,x2,x3都沒有父結點,因此都是先驗概率,而x4有三個父結點,以此類推。
??接下來我們需要解釋為什么上述公式能夠成立。我們知道,乘法公式是普遍成立的,即:
我們重新畫一個圖:
按照我們思路寫出來的聯合概率分布與乘法公式只是第二項不同,但是重點是B與C是沒有關系的,因此是條件獨立的,即:
因此通過貝葉斯網絡求出來的聯合概率分布一定是正確的。
2.概率流動的影響性
??概率流動的影響性(Flow of Probabilistic Influence)指的是在一定的觀測條件下,變量間的取值改變是否會有相互影響,這里給出兩個概念:
- 觀測變量:變量取值可觀測,或變量取值已經確定
- 隱變量:變量取值未知,通常根據觀測變量的取值,對隱變量的取值概率進行推理。
2.1獨立的概念
隨機變量X,Y若滿足如下關系中的任意一個:
- P ( X , Y ) = P ( X ) P ( Y ) P(X,Y)=P(X)P(Y) P(X,Y)=P(X)P(Y)
- P ( X ∣ Y ) = P ( X ) P(X|Y)=P(X) P(X∣Y)=P(X)
- P ( Y ∣ X ) = P ( Y ) P(Y|X)=P(Y) P(Y∣X)=P(Y)
那么我們就稱隨機變量X和Y相互獨立
隨機變量X,Y在Z給定條件下滿足:
- P ( X , Y ∣ Z ) = P ( X ∣ Z ) P ( Y ∣ Z ) P(X,Y|Z)=P(X|Z)P(Y|Z) P(X,Y∣Z)=P(X∣Z)P(Y∣Z)
- P ( X ∣ Y , Z ) = P ( X ∣ Z ) P(X|Y,Z)=P(X|Z) P(X∣Y,Z)=P(X∣Z)
- P ( Y ∣ X , Z ) = P ( Y ∣ Z ) P(Y|X,Z)=P(Y|Z) P(Y∣X,Z)=P(Y∣Z)
那么我們同樣可以認為隨機變量X和Y滿足獨立關系。
2.2通過網絡判定條件獨立
tail-to-tail
??中間一個隨機變量指向了另外兩個變量,而另外兩個變量之間不存在相互作用關系,現在我們來探討這個網絡概率影響的流動性。
??首先根據上面所講的知識,我們很容易得到該貝葉斯網絡中變量的聯合概率分布為:
從而:
??因為我們要判斷隨機變量a,b是否獨立,因此我們可以構建如下表達式:
??根據乘法公式,上式一定成立,而根據上上一個式子我們可以知道:
p ( a , b , c ) / p ( c ) = p ( a ∣ c ) p ( b ∣ c ) p(a,b,c)/p(c)=p(a|c)p(b|c) p(a,b,c)/p(c)=p(a∣c)p(b∣c),因此最終我們可以得到:
??根據上面條件獨立性的定義,我們可以得到:在tail-to-tail中,當中間隨機變量給定時,另外兩個隨機變量相互獨立。
head-to-tail
??在head-to-tail中,三個隨機變量a,c,b依次順序相連,我們要證明a,b之間的獨立性,與上面證明方式一樣,這里我們就不再證明了,直接給出結論:在head-to-tail中,當中間隨機變量給定時,另外兩個隨機變量相互獨立。
head-to-head
??在head-to-head中,兩個隨機變量共同指向中間的變量,同樣我們直接給出結論:在head-to-head中,當中間隨機變量沒有給定時,另外兩個隨機變量相互獨立。
3.有效跡
3.1定義
??對于貝葉斯網絡中的一條跡(路徑) X 1 ? . . . X n X_{1}\rightleftharpoons ...X_{n} X1??...Xn?和觀測變量Z,當 X 1 和 X n X_{1}和X_{n} X1?和Xn?的取值能夠相互影響時,稱路徑是有效的。
3.2條件獨立與有效跡
??當 X 1 ? . . . X n X_{1}\rightleftharpoons ...X_{n} X1??...Xn?不是有效跡時,那么顯然 X 1 和 X n X_{1}和X_{n} X1?和Xn?相互獨立。
3.3 D-separation
??D-分離:若圖G在給定觀測子集Z條件下(即部分隨機變量已知),結點X和結點Y之間不存在任何有效跡,則稱X和Y在給定Z時是D-分離的,記為: D ? s e p G ( X , Y ∣ Z ) D-sep_{G}(X,Y\mid Z) D?sepG?(X,Y∣Z)
3.4判斷獨立性
- 引理:一個結點的父結點已知時,則該結點與其所有的非后代結點(non-descendants)滿足D-separated
- 定理:由引理很容易得出,當一個結點父結點已知時,該結點與所有非后代結點條件獨立
還是舉個例子:
??如上圖所示,當x6的父結點x4給定時,x6就與它的所有非后代結點條件獨立,包括x1,x2,x3,x5,x7,這里不再證明。
4.貝葉斯網絡的構建
算法過程:
5.貝葉斯網絡的特性
- 貝葉斯網絡本身是一種不定性因果關聯模型,它將多元知識圖解可視化,貼切蘊含了網絡結點變量之間的因果關系以及條件相關關系。
- 貝葉斯網絡具有強大的不確定性問題的處理能力,它用條件概率表達各個信息要素之間的相關關系,能在有限的、不完整的、不確定的信息條件下進行知識學習和推理。
- 貝葉斯網絡能有效地進行多源信息的表達與融合,可將故障診斷與維修決策相關的各種信息納入到網絡結構中,并按結點的方式統一進行處理。
6.貝葉斯網絡的缺陷
- 研究如何根據數據和相關知識高效、準確地建立貝葉斯網絡,一直是近十年來的熱點與難點。
- 目前對于這一類學習問題,主要有基于打分-搜索的學習方法和基于依賴分析的學習方法,但前者存在搜索空間巨大,可能收斂于局部最優解等問題;后者則存在結點之間的獨立性或條件獨立性的判斷困難以及高階條件獨立性檢驗結果不夠可靠等問題。
總結
以上是生活随笔為你收集整理的机器学习之贝叶斯网络(概率流动的影响性、有效迹(active--trail)、网络的构建)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Java] 运算符思维导图(详细版)
- 下一篇: 初闻噩耗... ...