假如你有一個硬幣。你把它投擲 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 的后驗值。這種方法被稱為貝葉斯參數估計。
注意,存在兩個關于概率分布的重要任務:
推斷:給定已知參數的聯合分布,通過其它變量的邊緣概率和條件概率估計一個變量子集上的概率分布。
參數估計:從數據中估計某個概率分布的未知參數
貝葉斯參數估計將這兩項任務構造成了「同一枚硬幣的兩面」:
估計在一組變量上定義的概率分布的參數,就是推斷一個由原始變量和參數構成的元分布。
當然,實際上要做到這一點,需要計算困難的積分,我們將不得不用類似于「馬爾可夫鏈蒙特卡洛算法」或者變分推斷等方法取近似。
-
機器學習
+關注
關注
66文章
8421瀏覽量
132703 -
貝葉斯公式
+關注
關注
0文章
3瀏覽量
1722
原文標題:什么是最大似然估計、最大后驗估計以及貝葉斯參數估計?
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論