當前位置:
首頁 > 新聞 > 貝葉斯概率模型一覽

貝葉斯概率模型一覽

雷鋒網按:本文出自美圖數據研究院


什麼是貝葉斯概率模型?

機器學習狹義上是指代統計機器學習,如圖 1 所示,統計學習根據任務類型可以分為監督學習、半監督學習、無監督學習、增強學習等。

圖 1

在每類任務中,又可以將各類模型歸結為概率模型和非概率模型,以下以監督學習為例說明。

概率模型(生成模型)通過函數 F 來描述 X 和 Y 的聯合概率或者條件概率分布,如 P(X|Y);非概率模型(判別模型)通過函數 F 來直接描述 X 到 Y 的映射,如 Y=f(X)。判別模型的優化目標五花八門,但都符合人類認知;而在概率模型中,所有模型的優化目標是統一的,即最大化觀測數據在概率模型中出現的概率。這兩者在部分模型表現形式上又可以互相解釋,如神經網路等。


貝葉斯概率模型的誕生

所有概率模型描述的都是在系統參數 w 下觀測變數對 X,Y 的聯合概率分布或條件概率分布,即 P(Y,X|w) 。設計好概率模型後,剩下的問題就是如何通過大量的觀測數據來決定參數 w, 這時出現了貝葉斯理論。

頻率學派主張大數定律,對參數的最佳選擇是使觀測變數概率最大的值;而貝葉斯學派提出了貝葉斯公式和主觀概率,他們認為參數可以是一個分布,並且最初可以通過主觀經驗設置。頻率學派的人對此是無法接受的,他們認為參數應該是一個確定的值不應該有隨機性。

舉個例子,有個檢測太陽是否爆炸的探測器,它有 0.3 左右的概率撒謊。當探測器說出太陽爆炸時,兩個學派的人答案是不一樣的。

圖 2

如圖 3 所示這裡太陽的狀態是系統參數 w,探測器回答是觀測變數 data。以頻率學派的理論來討論,如果參數只能是一個確定的值,那麼應該選取出錯概率最小的那個參數,那太陽應該是爆炸了;如果以貝葉斯學派來討論,將參數視為分布,並根據我們的經驗賦予先驗,得到的後驗認為太陽應該是沒有爆炸的,只有當探測器多次回答「yes」,後驗分布才會相信太陽爆炸了。

圖 3

貝葉斯學派和概率學派在小數據量的場景下的推論結果常常是有一定區別的,因此它有存在的必要。

構建貝葉斯概率模型

接下里通過構建貝葉斯概率模型案例直觀地感受貝葉斯概率模型的核心概念、構建思想和優勢。


CKF(Collaborative Kalman filter)

圖 4

如圖 4 所示,這種基於頻率學派模型存在兩個比較大的缺陷:

無法增量訓練。理論上每新增一條用戶行為,模型就要重新估計一遍參數;

無法處理用戶興趣漂移。粗暴的做法是設置時間衰減,但是衰減的函數和力度都需要人工把握,模型對超參數很敏感,而且每個用戶的興趣漂移能力應該是不同的,這點無法建模。

根據以上提到的兩大缺陷,通過貝葉斯將該模型進行改造。首先將參數都變成分布的,把用戶向量 u 和物品向量 w 都賦予維納過程:

給 u 和 w 賦予一個方差很大的先驗分布。輸入數據時計算後驗。將後驗通過維納過程得到下一刻的先驗:

每個用戶的興趣漂移能力不同:

*這裡通過維納過程算下一刻先驗,實質上在上一刻後驗的基礎上加一個方差 α。從而保證狀態始終有一個漂移能力,如果這個 α 等於 0,就會出現隨著推理的進行 u 的分布只會越來越集中,這樣即便後面用戶興趣漂移了,由於先驗分布集中,似然函數無法調整。所以這裡的 α 控制的是興趣漂移的能力。

再設一層概率分布,令 α 也為一個維納過程,讓每個用戶的興趣漂移能力可以自適應去調整和變化:

經過貝葉斯改造之後,CFK 模型有以下優勢:

訓練過程中是增量進行的;

無參化,數據越來越多時,後驗方差會越來越小,分布越來越集中,實現先驗與數據的自動權衡;

漂移參數自適應,當用戶興趣發生漂移時,狀態會跟隨著漂移。


Bayesian Neural Networks

Bayesian Neural Networks 是指通過後驗推理擴展標準網路。通過優化標準神經網路訓練(從概率學派的角度來看)等同於權重的最大似然估計。

