貝葉斯網路
貝葉斯網路
貝葉斯網路(Bayesian network),又稱信念網路(belief network)或是有向無環圖模型(directed acyclic graphical model),是一種概率圖型模型。
貝葉斯網路又稱信度網路,是Bayes方法的擴展,是目前不確定知識表達和推理領域最有效的理論模型之一。從1988年由Pearl提出后,已經成為近幾年來研究的熱點.。一個貝葉斯網路是一個有向無環圖(Directed Acyclic Graph,DAG),由代表變數節點及連接這些節點有向邊構成。節點代表隨機變數,節點間的有向邊代表了節點間的互相關係(由父節點指向其子節點),用條件概率進行表達關係強度,沒有父節點的用先驗概率進行信息表達。節點變數可以是任何問題的抽象,如:測試值,觀測現象,意見徵詢等。適用於表達和分析不確定性和概率性的事件,應用於有條件地依賴多種控制因素的決策,可以從不完全、不精確或不確定的知識或信息中做出推理。
令表示一個有向無環圖(DAG),其中I代表圖中所有的節點的集合,而E代表有向連接線段的集合,且令為其有向無環圖中的某一節點i所代表之隨機變數,若節點X的聯合概率分佈可以表示成:
則稱 X 為相對於一有向無環圖 G 的貝葉斯網路,其中表示節點 i 之“因”。
對任意的隨機變數,其聯合分佈可由各自的局部條件概率分佈相乘而得出:
依照上式,我們可以將一貝葉斯網路的聯合概率分佈寫成:
(對每個相對於X的“因”變數 X而言)
上面兩個表示式之差別在於條件概率的部分,在貝葉斯網路中,若已知其“因”變數下,某些節點會與其“因”變數條件獨立,只有與“因”變數有關的節點才會有條件概率的存在。
如果聯合分佈的相依數目很稀少時,使用貝氏函數的方法可以節省相當大的存儲器容量。舉例而言,若想將10個變數其值皆為0或1存儲成一條件概率表型式,一個直觀的想法可知我們總共必須要計算個值;但若這10個變數中無任何變數之相關“因”變數是超過三個以上的話,則貝葉斯網路的條件概率表最多只需計算個值即可。另一個貝式網上優點在於:對人類而言,它更能輕易地得知各變數間是否條件獨立或相依與其局部分佈(local distribution)的類型來求得所有隨機變數之聯合分佈。
以上例子是一個很簡單的貝葉斯網路模型,但是如果當模型很複雜時,這時使用枚舉式的方法來求解概率就會變得非常複雜且難以計算,因此必須使用其他的替代方法。一般來說,貝氏概率有以下幾種求法:
• 枚舉推理法(如上述例子)
• 變數消元演演算法(variable elimination)
• 直接取樣演演算法
• 拒絕取樣演演算法
• 概似加權演演算法
• 馬爾可夫鏈蒙特卡洛演演算法(Markov chain Monte Carlo algorithm)
在此,以馬爾可夫鏈蒙特卡洛演演算法為例,又馬爾可夫鏈蒙特卡洛演演算法的類型很多,故在這裡只說明其中一種吉布斯採樣的操作步驟:首先將已給定數值的變數固定,然後將未給定數值的其他變數隨意給定一個初始值,接著進入以下迭代步驟:
(1)隨意挑選其中一個未給定數值的變數
(2)從條件分佈抽樣出新的的值,接著重新計算
當迭代結叢后,刪除前面若干筆尚未穩定的數值,就可以求出的近似條件概率分佈。馬爾可夫鏈蒙特卡洛演演算法的優點是在計算很大的網上時效率很好,但缺點是所抽取出的樣本並不具獨立性。
當貝葉斯網路上的結構跟參數皆已知時,我們可以透過以上方法來求得特定情況的概率,不過,如果當網上的結構或參數未知時,我們必須藉由所觀測到的數據去推估網上的結構或參數,一般而言,推估網上的結構會比推估節點上的參數來的困難。依照對貝葉斯網路結構的了解和觀測值的完整與否,我們可以分成下列四種情形:
結構 | 觀測值 | 方法 |
已知 | 完整 | 最大似然估計法(MLE) |
已知 | 部分 | EM演演算法 Greedy Hill-climbing method |
未知 | 完整 | 搜索整個模型空間 |
未知 | 部分 | 結構演演算法 EM演演算法 Bound contraction |
1、貝葉斯網路本身是一種不定性因果關聯模型。貝葉斯網路與其他決策模型不同,它本身是將多元知識圖解可視化的一種概率知識表達與推理模型,更為貼切地蘊含了網路節點變數之間的因果關係及條件相關關係。
2、貝葉斯網路具有強大的不確定性問題處理能力。貝葉斯網路用條件概率表達各個信息要素之間的相關關係,能在有限的、不完整的、不確定的信息條件下進行學習和推理。
3、貝葉斯網路能有效地進行多源信息表達與融合。貝葉斯網路可將故障診斷與維修決策相關的各種信息納入網路結構中,按節點的方式統一進行處理,能有效地按信息的相關關係進行融合。
對於貝葉斯網路推理研究中提出了多種近似推理演演算法,主要分為兩大類:基於模擬方法和基於搜索的方法。在故障診斷領域裡就我們水電模擬而言,往往故障概率很小,所以一般採用搜索推理演演算法較適合。就一個實例而言,首先要分析使用哪種演演算法模型:
a.)如果該實例節點信度網路是簡單的有向圖結構,它的節點數目少的情況下,採用貝葉斯網路的精確推理,它包含多樹傳播演演算法,團樹傳播演演算法,圖約減演演算法,針對實例事件進行選擇恰當的演演算法;
b.)如果是該實例所畫出節點圖形結構複雜且節點數目多,我們可採用近似推理演演算法去研究,具體實施起來最好能把複雜龐大的網路進行化簡,然後在與精確推理相結合來考慮。
在日常生活中,人們往往進行常識推理,而這種推理通常是不準確的。例如,你看見一個頭髮潮濕的人走進來,你認為外面下雨了,那你也許錯了;如果你在公園裡看到一男一女帶著一個小孩,你認為他們是一家人,你可能也犯了錯誤。在工程中,我們也同樣需要進行科學合理的推理。但是,工程實際中的問題一般都比較複雜,而且存在著許多不確定性因素。這就給準確推理帶來了很大的困難。很早以前,不確定性推理就是人工智慧的一個重要研究領域。儘管許多人工智慧領域的研究人員引入其它非概率原理,但是他們也認為在常識推理的基礎上構建和使用概率方法也是可能的。為了提高推理的準確性,人們引入了概率理論。最早由Judea Pearl於1988年提出的貝葉斯網路(Bayesian Network)實質上就是一種基於概率的不確定性推理網路。它是用來表示變數集合連接概率的圖形模型,提供了一種表示因果信息的方法。當時主要用於處理人工智慧中的不確定性信息。隨後它逐步成為了處理不確定性信息技術的主流,並且在計算機智能科學、工業控制、醫療診斷等領域的許多智能化系統中得到了重要的應用。
貝葉斯理論是處理不確定性信息的重要工具。作為一種基於概率的不確定性推理方法,貝葉斯網路在處理不確定信息的智能化系統中已得到了重要的應用,已成功地用於醫療診斷、統計決策、專家系統、學習預測等領域。這些成功的應用,充分體現了貝葉斯網路技術是一種強有力的不確定性推理方法。
貝葉斯網路目前應用在模擬計算生物學(computational biology)與生物信息學(bioinformatics)基因調控網上(gene regulatory networks)、蛋白質結構(protein structure)、基因表達分析(gene expression analysis)、醫學(medicine)、文件分類(document classification)、信息檢索(information retrieval)、決策支持系統(decision support systems)、工程學(engineering)、遊戲與法律(gaming and law)、數據結合(data fusion)、圖像處理(image processing)等。