你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

機器學習中,一般只得到業務產生的數據集D,機器學習目的是通過數據D瞭解該項業務的過去(建模)和未來(預測和分類)。但你手頭上只有數據集D,沒有其他任何輔助信息,那麼如何建模?

1.概率假設合理嗎?

我們總是假設數據集D由某種概率分佈生成(數據生成模型),甚至假設數據集D由高斯分佈生成,一旦確定了高斯分佈的參數,相當於我們掌握了數據的生成機制,這樣就能預測業務的未來。但是,這種假設總是讓人看起來不放心,這種假設合理嗎?幸運的是,概率論裡的中心極限定理保證了這種假設的合理性,中心極限定理表明,只要數據集D足夠大,就可認為它由高斯分佈生成。下圖充分說明了這一點。

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

樣本足夠大時服從高斯分佈

因此,即使數據集D的樣本不夠大,我們也會假設數據集D服從高斯分佈,這時沒有人會懷疑假設的合理性。高斯分佈由期望和方差兩個參數決定,但我們手頭上只有數據集D和數據集D服從高斯分佈這兩條信息,並不知道高斯分佈的參數的有關信息。因此估計高斯分佈的參數成為我們首要任務,因為參數一旦確定下來,數據集D的生成模型也就確定下來,預測未來成為可能。關於高斯分佈,我想進一步解釋,不難看出,概率密度函數在期望值處取最大值,這說明了隨機變量落在期望值周圍的概率最大(通俗點來說就是我們大多數人生活在平均水平之中),這是密度函數名稱的來源。

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

一維高斯分佈及參數

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

高斯分佈

2.極大似然然估計

從線性迴歸模型談起,給定數據集[X,y],參數W,誤差r服從高斯分佈

N(0,α^2),線性迴歸模型表示為:

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

線性迴歸模型

利用最小二乘法求參數W,即

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

最小二乘法求參數

這是一個解析解,讓人滿意的結果。但問題是當X中含有線性相關的特徵時(特徵重疊),矩陣不可逆,這時解不存在,需要選擇正則化方法處理,如嶺迴歸和lasso迴歸。大家應該發現這樣的問題,最小二乘法與假設“誤差r服從高斯分佈N(0,α^2)”沒有任何關係。但這個假設是合理的,只要有足夠多的樣本和好模型,誤差自然大部分集中在0附近,並服從高斯分佈。通過這個假設也可以倒逼訓練出一個好模型。極大似然估計從假設“誤差r服從高斯分佈N(0,α^2)”開始,利用樣本的獨立性,有效估計參數。

首先考慮極大似然估計的通用模型,假設數據集D服從一個參數為W的概率分佈f(x)=p

(D=x|W)(含義為在知道W的條件下,數據集D取樣本x的概率密度函數值),這裡f(x)=p(D=x|W)是概率密度函數(對於連續型隨機變量用概率密度函數代替概率),p(D|W)為數據集D的聯合概率分佈,根據樣本的獨立性,p(D|W)為所有樣本的概率密度函數值f(x)的乘積。我們稱p(D|W)為參數W似然函數,log(p(D|W))為參數W對數似然函數,記為L(W|D)=log(p(D|W
))。現在首要任務是估計W。既然樣本數據集D已經出現,概率直覺告訴我們,D出現的概率比所有其他樣本數據集D'出現的概率都要大,即L(W|D)>L(W|D')。極大似然估計就是求一個參數W使得

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

下面用極大似然估計求解線性迴歸模型。

線性迴歸屬於監督學習,X是特徵,y是對應的值(即數據集D),應把X看成已知的參數,W為待估計的參數。假設誤差r服從高斯分佈N(0,α^2)這推出p(y|W)=N(W^TX,α^2)。根據極大似然估計

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

這說明了最小二乘法極大似然估計在假設“誤差r服從高斯分佈N(0,α^2)”下是等價的。

極大似然估計基於樸素的概率直覺,有時得到的結果與實際情況有所偏差。從下圖可以看出,不同的取樣導致與實際情況偏差較大,因此使用極大似然估計應保持警惕。

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

  • 思考1:在線性迴歸模型中,假設誤差r服從貝塔分佈,用極大似然估計參數,結果如何?

  • 思考2:在線性迴歸模型中,假設誤差r服從拉普拉斯分佈,用極大似然估計參數,結果如何?

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

貝塔分佈

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

拉普拉斯分佈

3.最大後驗估計

我在文章《貝葉斯定理》裡詳細介紹了貝葉斯定理以及先驗(prior)、後驗(posterior)、似然(likelihood)等概念。貝葉斯定理如下:

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

其中p(D)為標準化常數。貝葉斯定理可表述為:

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

目前,我們手頭上有數據集D和數據集D服從高斯分佈這兩條信息,關於高斯分佈的參數W,我們沒有額外的信息,在這種情況下,我們只能用極大似然估計這些參數,這是我們能想到的方法。如果在建模之前能獲知這些參數的額外信息,即先驗

p(W),那麼我們可以利用這個先驗建立更加精準的模型。這就是我們下面要講的最大後驗估計。根據貝葉斯定理,最大後驗估計就是求參數W使得

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

計算上述最大值是一個挑戰,但在一些特殊情況下,比如先驗p(W

)是一個高斯先驗,我們是可以計算的。

現在我們可以討論極大似然估計最大後驗估計的關係了。在極大似然估計中,我們不知道p(W),這相當於p(W)是均勻分佈(均勻分佈是無聊的,參數服從均勻分佈等於沒有告訴你關於參數任何信息),不妨假設p(W)=1,這時我們有

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

因此,極大似然估計和先驗為均勻分佈下的最大後驗估計是等價的。

4.線性迴歸模型的最大後驗估計

在線性迴歸模型裡,誤差r服從高斯分佈N(0,α^2),進一步我們假設係數W的先驗p(W)=N(0,ß^2),利用最大後驗估計參數W,使得後驗p(W|y)最大,這裡我省去推導過程,直接給出結論:

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?

本質上,這是嶺迴歸。因此充分利用先驗信息,最大後驗估計比極大似然估計更加魯棒。

  • 思考:在線性迴歸模型中,假設先驗p(W)服從拉普拉斯分佈,用最大後驗估計參數,結果如何?

5.總結

最後我們總結最小二乘法、極大似然估計和最大後驗估計的關係。在線性迴歸模型中,假設誤差r服從高斯分佈N(0,α^2),最小二乘法和極大似然估計是等價的。在線性迴歸模型中,假設誤差r服從高斯分佈N(0,α^2)假設先驗p(W)服從高斯分佈N(0,

ß^2),最大後驗估計結果是嶺迴歸。在假設p(W)服從均勻分佈下,極大似然估計和最大後驗估計是等價的。總之,在充分利用先驗的基礎上,最大後驗估計比極大似然估計更加魯棒。

(作者:頭條號AiMath,未經授權禁止轉載!)

你知道極大似然估計和最大後驗估計的區別和聯繫嗎?


分享到:


相關文章: