獨家 | 一文讀懂貝葉斯網絡


作者:Devin Soni

翻譯:車前子

校對:孫韜淳

本文約1400字,建議閱讀8分鐘

本文從概率論出發,爲你闡述貝葉斯網絡。

貝葉斯網絡是一種利用貝葉斯推斷進行概率計算的概率圖模型。貝葉斯網絡的目的是通過有向圖結構中的邊來表示條件依賴(conditional dependence)從而對條件依賴進行建模,並由此延伸到因果關係(causation)建模。通過這些關係並利用因子(factors),我們可對圖中的隨機變量進行有效推斷。

概率

在討論貝葉斯網絡究竟是什麼之前,我們需要先回顧一下概率論。

首先,記住隨機變量A_0, A_1, …, A_n的聯合概率分佈。根據概率鏈式法則(https://en.wikipedia.org/wiki/Chain_rule_(probability)),表示爲P(A_0,A_1,…,A_n)的聯合概率分佈等於P(A_1 | A_2,…,A_n)*P(A_2 | A_3,…,A_n)*…*P(A|n)。我們可以認爲這是概率分佈的因式分解表示(factorized representation),因爲它是N個局部概率的乘積(product)。

接下來回想一下,給定另一個隨機變量C,兩個隨機變量A和B之間的條件獨立性(conditional independence)等價於滿足以下性質:P(A,B | C)=P(A | C)*P(B | C)。換句話說,只要C的值是已知且固定的,A和B就是獨立的。另一種表達方式是P(A | B,C)=P(A | C),我們稍後會用到。

貝葉斯網絡

利用貝葉斯網絡所指定的關係,我們可以利用條件獨立性獲得聯合概率分佈的緊湊的因式分解表示。

貝葉斯網絡是一個有向無環圖(directed acyclic graph, DAG),其中每個邊對應一個條件依賴,每個節點對應一個唯一的隨機變量。形式上,如果連接隨機變量A和B的圖中存在邊(A,B),則表示P(B | A)是聯合概率分佈中的一個因子,因此我們必須知道對B和A所有的值而言的P(B | A)才能進行推理。在上面的示例中,由於Rain有一個邊與WetGrass相連,這意味着P(WetGrass | Rain)將是一個因子,其概率值在條件概率表中WetGrass節點的旁邊註明。

貝葉斯網絡滿足局部馬爾可夫性(local Markov property)。它要求,在給定一個節點的父節點(parent)的情況下,這個節點有條件地獨立於它的非子節點(non-descendant)。在上面的例子中,這意味着P(Sprinkler | Cloudy,Rain)=P(Sprinkler | Cloudy),因爲給定多雲的條件下,噴水器有條件地獨立於其非子節點——下雨。這個性質使我們可以將上一節中使用鏈式規則得到的聯合分佈簡化爲更簡潔的形式。經過簡化後,貝葉斯網絡的聯合分佈等於所有節點的P(節點|父節點)的乘積,如下所示:

在更大的網絡中,這個屬性使我們大大減少了計算量,因爲一般來說,相對於網絡的整體大小,大多數節點的父節點很少。

推斷

貝葉斯網絡的推理有兩種形式。

第一種方法是簡單地評估網絡中每個變量(或子集)的特定賦值的聯合概率。對於這一點,我們已經有了聯合分佈的分解形式,所以我們只是使用提供的條件概率來評估結果。如果我們只關心變量的一個子集,我們就需要將那些我們不感興趣的變量邊緣化。在許多情況下,這可能會導致下溢(譯者注:意爲計算機浮點數計算的結果小於可以表示的最小數),因此通常取該乘積的對數,這相當於將乘積中每個項的單個對數相加。

第二個方法更有趣的推斷任務是求P(x | e),或者在給定其他變量賦值的情況下,求變量子集賦值的概率(x)(我們的證據e)。在上面的例子中,這一點的一個例子可以是找到P(Sprinkler,WetGrass | Cloudy),其中{Sprinkler,WetGrass}是我們的x,{Cloudy}是我們的e。爲了計算這個,我們使用P(x | e)=P(x,e)/P(e)=αP(x,e),其中α是一個歸一化常數,我們將在最後利用P(x | e)+P(¬ x | e)= 1計算。爲了計算P(x,e),我們必須將x或e中沒有出現的變量的聯合概率分佈邊緣化,我們將其表示爲Y。

對於給定的示例,我們可以計算這樣P(Sprinkler, WetGrass | Cloudy):

我們會以同樣的方式計算P(¬ x | e),只是將x中變量的值設爲false而不是true。一旦計算了P(x | e)和P(¬x | e),我們就可以解出α,它等於 1 / (P(x | e) + P(¬x |e))。

注意,在較大的網絡中,Y很可能相當大,因爲大多數推斷任務只會直接使用一小部分變量。在這樣的情況下,如上所示的精確推斷計算量非常大,因此必須使用方法來減少計算量。一種更有效的精確推斷的方法是通過變量消去法(https://en.wikipedia.org/wiki/Variable_elimination),它利用了每個因素只涉及少量變量的事實。這意味着可以重新排列總和,以便只有涉及給定變量的因素才用於該變量的邊緣化。或者,許多網絡甚至對於這種方法來說都太大了,因此使用近似推理方法,例如MCMC(https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo);這些方法提供的概率估計比精確推理方法所需的計算量要少得多。

原文標題:Introduction Bayesian Networks

原文鏈接:https://towardsdatascience.com/introduction-to-bayesian-networks-81031eeed94e

編輯:黃繼彥

校對:林亦霖

譯者簡介

車前子,北大醫學部,流行病與衛生統計專業博二在讀。從臨牀醫學半路出家到數據挖掘,感到了數據分析的艱深和魅力。即使不做醫生,也希望用數據爲醫療健康做一點點貢獻。

翻譯組招募信息

工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是數據科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。

你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於數據科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯繫,THU數據派產學研的背景爲志願者帶來好的發展機遇。

其他福利:來自於名企的數據科學工作者,北大清華以及海外等名校學生他們都將成爲你在翻譯小組的夥伴。

點擊文末“閱讀原文”加入數據派團隊~

轉載須知

如需轉載,請在開篇顯著位置註明作者和出處(轉自:數據派ID:DatapiTHU),並在文章結尾放置數據派醒目二維碼。有原創標識文章,請發送【文章名稱-待授權公衆號名稱及ID】至聯繫郵箱,申請白名單授權並按要求編輯。

發佈後請將鏈接反饋至聯繫郵箱(見下方)。未經許可的轉載以及改編者,我們將依法追究其法律責任。


點擊“閱讀原文”擁抱組織

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章