圖 5

它存在以下三大缺陷:

無法增量訓練;

網路結構等需要超參數設置;

無法衡量預測不確定性。

針對以上問題的解決方案是引入正則化,從貝葉斯學派的角度來看,這相當於在權重上引入先驗。從概率學派的角度來看這不是正確的做法,儘管它在實踐中確實很有效。改造後它有以下優勢:

可以進行增量訓練;

非參數模型,無參並非沒有超參數,而是把超參數隱藏到更深層,以達到更弱的參數敏感性;

可以刻畫預測的不確定性;

先驗與數據自動權衡。

如何更新模型?

變分推理 Variational inference

問題描述:觀測變數 X=,  隱變數 Z=,已知 P(X,Z) 或 P(X | Z),求後驗分布 P(Z | X)。由於後驗分布有時很難獲得解析解,在受限制函數空間中搜索與後驗分布函數近似的函數,這裡需要一個函數相似性的度量(泛函):

那麼如何獲得近似解 q(Z) 呢?

Step 1:通過調整 q(Z), 最小化 q(Z) 與 後驗 p(Z|X) 的 KL 散度 KL(q||p)

Step 2: 將最小優化散度 KL(q||p)的問題轉化為最大化 L(q)

*MinKL(q||p) 等價於 MaxL(q)

考慮概率分布 q(Z)是受限制的類別,我們的?標是充分限制 q(Z)可以取得的概率分布的類別範圍,使得這個範圍中的所有概率分布都是可以處理的概率分布。同時還要使得這個範圍充分?、充分靈活,從?它能夠提供對真實後驗概率分布的?個?夠好的近似。

Step 3:利用平均場理論限制函數空間,將 q(Z)簡化為互不相關的幾個組:

Step 4:將分組簡化後的q(Z)代入以上公式,將其它組視為常來,輪流優化

所有模型的變分推理,都是在交替計算該公式。該公式與模型無關,當對 P(X,Z)賦予具體形式,便可算出 q 的更新公式:

在對 q(Z)分組的原則及 q(Z)函數族的選取原則有兩個小建議:

1.在概率模型中同一層次的隱變數分在一組,在算積分的時候可以使其它層次的對應的條件概率因為不含有改組內的變數而被當做常量,不需計算。

2.q(Z) 的函數族選取條件分布的共軛分布族,在計算期望的積分時需要建條件分布與 q(z)相乘,選取條件分布的共軛分布族保證相乘完的形式還是原來的簡單形式。


概率反向傳播 Probabilistic Backpropagation

概率反向傳播是貝葉斯神經網路的更新方式,已知:

求後驗分布 q(ω,Υ,λ)。

Step 1:利用 KL 逼近 w 的後驗

w 的後驗分布可以寫成,其中 f(w)是與 w 相關的似然,設待求後驗為高斯分布。

在算關於 w 的後驗過程中,不含有 w 的函數部分都可以看成常數忽略掉。因為 w 與另外兩個方差 γ 和 λ 在不同層次,所以 f(w)中不含有這兩個參數。

*這裡雖然是搜索最優函數,但因為限制了函數空間的形式,所以其實是在搜索最優參數 m 和 v

通過最小化 KL 散度 KL(q^new||s),可以得到直接得到如下的最優值:

一般來講這裡需使用變分推理,是因為這裡的 Z 比較難求(需要求這個積分):

但是這裡通過 Z 的近似形式來替代,它約等於最後一層神經元響應的分布:

Step 2:前向傳播,得到 Z^L 的均值和方差

前向過程本質上是一個概率分布的傳播過程,但是由於都是高斯分布,所以可以簡化成分布參數的傳播過程。

Step 3:利用該公式反向傳播,更新參數

最後 Z 將變成含有各層參數的高斯函數,從而可以進行反向梯度計算並更新各層分布的參數,這樣就解決了貝葉斯神經網路的模型更新問題。

本文主要介紹了機器學習中的概率模型及貝葉斯理論在概率模型中的應用,這也是人工智慧目前比較活躍的方向,相信會有越來越多的工作在這方面進行探索,期待新的發展。我們也會把貝葉斯神經網路應用於實際的業務中,後續的文章中將會與各位交流一些實踐經驗。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

卷積神經網路做簡單任務原來有 BUG?UBER AI Lab 來支招
IBM 本來要用 Watson 來抗癌,結果被卻醫生罵為 Shit

TAG:雷鋒網 |