浅谈贝叶斯网络以及贝叶斯网络处理模型不确定性
1. 貝葉斯定理
貝葉斯定理是關于隨機事件 A 和 B 的條件概率:
其中P(A∣B)P(A|B)P(A∣B)是在 B 發生的情況下 A 發生的可能性。
貝葉斯定理有一個好處就是可以根據新情況更新先驗概率。
舉一個案例:
假設有兩個各裝了100個球的箱子,甲箱子中有70個紅球,30個綠球,乙箱子中有30個紅球,70個綠球。假設隨機選擇其中一個箱子,從中拿出一個球記下球色再放回原箱子,如此重復12次,記錄得到8次紅球,4次綠球。問題來了,你認為被選擇的箱子是甲箱子的概率有多大?
下面容我來詳細分析解答。剛開始選擇甲乙兩箱子的先驗概率都是50%,因為是隨機二選一(這是貝葉斯定理二選一的特殊形式)。即有:
P(甲) = 0.5, P(乙) = 1 - P(甲);
這時在拿出一個球是紅球的情況下,我們就應該根據這個信息來更新選擇的是甲箱子的先驗概率:
P(甲|紅球1) = P(紅球|甲) × P(甲) / (P(紅球|甲) × P(甲) + (P(紅球|乙) × P(乙)))
P(紅球|甲):甲箱子中拿到紅球的概率
P(紅球|乙):乙箱子中拿到紅球的概率
因此在出現一個紅球的情況下,選擇的是甲箱子的先驗概率就可被修正為:
P(甲|紅球1) = 0.7 × 0.5 / (0.7 × 0.5 + 0.3 × 0.5) = 0.7
即在出現一個紅球之后,甲乙箱子被選中的先驗概率就被修正為:
P(甲) = 0.7, P(乙) = 1 - P(甲) = 0.3;
如此重復,直到經歷8次紅球修正(概率增加),4此綠球修正(概率減少)之后,選擇的是甲箱子的概率為:96.7%。
2. 貝葉斯網絡
一個貝葉斯網絡定義包括一個有向無環圖(DAG)和一個條件概率表集合。DAG中每一個節點表示一個隨機變量,可以是可直接觀測變量或隱藏變量,而有向邊表示隨機變量間的條件依賴;條件概率表中的每一個元素對應DAG中唯一的節點,存儲此節點對于其所有直接前驅節點的聯合條件概率。如下圖所示:
貝葉斯網絡有一條極為重要的性質,就是我們斷言每一個節點在其直接前驅節點的值制定后,這個節點條件獨立于其所有非直接前驅前輩節點。
這個性質很類似Markov過程。其實,貝葉斯網絡可以看做是Markov鏈的非線性擴展。這條特性的重要意義在于明確了貝葉斯網絡可以方便計算聯合概率分布。一般情況先,多變量非獨立聯合條件概率分布有如下求取公式:
構造與訓練貝葉斯網絡分為以下兩步:
1、確定隨機變量間的拓撲關系,形成DAG。這一步通常需要領域專家完成,而想要建立一個好的拓撲結構,通常需要不斷迭代和改進才可以。
2、訓練貝葉斯網絡。這一步也就是要完成條件概率表的構造,如果每個隨機變量的值都是可以直接觀察的,像我們上面的例子,那么這一步的訓練是直觀的,方法類似于樸素貝葉斯分類。但是通常貝葉斯網絡的中存在隱藏變量節點,那么訓練方法就是比較復雜,例如使用梯度下降法。
相關資料:
https://www.zhihu.com/question/28006799/answer/533797100
https://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html
https://blog.csdn.net/chasdmeng/article/details/38688525
3. 不確定性和置信度問題
不確定性度量反映的是一個隨機變量的離散程度(dispersion)。換句話說,這是一個標量,反應了一個隨機變量有多「隨機」。在金融領域,這通常被稱為「風險」。不確定性不是某種單一形式,因為衡量離散程度的方法有很多:標準差、方差、風險值(VaR)和熵都是合適的度量。總之要記住,「越高的不確定性」往往被視為「更糟糕」。
不確定性大概為兩種:
偶然不確定性:這描述的是源自數據生成過程本身的隨機性;不能簡單地通過收集更多數據而消除的噪聲。就像你不能預知結果的拋硬幣。也許有人會想:因為偶然事件不確定性是不可約減的,所以我們對此無能無力,直接忽略它就好了。這可不行!在訓練模型時,應該注意選擇能夠正確地代表偶然事件不確定性的輸出表征。標準的 LSTM 不會得出概率分布,所以學習拋硬幣的結果時只會收斂成均值。相對而言,用于語言生成的模型能夠得出一系列類別分布(詞或字符),這能納入句子完成任務中的固有歧義性。
感知不確定性:與模型相關,是由于訓練不完全導致的。如果給它更多的訓練數據來彌補現有模型知識上的不足,這種不確定性從理論上來說是可以消除的。
nips2017的一篇論文用貝葉斯神經網絡建模兩類不確定性。
大部分不確定性估計算法都是基于Bayesian Neural Networks (可以理解為概率性的神經網絡, 認為其參數服從一定的先驗分布), 給定輸入時就可以產生具有一定分布性質的輸出用來計算模型不確定度。
相關資料:
https://www.cnblogs.com/sinoyou/p/11441634.html(基于貝葉斯網絡的不確定性估計)
https://zhuanlan.zhihu.com/p/98756147(nips2017)
https://zhuanlan.zhihu.com/p/88654038(nips2017)
Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning
Bayesian SegNet: Model Uncertainty in Deep Convolutional Encoder-Decoder Architectures for Scene Understanding
總結
以上是生活随笔為你收集整理的浅谈贝叶斯网络以及贝叶斯网络处理模型不确定性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 随机微分方程
- 下一篇: bode图处理----当相频特性曲线纵坐