备忘录——贝叶斯网络与贝叶斯深度网络学习思路总结
目錄
一、貝葉斯公式
二、貝葉斯網絡
定義
貝葉斯網絡的3種結構形式:
1、head-to-head
2、tail-to-tail
3、head-to-tail
馬爾科夫鏈
三、貝葉斯深度學習
貝葉斯深度學習如何進行預測?
貝葉斯深度學習如何進行訓練?
貝葉斯深度學習和深度學習的區別
貝葉斯深度學習框架
四、總結
五、若需理解更加詳細資源請從以下鏈接進入(參考資源):
一、貝葉斯公式
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
其中,被稱為后驗概率(posterior),?被稱為聯合概率,?被稱為似然(likelihood),被稱為先驗概率(prior),被稱為證明(evidence)。
??如果再引入全概率公式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
可以變成如下形式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??如果z是離散型變量,則將上式中分母積分符號改成求和符號? 即可。(概率分布中的概率質量函數一般用大寫字母表示,概率密度函數一般用小寫字母?表示,為了簡便,用連續型變量舉例)
二、貝葉斯網絡
定義
貝葉斯網絡可稱為信念網絡,或有向無環圖模型,也是一種概率圖模型,是一種模擬人類推理過程中,因果關系的不確定性處理模型,其網絡拓樸結構是一個有向無環圖(DAG)。?
貝葉斯網絡的有向無環圖中的節點表示隨機變量,它們可以是可觀察到的變量,或隱變量、未知參數等。認為有因果關系(或非條件獨立)的變量或命題則用箭頭來連接。(若兩個節點間以一個單箭頭連接在一起,表示其中一個節點是“因(parents)”,另一個是“果(children)”,兩節點就會產生一個條件概率值,即連接兩個節點的箭頭代表此兩個隨機變量是具有因果關系,或非條件獨立)
例如,假設節點E直接影響到節點H,即E→H,則用從E指向H的箭頭建立結點E到結點H的有向弧(E,H),權值(即連接強度)用條件概率P(H|E)來表示,如下圖所示:
把某個系統中涉及的隨機變量,根據是否條件獨立繪制在一個有向圖中,就形成了貝葉斯網絡。其主要用來描述隨機變量之間的條件依賴,圓圈表示隨機變量(random variables),箭頭表示條件依賴(conditional dependencies)。
?設G = ( I,E)表示一個有向無環圖(DAG),其中 I 代表圖形中所有的節點的集合,E代表有向連接線段的集合,且令X = (),i ∈ I 為其有向無環圖中的某一節點 i 所代表的隨機變量,若節點 X 的聯合概率可以表示成:
?則稱 X 為相對于一有向無環圖 G?的貝葉斯網絡,其中,表示節點 i 之“因”,或稱是 i 的 parents(父母)。?
此外,對于任意的隨機變量,其聯合概率可由各自的局部條件概率分布相乘而得出:
如下圖所示,便是一個簡單的貝葉斯網絡:
根據簡單貝葉斯網絡的關系列出下式:
貝葉斯網絡的3種結構形式:
如圖示的貝葉斯網絡,可以表示為:
且和獨立(對應head-to-head),和在給定的條件下獨立(對應tail-to-tail)。
1、head-to-head
表示并可以簡化為:
在c未知的條件下,a、b被阻斷(blocked),是獨立的,稱之為head-to-head條件獨立,對應前節那張圖中的和獨立。
2、tail-to-tail
- 在 c 未知的時候,有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
此時,無法得出,即c未知時,a、b不獨立。
- 在 c 已知的時候,有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
然后將帶入式子中,得到:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
即c已知時,a、b獨立。
所以,在c已知的條件下,a,b被阻斷(blocked),是獨立的,稱之為tail-to-tail條件獨立,對應前節那張圖中的“和在給定的條件下獨立”。
3、head-to-tail
- c未知時,有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
無法推出,即c未知時,a、b不獨立。
- c已知時,有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
且根據,可化簡得到:
?所以,在c給定的條件下,a,b被阻斷,是獨立的,稱之為head-to-tail條件獨立,實際為一個鏈式網絡。
馬爾科夫鏈
三、貝葉斯深度學習
?
在深度學習中,和? 都是一個確定的值,例如?。即使我們通過梯度下降(gradient decent)更新?,我們仍未改變 “和?都是一個確定的值” 這一事實。
那什么是貝葉斯深度學習?將?和由確定的值變成分布,這就是貝葉斯深度學習。
貝葉斯深度學習認為每一個權重和偏置都應該是一個分布,而不是一個確定的值。如下圖所示,給出一個貝葉斯深度學習示意圖:
上圖為一個4*3*1的貝葉斯神經網絡。(輸入神經元個數為4,中間隱含層神經元個數為3,輸出層神經元個數為1)
貝葉斯深度學習如何進行預測?
由于網絡的權重和偏置都是分布,于是通過采樣獲得權重和偏置。使得其像非貝葉斯神經網絡那樣進行前向傳播,可以對貝葉斯神經網絡的權重和偏置進行采樣,得到一組參數,然后像非貝葉斯神經網絡那樣使用即可。
當然,也可以對權重和偏置的分布進行多次采樣,得到多個參數組合,參數的細微改變對模型結果的影響在這里就可以體現出來。這也是貝葉斯深度學習的優勢之一,多次采樣最后一起得到的結果更加魯棒。
貝葉斯深度學習如何進行訓練?
對于非貝葉斯神經網絡,在各種超參數固定的情況下,訓練一個神經網絡最終目的就是得到各個層之間的權重和偏置。而對于貝葉斯深度學習,我們訓練的目的就是得到權重和偏置的分布。此時就要用到貝葉斯公式了。
給定一個訓練集?,我們用?D訓練一個貝葉斯神經網絡,則貝葉斯公式可以寫為如下形式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
上式中,想要得到的是的后驗概率?。先驗概率?無論是根據經驗或者瞎猜,總之是已知的,例如初始時將設成標準正態分布,似然是一個關于的函數。當等于某個值時,上式的分子很容易就能算出來,但我們想要得到后驗概率,還要將分母算出來。但事實上,分母的積分要在?的取值空間上進行,但是神經網絡的單個權重的取值空間可以是實數集,而這些不同層之間的權重構成的空間將相當復雜,基本沒法積分。所以問題就出現在分母的計算上。
貝葉斯深度學習的訓練方法目前有以下幾種:(請參考Deep Bayesian Neural Networks. -- Stefano Cosentino)
(1)Approximating the integral with MCMC:用 MCMC(Markov Chains Monte Carlo) 采樣去近似分母的積分。
(2)Using black-box variational inference (with Edward):直接用一個簡單點的分布?qq?去近似后驗概率的分布?pp,即不管分母怎么積分,直接最小化分布?qq?和?pp?之間的差異,如可以使用 KL散度 計算。詳情可以參考貝葉斯編程框架?Edward?中的介紹。
(3)Using MC (Monte Carlo) dropout:蒙特卡羅 dropout,簡單而強大,不改變一般神經網絡結構,只是要求神經網絡帶 dropout 層,訓練過程和一般神經網絡一致,只是測試的時候也打開 dropout,并且測試時需要多次對同一輸入進行前向傳播,然后可以計算平均和統計方差。
貝葉斯深度學習和深度學習的區別
在于權重和偏置是否為離散分布的。貝葉斯深度學習還有以下優點:
(1)貝葉斯深度學習比非貝葉斯深度學習更加的魯棒。因為可以進行多次采樣,貝葉斯深度學習中可以解決在深度學習中對權重進行細微改變所造成的影響。
(2)貝葉斯深度學習可以提供不確定性,且不再是使用softmax生成概率值。(詳情參見 Deep Learning Is Not Good Enough, We Need Bayesian Deep Learning for Safe AI)。
貝葉斯深度學習框架
- 珠算
- Edward
- TensorFlow Probability
四、總結
貝葉斯網絡(Bayesian network),又稱信念網絡(belief network)或是有向無環圖模型(directed acyclic graphical model),是一種概率圖型模型。
但是貝葉斯神經網絡(Bayesian neural network)是貝葉斯和神經網絡的結合,貝葉斯神經網絡和貝葉斯深度學習的概念可以混用。
?
五、若需理解更加詳細資源請從以下鏈接進入(參考資源):
貝葉斯網絡:https://cloud.tencent.com/developer/article/1476046
貝葉斯深度學習:https://www.cnblogs.com/wuliytTaotao/p/10281766.html
總結
以上是生活随笔為你收集整理的备忘录——贝叶斯网络与贝叶斯深度网络学习思路总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的软考高项考试之旅
- 下一篇: 全面升级 | ONES Performa