MLE,MAP,EM 和 point estimation 之間的關係是怎樣的?

在閱讀LDA和主題模型相關論文的時候,這些名詞經常出現。MLE(Maximum Likelihood Estimation), MAP(Maximum A Posteriori), EM(Expectation Maximization), 和point estimation。在有上下文的時候可以大體知道是怎麼回事,但是把論文放下,然後自己想想的時候,卻腦中一面空白。

請問哪位能幫我解釋一下上面提到的四個名詞的關係嗎?如果有一些閱讀材料也很好。

非常感謝


感謝肖智博邀請回答。

和點估計相對應的是區間估計,這個一般入門的統計教材里都會講。直觀說,點估計一般就是要找概率密度曲線上值最大的那個點,區間估計則要尋找該曲線上滿足某種條件的一個曲線段。

最大似然和最大後驗是最常用的兩種點估計方法。以最簡單的扔硬幣遊戲為例,一枚硬幣扔了五次,有一次是正面。用最大似然估計,就是以這五次結果為依據,判斷這枚硬幣每次落地時正面朝上的概率(期望值)是多少時,最有可能得到四次反面一次正面的結果。不難計算得到期望概率0.2。

用五次試驗結果來估計硬幣落地時正面朝上的概率顯然不夠可靠。這時候先驗知識可以發揮一些作用。如果你的先驗知識告訴你,這枚硬幣是制幣局製造,而制幣局流出的硬幣正面朝上的概率一般是0.5,這時候就需要在先驗概率0.5和最大似然估計0.2之間取個折中值,這個折中值稱為後驗概率。這時候剩下的問題就是先驗知識和最大似然估計結果各應起多大作用了。如果你對制幣局的工藝非常有信心,覺得先驗知識的可靠程度最起碼相當於做過一千次虛擬試驗,那麼後驗概率是(0.2 * 5 + 0.5 * 1000)/(5 + 1000) = 0.4985,如果你對制幣局技術信心不足,覺得先驗知識的可靠程度也就相當於做過五次試驗,那麼後驗概率是(0.2 * 5 + 0.5 * 5)/(5 + 5) = 0.35. 這種在先驗概率和最大似然結果之間做折中的方法稱為後驗估計方法。這是用貝耶斯觀點對最大後驗方法的闡述,其實也可以用用經典統計學派的偏差方差的折中來解釋。

EM方法是在有缺失值時進行估計的一種方法,這是一個迭代方法,每個迭代有求期望(E)和最大化(M)兩個步驟。其中M可以是MLE或者MAP。一般需要先為缺失值賦值(E步驟初始化),然後重複下面的步驟:

1)用MLE或MAP構造模型(M步驟);

2) 用所得模型估計缺失值,為缺失值重新賦值(E步驟);

仍然以扔硬幣為例,假設投了五次硬幣,記錄到結果中有兩正一反,還有兩次的數據沒有記錄下來,不妨自己用上述步驟演算一下硬幣正面朝上的概率。需要注意,為缺失值賦值可以有兩種策略,一種是按某種概率賦隨機值,採用這種方法得到所謂hard EM,另一種用概率的期望值來為缺失變數賦值,這是通常所謂的EM。另外,上例中,為兩個缺失記錄賦隨機值,以期望為0.8的0-1分布為他們賦值,還是以期望為0.2的0-1分布為他們賦值,得到的結果會不同。而賦值方法的這種差別,實際上體現了不同的先驗信息。所以即便在M步驟中採用MLE,EM方法也融入了非常多的先驗信息。

上面的例子中只有一個隨機變數,而LDA中則有多個隨機變數,考慮的是某些隨機變數完全沒有觀測值的情況(也就是Latent變數),由於模型非常複雜,LDA最初提出時採用了變分方法得到一個簡單的模型,EM被應用在簡化後的模型上。從學習角度說,以PLSA為例來理解EM會更容易一點。另外,kmeans聚類方法實際上是典型的hard EM,而soft kmeans則是通常的EM,這個在[1]中的討論最直觀易懂。

[1] Information Theory, Inference, and Learning Algorithms, http://www.http://inference.phy.cam.ac.uk/mackay/itila/


故事是這樣的:

從前,有一個賣演算法的小女孩有一堆數據,她首先假設這些數據的生成機制可以用某一個概率分布來描述。

