1. 程式人生 > >Hinton Nerual Networks課程筆記9d:貝葉斯方法入門

Hinton Nerual Networks課程筆記9d:貝葉斯方法入門

課程簡介

Geoffrey Hinton 2012年在coursera上開的網課:Neural Networks for Machine Learning。

課程筆記

這裡主要對比的是Bayesian方法 和 頻率法(最大似然法)。兩者的本質區別在於Bayesian中引數也具有分佈,而最大似然法中引數只是一個數。 從數學的角度,這兩個理論不分優劣,已經進行了好多年的聖戰了;從機器學習的角度,兩個方法都有很成功的應用。

1. 最大似然法

最大似然法也是頻率法,把引數看做固定不變的數,給定資料集D的情況,求取argmax_W(P(D|W)),其中P(D|W)模型是超引數,人為設定。而此方法的問題在於如果資料集D不足夠大,大數定律不適用,則求取的W的可靠性也不高。下圖給出了相關的兩個問題:
max likelihood

2. 貝葉斯法

貝葉斯理論中,則認為W是具有P(W)的分佈的(實現預設的超引數),即如果沒有資料集的情況下對於W分佈的猜測。隨著資料集的增加,P(W)變為P(W|D),先驗概率的作用逐漸減低,資料的作用越來越強。而把P(W|D)和P(W)聯絡起來的,則是著名的貝葉斯公式:
Bayes Theorem
注意到其中P(D)在公式中只是作為歸一化的分母存在,使得P(W|D)保持概率形式,但不影響P(W|D)的相對大小;P(W|D)只受P(W)與P(D|W)影響,並且將兩者的影響融合在一起。
特別的,P(W)先驗部分可以非常模糊,通常是uniform distribution;因為P(W|D)受資料P(D|W)影響,所以最後得到的分佈在與先驗對抗的過程中,傾向於使得資料出現的概率更高,即設P(W)=P(W|D)的情況下,使得P(D|W)更大。當資料量足夠的情況下,P(W|D)更加傾向於最大似然法得到的結果(即資料是可以壓過先驗的)。
當然貝葉斯方法也不是全是優點,一個明顯的缺點就是其過度依賴先驗,在樣本數較小的情況下,得到的概率很大程度上與P(W)有關。
以上就是本節的全部知識點了,下面給出的是貝葉斯方法在拋硬幣問題上的應用。

2.1. 例子:拋硬幣問題

為了凸顯貝葉斯方法的優勢,我們主要探討當資料樣本很少(即拋硬幣次數很少的情況)。
假設實驗樣本只有一個,結果是正面。那麼通過最大似然法可以得到p=1(p為拋得正面的概率)。這是很不符合直觀感受的結論,p=0.5從直觀來講也要優於p=1。同時在直觀中,也可以明顯的意識到其實我們對於p為多少是不確定的,大概覺得應該是0.5-1的一個數。
這就可以引入貝葉斯方法,p不是一個固定的數值,而是具有一定分佈的引數。初始的時候,我們設p(W)=1/|W|,即uniform distribution,各個位置上概率相同,所得到的概率密度圖如下:
003
其中橫軸是p的大小,縱軸是概率密度,也表示為P(p)(用於表示連續的概率分佈,使用方式為:p在a,b範圍內的概率為P(p)在a,b範圍內的積分。如圖中紅色內容area=1,則表示p屬於0-1的範圍內的概率為1.)
在得到一個樣本之後,我們有了P(D|W)如下:
004


這也符合直觀感受,隨著p增大,P(D=1|p)也增大。(不清楚的請回顧p的定義)
所以通過上方的公式,可以得到P(W|D)的結果如下圖(注意到area=1,所以已經是歸一化之後的結果):
005
假設又獲得了一個樣本為反面,則採用的同樣方法操作,其中P(W)為紅線(和上圖相同),P(D|W)為綠線,如下圖所示:
006
求得的P(W|D)如下圖:
007
此時已經和直觀很接近了,即得到一個正面一個反面的兩個樣本,直觀上對於p的猜測也是中間高兩邊低的拋物線模型。但也注意到不同於最大似然法,這裡雖然p=0.5的概率最大,但對於p不等於0.5的情況也具有很大概率,這就是先驗的作用。
繼續輸入樣本資料的話,則發現先驗的作用越來越少,得到的結果更接近於最大似然法了。例如假設樣本中有53個正面,47個反面,則得到的P(W|D)如下:
008