菜鳥學概率統計——最大後驗概率(MAP)

最大似然估計:把待估計的參數看作是確定性的量(只是其取值未知),其最佳估計就是使得產生已觀察到的樣本(即訓練樣本)的概率爲最大的那個值。(即求條件概率密度p(D|)爲最大時的$,其中D爲樣本集,$爲條件概率密度分佈的參數)。特點:簡單適用;在訓練樣本增多時通常收斂得很好。只考慮某個模型能產生某個給定觀察序列的概率,而未考慮該模型本身的概率這點與貝葉斯估計區別。

目標是尋求能最大化likehood:的值。可以寫出目標函數:

一般使用對數來進行簡化處理:

要最大化L,對L求導數並令導數爲0即可求解。

最大後驗估計(MAPMaxaposterior):p(D|)*p($)取最大值的那個參數向量$,最大似然估計可以理解爲當先驗概率p($)爲均勻分佈時的MAP估計器。MAP缺點:如果對參數空間進行某些任意非線性變換,如旋轉變換,那麼概率密度p($)就會發生變化,其估計結果就不再有效了。)根據經驗數據獲得對難以觀察的量的點估計。與最大似然估計類似,但是最大的不同時,最大後驗估計的融入了要估計量的先驗分佈在其中,可看做是規則化的最大似然估計

   和極大似然估計不同的是,MAP尋求的是能使後驗概率最大的值。


之所以可以省略分母p(X),是因爲p(X)和沒有關係。注意當前驗 p 是 uniform(也就是常函數)時最大後驗估計與最大似然估計重和。

加上對數處理後,上面公式可以表達爲:

的先驗分佈在實際應用中,這個先驗可以用來描述人們已經知道或者接受的普遍規律。例如在扔硬幣的試驗中,每次拋出正面發生的概率應該服從一個概率分佈,這個概率在0.5處取得最大值,這個分佈就是先驗分佈。先驗分佈的參數我們稱爲超參數(hyperparameter)即

至於上面目標函數的求解,也和極大似然估計是一樣的,對目標函數求導並令導數爲0來求解。


以扔硬幣的伯努利實驗爲例子,N次實驗的結果服從二項分佈,參數爲P,即每次實驗事件發生的概率,不妨設爲是得到正面的概率。爲了估計P,採用最大似然估計,似然函數可以寫作



其中表示實驗結果爲i的次數。下面求似然函數的極值點,有




得到參數p的最大似然估計值爲




可以看出二項分佈中每次事件發的概率p就等於做N次獨立重複隨機試驗中事件發生的概率。

如果我們做20次實驗,出現正面12次,反面8次

那麼根據最大似然估計得到參數值p爲12/20 = 0.6。

下面我們仍然以扔硬幣的例子來說明,我們期望先驗概率分佈在0.5處取得最大值,我們可以選用Beta分佈即




其中Beta函數展開是




當x爲正整數時


\Gamma(n) = (n-1)!\,


Beta分佈的隨機變量範圍是[0,1],所以可以生成normalised probability values。

我們取,這樣先驗分佈在0.5處取得最大值,現在我們來求解MAP估計函數的極值點,同樣對p求導數我們有




得到參數p的的最大後驗估計值爲


和最大似然估計的結果對比可以發現結果中多了這樣的pseudo-counts,這就是先驗在起作用。並且超參數越大,爲了改變先驗分佈傳遞的belief所需要的觀察值就越多,此時對應的Beta函數越聚集,緊縮在其最大值兩側。

如果我們做20次實驗,出現正面12次,反面8次,那麼

那麼根據MAP估計出來的參數p爲16/28 = 0.571,小於最大似然估計得到的值0.6,這也顯示了“硬幣一般是兩面均勻的”這一先驗對參數估計的影響。