這時她面對了兩種選擇:

  1. 不做進一步假設,認為這個概率分布(如果是實數域上的數據)可以是正態分布,可以是學生t-分布,可以是拉普拉斯分布,可以是各種其他各種分布,甚至還可以是把以上分布用另一個隨機變數混合起來的。在這種情況下,她要做的就是非參數統計。這個和題目中提到的四個名詞關係都不大,暫且按下不表。

  2. 假設形成數據的概率分布是某一族分布中的一個。每一族概率分布都可能有無數個。這時她要問自己的問題是:我們面前的這個概率分布的參數是多少。比如說她假設數據是由某種正態分布形成的,就要對這個分布的期望和方差做一個估值(estimation),也就是推論(inference)。這裡就可以提到題主問題中的 point estimation 這個詞了,MLE,MAP和EM都是對模型估值的方式或者方法。實際上,在對模型的參數做出估計以後,買演算法的小女孩們還可以問自己另一個問題:眼前的數據確實被這個推論得知的概率分布形成的概率是多少。這時就要用到假設檢驗,並以此得到參數的置信區間(confidence interval),point estimation 中的「點」就是和置信區間中的「區間」相對的。

現在小女孩決定了要使用的分布族群,她還是不知道怎麼估計參數的值。其實這裡有三種可能的狀況:

  1. 小女孩選擇的模型很簡單,數據量也很大,給定一組參數以後,數據的似然函數(likelihood function)可以很明白的寫出來(tractable)。這時候,一個很明顯也很自然的選擇就是使用最有可能生成了數據的參數值,也就是說,選擇讓似然函數最大化的參數值,也即 maximum likelihood estimation。如果似然函數可以直接在理論上求最大值當然好,算不出最大化的表達式,可以靠數值運算最大化也可以。因為數據量很大,模型簡單(甚至足夠規則),MLE 是一個不錯的選擇。
  2. 小女孩選擇的模型很複雜。似然函數雖然貌似可以寫出來,但是要給指數級的項目求和,或者似然函數根本寫不出來。這樣的模型就不能簡單最大化似然了之了。這時候,買演算法的小女孩們或者老闆突然發現,雖然不能直接寫出模型的似然函數,要是給模型加上幾個隱變數,那麼給定參數下,數據與隱變數的聯合分布倒是很容易算,要是知道隱變數的值,針對參數最大化似然函數也很容易。唯一的問題是,他們既不知道隱變數的值,也不知道參數的值。這時就可以用到 EM 演算法了,這個兩步的演算法很好地解決了這個兩不知的問題,也即:第一步,給定參數,對隱變數做期望,算出包括隱變數的似然函數;第二步,對這個似然函數最大化,update 參數。因為這個模型可以讓似然函數遞增,如果似然函數是凹函數,那就一定會收斂到最大值,如果似然函數有多個極值,則要隨機化初始參數值,算很多次,選擇似然最大的參數。
  3. 小女孩的模型未必很複雜,但是數據非常少,與此同時,小女孩或者老闆已經關注這個問題很久,對參數有一定的想法了。這時候就可以用到貝葉斯統計了:我們可以給參數定一個先驗統計分布,然後用數據算出參數的後驗分布(posterior probability,其實大概就是把先驗的概率密度和數據的似然函數乘一乘,然後再標準化一下的問題),然後再最大化後驗,這個最大化後驗分布的參數值就是 maximum a posteriori 了。其實在貝葉斯統計中,最大化後驗概率的參數值未必是最好的參數值,根據決策論的看法,一般會最小化某個 loss function,得到的結果可能是後驗分布的期望或者中值。不過如果參數的空間是非凸的(比如離散集合),這兩個值未必在參數空間內,說不定也很不好算,所以在實際應用中,用 MAP 的也不少。


參數化統計模型裡面有參數,比如正太分布,兩個參數,平均值,方差。通常情況我們不知道參數是什麼,所以就要估計參數,估計參數是建立在數據和模型假設基礎上的。比如我們假設一個分布是正太分布,我們觀察到一個樣本1,2,3,那麼對平均值的一個直覺估計就是(1+2+3)/3=2。

