贝叶斯网络(Belief Networks)--模型及方法
貝葉斯網絡(Belief Networks)
在概率圖模型中,貝葉斯網絡通常用來表示變量之間的獨立性假設,通過貝葉斯網絡,我們可以很容易的從中獲取我們想要的信息,比如概率的條件和邊緣獨立信息,但是單純的貝葉斯網絡不能刻畫變量間所有的關系,然而貝葉斯網絡很擅長描述變量間的因果關系(causal)
注明:
此文章大部分思想和例子參考Bayesian Reasoning and Machine Learning
關于貝葉斯基本原理,可參考文章數學之美番外篇:平凡而又神奇的貝葉斯方法
關于貝葉斯網絡的優點:
- 簡化模型表達方式
- 相比于傳統的計算方式更加易于計算
- 貝葉斯網絡Belief Networks
- 模型的獨立性問題
- 條件獨立性
- 推斷
- 模型的獨立性問題
模型的獨立性問題
假設我們有這樣一個例子:
有一天早晨,Bruce離開他的房子的時候發現他家花園中的草地是濕的,有兩種可能,第一:昨天晚上下雨了,第二:他昨天晚上忘記關掉花園中的噴水器,接下來,他觀察他的鄰居Joe,發現他家花園中的草地也是濕的,因此,他推斷,他家的草地濕了是因為昨天晚上下雨的緣故
我們可以通過模型來刻畫這樣的事件:
R∈{0,1} R=1表示下雨0表示沒有
S∈{0,1} S=1表示Bruce忘記關噴水器0表示沒有忘
J∈{0,1} J=1表示Joe家里的花園草地也濕了0表示沒有
B∈{0,1} T=1表示Bruce的花園草地濕了0表示沒有
在這里,有四個變量,每一個變量有兩種狀態屬性0和1,如果要全部表示出來所有的可能性,需要24=16種方式,e.g. p(T=1,J=0,R=1,S=1)=0.7 etc. 根據貝葉斯法則,我們可以得到如下公式:
條件獨立性
對于一個系統來說,模型的建立者基本上是知道模型的約束和限制的,比如在上面的模型中,我們可以假設Bruce花園中的草地是否濕了只于是否下雨或者噴水器是否沒關有關,而與Joe家中的花園中的草地是否濕了沒有直接的關系,因此,我們就可以做條件獨立性的假設
同樣,Joe家中的花園是否濕了在我們的模型中也只于是否下雨有關
p(J|R,S)=p(J|R)
同理,模型最后可以簡化為:
p(B,J,R,S)=p(T|R,S)p(J|R)p(R)p(S)
在模型簡化以后,我們通過4+2+1+1=8種組合value就可以表達整個模型了
最后,我們根據貝葉斯法則,給模型賦予先驗概率來完成模型:
p(R=1)=0.2,(S=1)=0.1,p(J=1|R=1)=1
p(J=1|R=0)=0.2,p(B=1|R=1,S=0)=1
p(B=1|R=1,S=1)=1,p(B=1,R=0,S=1)=0.9
p(B=1,R=0,S=0)=0
推斷
根據貝葉斯公式可以計算出
p(S=1|B=1,J=1)=p(S=1,B=1,J=1)p(B=1,J=1)=∑Rp(B=1,J=1,R,S=1)∑R,Sp(B=1,J=1,R,S)=∑Rp(J=1|R)p(B=1|R,S=1)p(R)p(S=1)∑R,Sp(J=1|R)p(B=1|R,S)p(R)p(S)=0.03440.2144=0.1604
由通過推斷得到的結果可以看出,在Joe家中花園的草濕了的前提下,噴水器忘關的概率比沒有此假設的前提下的概率要低的多
這一整套方法就可以被稱為貝葉斯統計推斷,在貝葉斯模型中,開始的模型簡化是非常重要的,它可以很大程度上的降低我們的計算量,如果可視化的表達這個思想,就好像下面這個圖:
p(y|x1,…,x5)=∑z1,z2p(y|z1,z2)p(z1|x1,x2,x3)p(z2|x4,x5)
上左圖中:需要25=32的計算量,而右圖只需要23+22+22=16的計算量
總結
以上是生活随笔為你收集整理的贝叶斯网络(Belief Networks)--模型及方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【一起看花书1.1】——第五章 机器学习
- 下一篇: 通过软考高项的艰辛历程