假設爲獨立同分布的,μ有一個先驗的概率分佈爲。那麼我們想根據來找到μ的最大後驗概率。根據前面的描述,寫出MAP函數爲:

   

  此時我們在兩邊取對數可知。所求上式的最大值可以等同於求

  

  的最小值。求導可得所求的μ爲

   

  以上便是對於連續變量的MAP求解的過程。



MAPMLE最大區別MAP加入了模型參數本身的概率分佈,或者說,MLE中認爲模型參數本身的概率的是均勻的,即該概率爲一個固定值。MAP允許我們把先驗知識加入到估計模型中,這在樣本很少的時候是很有用的,因爲樣本很少的時候我們的觀測結果很可能出現偏差,此時先驗知識會把估計的結果“拉”向先驗,實際的預估結果將會在先驗結果的兩側形成一個頂峯。通過調節先驗分佈的參數,比如beta分佈的,我們還可以調節把估計的結果“拉”向先驗的幅度,越大,這個頂峯越尖銳。這樣的參數,我們叫做預估模型的“超參數”。

MAP與Bayesian區別:儘管最大後驗估計與 Bayesian 統計共享前驗分佈的使用,通常並不認爲它是一種 Bayesian 方法

舉例:

1.考慮一個醫療診斷問題,有兩種可能的假設:(1)病人有癌症。(2)病人無癌症。樣本數據來自某化驗測試,它也有兩種可能的結果:陽性和陰性。假設我們已經有先驗知識:在所有人口中只有0.008的人患病。此外,化驗測試對有病的患者有98%的可能返回陽性結果,對無病患者有97%的可能返回陰性結果。假設現在有一個新病人,化驗測試返回陽性,是否將病人斷定爲有癌症呢?

上面的數據可以用以下概率式子表示:

P(cancer)=0.008,P(無cancer)=0.992

P(陽性|cancer)=0.98,P(陰性|cancer)=0.02

P(陽性|無cancer)=0.03,P(陰性|無cancer)=0.97

我們可以來計算極大後驗假設:

P(陽性|cancer)p(cancer)=0.98*0.008 = 0.0078

P(陽性|無cancer)*p(無cancer)=0.03*0.992 = 0.0298

因此,應該判斷爲無癌症。

確切的後驗概率可將上面的結果歸一化以使它們的和爲1:
P(canner|+)=0.0078/(0.0078+0.0298)=0.21
P(cancer|-)=0.79

2.假設有五個袋子,各袋中都有無限量的餅乾(櫻桃口味或檸檬口味),已知五個袋子中兩種口味的比例分別是

    櫻桃 100%

    櫻桃 75% + 檸檬 25%

    櫻桃 50% + 檸檬 50%

    櫻桃 25% + 檸檬 75%

    檸檬 100%

  如果只有如上所述條件,那問從同一個袋子中連續拿到2個檸檬餅乾,那麼這個袋子最有可能是上述五個的哪一個?

      我們首先採用最大似然估計來解這個問題,寫出似然函數。假設從袋子中能拿出檸檬餅乾的概率爲p(我們通過這個概率p來確定是從哪個袋子中拿出來的),則似然函數可以寫作

  

  由於p的取值是一個離散值,即上面描述中的0,25%,50%,75%,1。我們只需要評估一下這五個值哪個值使得似然函數最大即可,得到爲袋子5。這裏便是最大似然估計的結果。

上述最大似然估計有一個問題,就是沒有考慮到模型本身的概率分佈,下面我們擴展這個餅乾的問題。

假設拿到袋子1或5的機率都是0.1,拿到2或4的機率都是0.2,拿到3的機率是0.4,那同樣上述問題的答案呢?這個時候就變MAP了。我們根據公式

   

寫出我們的MAP函數。

   

根據題意的描述可知,p的取值分別爲0,25%,50%,75%,1,g的取值分別爲0.1,0.2,0.4,0.2,0.1.分別計算出MAP函數的結果爲:0,0.0125,0.125,0.28125,0.1.由上可知,通過MAP估計可得結果是從第四個袋子中取得的最高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章