很多統計模型比較複雜,參數估計也不是可以直覺算出來的,即使可以弄出一個結果,也要有理論根據,所以統計學家提出了一些演算法,來估計參數。

最常見的就是MLE,極大似然估計。還有moment etimation,矩估計。

MLE和moment estimation都是估計參數的值,比如平均值等於2,如果還算出置信區間(看我對另一個問題的回答如何理解 95% 置信區間? - 李大貓的回答),那就屬於interval estimation,區間估計。

同一批數據,同一個模型,不同估計方法得到的結果完全可以不一樣,比如對在0到theta之間的uniform 分布,用MLE和ME估計出來的theta就不一致。即使用同一個方法,也可能得到不一樣的解,比如對泊松分布,用一階矩與二階矩來估計參數得到不同的公式。

MAP是maximize a posteriori estimation,和上面兩種估計有本質不同,本質在哪呢?

在於MLE和ME都假設被估計參數是一個未知常數,這很重要,常數是不變的,但是不知道。而MAP是假設總體參數也是隨機變數,並且假設服從某個分布。當我們有了樣本的時候,得到了更多信息,所以優化後驗概率,得到MAP估計。

上面講的都是參數估計的方法。但是有的問題很複雜,你知道了MLE並不能求解出來,最典型問題是gaussian mixture model,就是幾個正太分布的混合,取得了樣本,不知哪個樣本來自哪個分布,所以可以理解為樣本的標籤缺失了,這種情況用EM演算法來計算MLE。換句話說,MLE提供了一個目標函數,EM提供了優化演算法。

類似EM和MLE這種關係,還有Stochastic gradient descent和MLE(邏輯回歸的online estimation)。MLE說去最大化似然函數,然後EM或者SGD就去完成這個任務。

統計里的參數估計問題很多,並且很多時候要具體問題提出具體解決方案,比如估計Ising model,如果網格太多,幾乎沒辦法求解MLE,所以有人提出來pseudo likelihood,那對應的估計方法就是maximize這個偽似然函數。

再比如EM演算法,在高維模型裡面就不好直接用,因為E step要計算條件期望,會出現一個高維積分,難算,就有人提出來隨機EM演算法。

###################################################################

歡迎關注微信公眾號:機器會學習(搜索 jiqihuixuexi),每天更新原創文章!


貝葉斯公式最重要的幾個概念

P( heta|D)=P(D| heta) P( heta)/P(D)

P( heta|D)是posterior,也就是後驗概率,具體是指當我們已經獲取了當前數據的情況下, heta出現的概率是多少。P(D| heta)是likelihood,也就是在、theta已知的情況,出現數據D的可能性。P( heta)是prior,也就是在不知道具體數據的時候,P( heta)的概率。P(D)則是evidence。搞清楚上述參數的含義有助於我們理解MLE和MAP。

MLE估計參數的時候,優化目標是likelihood,也就是在參數已知的情況下出現當前數據的概率;MAP則是優化posterior,也就是當我們知道數據的情況下,參數後驗概率出現的最大值。MAP設想分布參數滿足一定的分布,然後在這個假設下來進行優化。MAP可以認為是MLE和prior的凸組合。在線性分布的情況下,MAP還可以認為帶有regularization 的MLE。

MLE和MAP是點估計,而Bayes估計則是估計整個參數的概率分布,主要是基於統計的方法,基於這一點的應用有馬爾科夫過程的Monte Carlo估計。


沒查,大約是這樣的:

point estimation 是某類問題的通稱,指用數據估計某參數常量;

剩下三個都是估計方法。

MLE 是先驗估計,找到由對像參數決定的數據分布,參數值就是依該分布觀測數據出現概率最大的那個。

其中 EM 是一種實現 MLE 的具體方法,好處是總能收斂。

MAP 是後驗估計,比如假設由對像參數決定的數據分布本身不完全由數據決定,還有先驗知識的成份,通常表現為由經驗來的對各種數據分布本身的信任程度。計算更複雜些。

很多書都講,不知道你具體背景如何。可以看 signal estimation 這樣的書。Steven Kay 的那本很容易懂的。


MLE vs MAP: the connection between Maximum Likelihood and Maximum A Posteriori Estimation


推薦閱讀:

TAG:機器學習 | 文本挖掘 | 文本數據分析 | 估計 | 文本分析 |