一、貝葉斯公式機器學習
這三種方法都和貝葉斯公式有關,因此咱們先來了解下貝葉斯公式:ide
每一項的表示以下:函數
posterior:經過樣本X獲得參數的機率,也就是後驗機率。post
likehood:經過參數獲得樣本X的機率,似然函數,一般就是咱們的數據集的表現。學習
prior:參數的先驗機率,通常是根據人的先驗知識來得出的。好比人們傾向於認爲拋硬幣實驗會符合先驗分佈:beta分佈。當咱們選擇beta分佈的參數時,表明人們認爲拋硬幣獲得正反面的機率都是0.5。spa
evidence:,樣本X發生的機率,是各類條件下發生的機率的積分。.net
二、極大似然估計(MLE) 3d
極大似然估計的核心思想是:認爲當前發生的事件是機率最大的事件。所以就能夠給定的數據集,使得該數據集發生的機率最大來求得模型中的參數。似然函數以下:orm
爲了便於計算,咱們對似然函數兩邊取對數,生成新的對數似然函數(由於對數函數是單調增函數,所以求似然函數最大化就能夠轉換成對數似然函數最大化):blog
求對數似然函數最大化,能夠經過導數爲0來求解。
極大似然估計只關注當前的樣本,也就是隻關注當前發生的事情,不考慮事情的先驗狀況。因爲計算簡單,並且不須要關注先驗知識,所以在機器學習中的應用很是廣,最多見的就是邏輯迴歸。
三、最大後驗估計(MAP)
和最大似然估計不一樣的是,最大後驗估計中引入了先驗機率(先驗分佈屬於貝葉斯學派引入的,像L1,L2正則化就是對參數引入了拉普拉斯先驗分佈和高斯先驗分佈),並且最大後驗估計要求的是
最大後驗估計能夠寫成下面的形式:
在求最大後驗機率時,能夠忽略分母p(X),由於該值不影響對θ的估計。
一樣爲了便於計算,對兩邊取對數,後驗機率最大化就變成了:
最大後驗估計不僅是關注當前的樣本的狀況,還關注已經發生過的先驗知識。在樸素貝葉斯中會有最大後驗機率的應用,但並無用上最大後驗估計來求參數(由於樸素貝葉斯中的θ其實就是分類的類別)。
最大後驗估計和最大似然估計的區別:最大後驗估計容許咱們把先驗知識加入到估計模型中,這在樣本不多的時候是頗有用的(所以樸素貝葉斯在較少的樣本下就能有很好的表現),由於樣本不多的時候咱們的觀測結果極可能出現誤差,此時先驗知識會把估計的結果「拉」向先驗,實際的預估結果將會在先驗結果的兩側造成一個頂峯。經過調節先驗分佈的參數,好比beta分佈的α,β,咱們還能夠調節把估計的結果「拉」向先驗的幅度,α,β越大,這個頂峯越尖銳。這樣的參數,咱們叫作預估模型的「超參數」。
四、貝葉斯估計
貝葉斯估計和極大後驗估計有點類似,都是以最大化後驗機率爲目的。區別在於:
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主題模型經過共軛分佈的特性來求出主題分佈和詞分佈。
參考: