1、貝葉斯公式
這三種方法都和貝葉斯公式有關,所以我們先來了解下貝葉斯公式:
每一項的表示如下:
posterior:通過樣本X得到參數的概率,也就是后驗概率。
likehood:通過參數得到樣本X的概率,似然函數,通常就是我們的數據集的表現。
prior:參數的先驗概率,一般是根據人的先驗知識來得出的。比如人們傾向於認為拋硬幣實驗會符合先驗分布:beta分布。當我們選擇beta分布的參數
時,代表人們認為拋硬幣得到正反面的概率都是0.5。
evidence:,樣本X發生的概率,是各種
條件下發生的概率的積分。
2、極大似然估計(MLE)
極大似然估計的核心思想是:認為當前發生的事件是概率最大的事件。因此就可以給定的數據集,使得該數據集發生的概率最大來求得模型中的參數。似然函數如下:
為了便於計算,我們對似然函數兩邊取對數,生成新的對數似然函數(因為對數函數是單調增函數,因此求似然函數最大化就可以轉換成對數似然函數最大化):
求對數似然函數最大化,可以通過導數為0來求解。
極大似然估計只關注當前的樣本,也就是只關注當前發生的事情,不考慮事情的先驗情況。由於計算簡單,而且不需要關注先驗知識,因此在機器學習中的應用非常廣,最常見的就是邏輯回歸。
3、最大后驗估計(MAP)
和最大似然估計不同的是,最大后驗估計中引入了先驗概率(先驗分布屬於貝葉斯學派引入的,像L1,L2正則化就是對參數引入了拉普拉斯先驗分布和高斯先驗分布),而且最大后驗估計要求的是
最大后驗估計可以寫成下面的形式:
在求最大后驗概率時,可以忽略分母p(X),因為該值不影響對θ的估計。
同樣為了便於計算,對兩邊取對數,后驗概率最大化就變成了:
最大后驗估計不只是關注當前的樣本的情況,還關注已經發生過的先驗知識。在朴素貝葉斯中會有最大后驗概率的應用,但並沒有用上最大后驗估計來求參數(因為朴素貝葉斯中的θ其實就是分類的類別)。
最大后驗估計和最大似然估計的區別:最大后驗估計允許我們把先驗知識加入到估計模型中,這在樣本很少的時候是很有用的(因此朴素貝葉斯在較少的樣本下就能有很好的表現),因為樣本很少的時候我們的觀測結果很可能出現偏差,此時先驗知識會把估計的結果“拉”向先驗,實際的預估結果將會在先驗結果的兩側形成一個頂峰。通過調節先驗分布的參數,比如beta分布的α,β,我們還可以調節把估計的結果“拉”向先驗的幅度,α,β越大,這個頂峰越尖銳。這樣的參數,我們叫做預估模型的“超參數”。
4、貝葉斯估計
貝葉斯估計和極大后驗估計有點相似,都是以最大化后驗概率為目的。區別在於:
1)極大似然估計和極大后驗估計都是只返回了的預估值。
2)極大后驗估計在計算后驗概率的時候,把分母p(X)給忽略了,在進行貝葉斯估計的時候則不能忽略
3)貝葉斯估計要計算整個后驗概率的概率分布
對於一個特定的似然函數,如果我們選定一個先驗概率分布,得到的后驗概率分布和先驗概率分布相同,則似然函數分布和先驗概率分布就組成了一對共軛分布。此時訓練出來的是后延概率分布,而不再是單一的值。
舉幾個例子:
likehood為高斯分布,prior為高斯分布,則posterior也為高斯分布。
likehood為伯努利分布(二項式分布),prior為beta分布,則posterior也為beta分布。
likehood為多項式分布,prior為Dirichlet分布(beta分布的一個擴展),則posterior也為Dirichlet(狄利克雷)分布。beta分布可以看作是dirichlet分布的特殊情況。
根據上面的描述,在實踐中我們往往會選擇共軛先驗來簡化。在把后驗概率推導為和先驗概率一樣的分布形式的時候,分母p(X)其實可以看做一個常數,往往充當了一個normalize,歸一化的作用。
求解的時候,既然我們根據先驗分布知道了后驗是什么分布,那我們求出后驗分布的期望值(知道了分布情況就很容易求得期望值),即是需要估計的參數的值:
貝葉斯估計相對於最大后驗估計的好處還在於,貝葉斯估計計算了整個后驗概率的分布,從而也能求出其他一些比如分布的方差之類的值來供參考,比如計算出來方差太大的,我們可以認為分布不夠好,從而把這個當做選擇超參數的一個考慮因素。實際上,貝葉斯估計會比MAP把估計的結果往先驗結果“拉”的程度還提高了一些,從而使估計結果更靠近先驗結果。
貝葉斯估計的應用有LDA主題模型。LDA主題模型通過共軛分布的特性來求出主題分布和詞分布。
參考: