本文以簡單的案例,解釋了最大似然估計、最大後驗估計以及貝葉斯參數估計的聯繫和區別。

假如你有一個硬幣。你把它投擲 3 次,出現了 3 次正面。下一次投擲硬幣正面朝上的概率是多少? 這是一個從數據中估計參數的基礎機器學習問題。在這種情況下,我們要從數據 D 中估算出正面朝上 h 的概率。

最大似然估計

一種方法是找到能最大化觀測數據的似然函數(即 P(D;h))的參數 h 的值。在這裏,我們用「;」來表示 h 是一個關於概率分佈 P 的參數,意味着參數 h 定義了分佈 P,但是分佈 P 只是說明了觀測數據 D 成立的可能性有多大。

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

這是被稱爲「最大似然估計」的最常用的參數估計方法。通過該方法,我們估計出 h=1.0。

但是直覺告訴我們,這是不可能的。對於大多數的硬幣來說,還是存在反面朝上的結果的可能性,因此我們通常希望得到像 h=0.5 這樣的結果。

先驗和後驗

如何將這種直覺數學化地表述出來呢?我們可以定義一個觀測數據和參數的聯合概率:p(D, h) = p(D|h)p(h)。我們定義一個先驗分佈 p(h) 來表示在觀測前關於 h 應該是什麼值的直覺,以及在給定參數 h 的情況下的條件概率 p(D|h)。

如何利用現有的數據 D 估計參數 h 呢?我們需要得到後驗分佈 p(h|D),但是目前只有分佈 P(D|h) 和 p(h)。這時候,你需要貝葉斯公式來幫忙!

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

貝葉斯公式:P(h|D)=P(D|h)*P(h)/P(D)

但是,這裏的分母是一個問題:

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

一般來說,計算這個積分是不可能的。對於這個投硬幣的例子來說,如果使用非常特殊的共軛先驗分佈,就可以繞過這個問題。

最大後驗估計

但實際上,我們可以拋開歸一化常數 P(D) 以更巧妙的方式討論 p(h|D)。也就是說歸一化常數不改變分佈的相對大小,我們可以在不做積分的情況下找到模式:

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

這就是人們所熟知的最大後驗估計(MAP)。有很多種方法可以算出變量 h 的確切值,例如:使用共軛梯度下降法。

貝葉斯參數估計

有了最大後驗估計,可以通過先驗分佈來引入我們的直覺,並且忽略歸一化積分,從而得到後驗分佈模式下的關於 h 的點估計。

但是如果我們試着用近似方法求積分呢?如果按通常的獨立同分布假設,我們可以利用這個事實:未來可能出現的數據樣本值 x 條件獨立於給定參數 h 時的觀測值 D。

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

這並非使用與後驗概率 p(h|D) 模式相應的參數 h 的單一值來計算 P(x|h),而是一個更加「嚴格」的方法,它讓我們考慮到所有可能的 h 的後驗值。這種方法被稱爲貝葉斯參數估計。

注意,存在兩個關於概率分佈的重要任務:

  • 推斷:給定已知參數的聯合分佈,通過其它變量的邊緣概率和條件概率估計一個變量子集上的概率分佈。

  • 參數估計:從數據中估計某個概率分佈的未知參數

貝葉斯參數估計將這兩項任務構造成了「同一枚硬幣的兩面」:

估計在一組變量上定義的概率分佈的參數,就是推斷一個由原始變量和參數構成的元分佈。

當然,實際上要做到這一點,需要計算困難的積分,我們將不得不用類似於「馬爾可夫鏈蒙特卡洛算法」或者變分推斷等方法取近似。

什麼是最大似然估計、最大後驗估計以及貝葉斯參數估計

原文鏈接:https://medium.com/@amatsukawa/maximum-likelihood-maximum-a-priori-and-bayesian-parameter-estimation-d99a23a0519f

相關文章