什麼是貝葉斯網絡?原理入門

  現實生活中的很多問題都是概率問題,由多個變量(因素,要素)相互影響。而想要用貝葉斯網絡對其建模,我們需要考慮三個問題:1. 如何定義節點;2.如何定義節點之間的概率依賴關係;3. 如何表示聯合概率分佈。

  假設我們現在有NN個變量,每個變量有KK個取值,則可建模爲如下形式:

p(X)=p(X1,X2,,XN),Xi{1,2,K}p(\mathbf{X})=p\left(X_{1}, X_{2}, \ldots, X_{N}\right), X_{i} \in\{1,2, \ldots K\}

  若使用枚舉法,參數個數爲:KNK^{N}

  假設變量之間相互獨立,則聯合概率分佈大大簡化爲如下形式:

p(X)=p(X1)p(X2)p(XN) p(\mathbf{X}) = p(X_{1})p(X_{2})\cdots p(X_{N})

  但是變量之間相互獨立的這個假設太強了,那我們如何來利用圖的結構優勢降低模型的複雜度

貝葉斯網絡

  貝葉斯網絡是一個有向無圈圖(Directed Acyclic Graph, DAG)(有向邊並不會形成一個圈),由代表變量節點及連接 這些節點有向邊構成。節點代表隨機變量,節點間的有向邊代表了節點間的互相關係(由父節點指向其子節點),用條件概率表達變量間依賴關係,沒有父節點的用先驗概率進行信息表達。

  令GG爲定義在{X1,X2,,XN}\{X_{1},X_{2},\cdots,X_{N}\}上的一個貝葉斯網絡,則其聯合概率分佈可以表示爲各個節點的條件概率分佈的乘積:

p(X)=ipi(XiParG(Xi))p(X)=\prod_{i} p_{i}\left(X_{i} | \operatorname{Par}_{G}\left(X_{i}\right)\right)

  其中ParG(Xi)Par_{G}(\mathbf{X}_{i})爲節點Xi\mathbf{X}_{i}的父節點,pi(XiParG(Xi))p_{i}(\mathbf{X}_{i}|Par_{G}(X_{i}))爲節點條件概率表。

  我們以一個例子來對其進行實例化建模:

  實際生活中的一個例子:對一個學生能否拿到老師的推薦信這一問題進行建模研究。假設與該問題相關的變量有以下五個:試題難度、學生智力、考試成績、高考成績、是否 得到老師推薦信。那麼其節點可定義爲如下形式:

定義節點

  可以看到Grade有兩個父節點,SAT有一個父節點(有父子節點的表示爲條件概率分佈的形式)。所以其聯合概率分佈可表示爲如下形式:

p(D,I,G,S,L)=P(D)P(I)P(GI,D)P(SI)P(LG)\begin{array}{l} p(D, I, G, S, L) \\ =P(D) P(I) P(G | I, D) P(S | I) P(L | G) \end{array}

  那寫成這這種聯合概率分佈的情況有什麼好處呢?我們可以看一下其參數形式:

  • 枚舉法2 * 2 * 3 * 2 * 2 - 1 = 47 個參數(減去1的原因是聯合概率分佈求和需要等於1)。
  • 結構化分解1 + 1 + 8 + 3 + 2 = 15個參數 (每一行的參數求和需要等於1)。

  更一般地,假設nn個二元隨機變量的聯合概率分佈,表示該分佈需要 2n12^{n}-1 個參數。如果用貝葉斯網絡建模,假設每個節點最多有 kk 個父節點,所需要 的參數最多爲 n2kn*2^{k},一般每個變量局部依賴於少數變量。

  算一個實際的例子:

實際算數舉例

  那爲什麼聯合概率爲什麼可以表示爲局部條件 概率表的乘積?

  • 隨機變量 XX,YY 相互獨立, 則會滿足以下三個等式:

P(X,Y)=P(X)P(Y) P(X,Y)=P(X)P(Y)

P(XY)=P(X) P(X|Y)=P(X)

P(YX)=P(Y) P(Y|X)=P(Y)

  或者說上面三個等式中的任意一個等式成立,則隨機變量XX,YY是相互獨立的。下圖是其舉例:

隨機變量相互獨立

  • 隨機變量 XX,YY 在給定 ZZ 條件下條件獨立, 如果滿足:

P(X,YZ)=P(XZ)P(YZ) P(X,Y|Z)=P(X|Z)P(Y|Z)

P(XY,Z)=P(XZ) P(X|Y,Z)=P(X|Z)

P(YX,Z)=P(YZ) P(Y|X,Z)=P(Y|Z)

  我們可以將下圖中具體的數值代進去,其將會成立:

隨機變量在給定條件下的獨立性

概率影響的流動性

  爲了更好地去介紹貝葉斯網裏面的條件獨立性,我們引入新的概念,概率影響的流動性。概率影響的流動性說地是:在一定的觀測條件下,變量間的取值概率是否會相互影響。所謂的觀測條件是這個系統是否有觀測變量,或者觀測變量的取值是否確定。當變量取值未知,通常根據觀測變量取值,對隱變量的取值概率進行推理

  比如:判斷 WW 是否爲觀測變量,XXYY的概率影響的流動性。

概率流動性舉例

  這裏要注意第3和第4中情況,第3種情況:當WW未知的時候你纔可以對XXYY進行推斷。第4種情況:當WW已知的時候,XXYY纔可以進行概率之間的推斷。

概率影響的流動性

概率影響的流動性

  在貝葉斯網絡裏面有一個概率獨立性定理:父節點已知時,該節點與其所有非後代的節點(non-descendants)條件獨立。

舉例

  如上圖所示,當SAT的父節點Intelligence已知時,DifficultyGradeLetter都與SAT條件獨立。

貝葉斯網鏈式法則

  依據上述定理我們可以得到貝葉斯網絡因子分解的形式:

貝葉斯網鏈式法則

貝葉斯網絡推理的直觀理解

  因果推斷Causal Reasoning):順着箭頭方向推斷。得到貝葉斯網絡之後我們就可以進行推理計算。這種因果推理是順着箭頭方向進行的推理。

貝葉斯網絡推理

  貝葉斯網絡的第二種推斷叫做證據推斷Evidential Reasoning):是逆着箭頭推斷的。

證據推斷

  交叉因果推斷Intercausal Reasoning):雙向箭頭推斷。

交叉因果推斷

我的微信公衆號名稱:深度學習與先進智能決策
微信公衆號ID:MultiAgent1024
公衆號介紹:主要研究分享深度學習、機器博弈、強化學習等相關內容!期待您的關注,歡迎一起學習交流進步!

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