機器學習的MLE和MAP:最大似然估計和最大后驗估計


https://zhuanlan.zhihu.com/p/32480810

TLDR (or the take away)

  • 頻率學派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估計)
  • 貝葉斯學派 - Bayesian - Maximum A Posteriori (MAP,最大后驗估計)

概述

有時候和別人聊天,對方會說自己有很多機器學習經驗,深入一聊發現,對方竟然對MLE和MAP一知半解,至少在我看來,這位同學的機器學習基礎並不扎實。難道在這個深度學習盛行的年代,不少同學都只注重調參數?

現代機器學習的終極問題都會轉化為解目標函數的優化問題,MLE和MAP是生成這個函數的很基本的思想,因此我們對二者的認知是非常重要的。這次就和大家認真聊一聊MLE和MAP這兩種estimator。

兩大學派的爭論

抽象一點來講,頻率學派和貝葉斯學派對世界的認知有本質不同:頻率學派認為世界是確定的,有一個本體,這個本體的真值是不變的,我們的目標就是要找到這個真值或真值所在的范圍;而貝葉斯學派認為世界是不確定的,人們對世界先有一個預判,而后通過觀測數據對這個預判做調整,我們的目標是要找到最優的描述這個世界的概率分布。

 

在對事物建模時,用 \theta  表示模型的參數,請注意,解決問題的本質就是求 \theta 。那么:

(1) 頻率學派:存在唯一真值 \theta  。舉一個簡單直觀的例子--拋硬幣,我們用 P(head) 來表示硬幣的bias。拋一枚硬幣100次,有20次正面朝上,要估計拋硬幣正面朝上的bias P(head)=\theta。在頻率學派來看,\theta = 20 / 100 = 0.2,很直觀。當數據量趨於無窮時,這種方法能給出精准的估計;然而缺乏數據時則可能產生嚴重的偏差。例如,對於一枚均勻硬幣,即 \theta = 0.5,拋擲5次,出現5次正面 (這種情況出現的概率是1/2^5=3.125%),頻率學派會直接估計這枚硬幣 \theta = 1,出現嚴重錯誤。

(2) 貝葉斯學派: \theta 是一個隨機變量,符合一定的概率分布。在貝葉斯學派里有兩大輸入和一大輸出,輸入是先驗 (prior)和似然 (likelihood),輸出是后驗 (posterior)。先驗,即 P(\theta) ,指的是在沒有觀測到任何數據時對 \theta 的預先判斷,例如給我一個硬幣,一種可行的先驗是認為這個硬幣有很大的概率是均勻的,有較小的概率是是不均勻的;似然,即 P(X|\theta) ,是假設 \theta 已知后我們觀察到的數據應該是什么樣子的;后驗,即 P(\theta|X) ,是最終的參數分布。貝葉斯估計的基礎是貝葉斯公式,如下:

P(\theta|X)=\frac{P(X|\theta) \times P(\theta)}{P(X)}

同樣是拋硬幣的例子,對一枚均勻硬幣拋5次得到5次正面,如果先驗認為大概率下這個硬幣是均勻的 (例如最大值取在0.5處的Beta分布),那么 P(head) ,即 P(\theta|X) ,是一個distribution,最大值會介於0.5~1之間,而不是武斷的 \theta = 1。

這里有兩點值得注意的地方:

  • 隨着數據量的增加,參數分布會越來越向數據靠攏,先驗的影響力會越來越小
  • 如果先驗是uniform distribution,則貝葉斯方法等價於頻率方法。因為直觀上來講,先驗是uniform distribution本質上表示對事物沒有任何預判

MLE - 最大似然估計

Maximum Likelihood Estimation, MLE是頻率學派常用的估計方法!

假設數據 x_1, x_2, ..., x_n  是i.i.d.的一組抽樣,X = (x_1, x_2, ..., x_n) 。其中i.i.d.表示Independent and identical distribution,獨立同分布。那么MLE對 \theta 的估計方法可以如下推導:

\begin{align*} \hat{\theta}_\text{MLE} &= \arg \max P(X; \theta) \\ &= \arg \max P(x_1; \theta) P(x_2; \theta) \cdot\cdot\cdot\cdot P(x_n;\theta) \\ & = \arg \max\log \prod_{i=1}^{n} P(x_i; \theta) \\ &= \arg \max \sum_{i=1}^{n} \log P(x_i; \theta) \\ &= \arg \min - \sum_{i=1}^{n} \log P(x_i; \theta) \end{align*}

最后這一行所優化的函數被稱為Negative Log Likelihood (NLL),這個概念和上面的推導是非常重要的!

我們經常在不經意間使用MLE,例如

  • 上文中關於頻率學派求硬幣概率的例子,其方法其實本質是由優化NLL得出。本文末尾附錄中給出了具體的原因 :-)
  • 給定一些數據,求對應的高斯分布時,我們經常會算這些數據點的均值和方差然后帶入到高斯分布的公式,其理論依據是優化NLL
  • 深度學習做分類任務時所用的cross entropy loss,其本質也是MLE

MAP - 最大后驗估計

Maximum A Posteriori, MAP是貝葉斯學派常用的估計方法!

同樣的,假設數據 x_1, x_2, ..., x_n  是i.i.d.的一組抽樣,X = (x_1, x_2, ..., x_n) 。那么MAP對 \theta 的估計方法可以如下推導:

\begin{align*} \hat{\theta}_\text{MAP} &= \arg \max P(\theta | X) \\ &= \arg \min -\log P(\theta | X) \\ & = \arg \min -\log P(X|\theta) - \log P(\theta) + \log P(X) \\ &= \arg \min -\log P(X|\theta ) - \log P(\theta) \end{align*}

其中,第二行到第三行使用了貝葉斯定理,第三行到第四行P(X) 可以丟掉因為與 \theta 無關。注意 -\log P(X|\theta ) 其實就是NLL,所以MLE和MAP在優化時的不同就是在於先驗項 - \log P(\theta) 。好的,那現在我們來研究一下這個先驗項,假定先驗是一個高斯分布,即

P(\theta) = \text{constant} \times e^{-\frac{\theta^2}{2\sigma^2}}

那么, -\log P(\theta) = \text{constant} + \frac{\theta^2}{2\sigma^2} 。至此,一件神奇的事情發生了 -- 在MAP中使用一個高斯分布的先驗等價於在MLE中采用L2的regularizaton!

 

再稍微補充幾點:

  • 我們不少同學大學里學習概率論時,最主要的還是頻率學派的思想,其實貝葉斯學派思想也非常流行,而且實戰性很強
  • CMU的很多老師都喜歡用貝葉斯思想解決問題;我本科時的導師朱軍老師也在做貝葉斯深度學習的工作,有興趣可以關注一下。

后記

有的同學說:“了解這些沒用,現在大家都不用了。”這種想法是不對的,因為這是大家常年在用的知識,是推導優化函數的核心,而優化函數又是機器學習 (包含深度學習) 的核心之一。這位同學有這樣的看法,說明對機器學習的本質並沒有足夠的認識,而讓我吃驚的是,竟然有不少其他同學為這種看法點贊。內心感到有點兒悲涼,也引發了我寫這篇文章的動力,希望能幫到一些朋友 :-)

參考資料

[1] Bayesian Method Lecture, UT Dallas.

[2] MLE, MAP, Bayes classification Lecture, CMU.

附錄

為什么說頻率學派求硬幣概率的算法本質是在優化NLL?

因為拋硬幣可以表示為參數為 \theta  的Bernoulli分布,即

P(x_i; \theta) =\left\{ \begin{array}{ll} \theta & x_i = 1 \\ 1 - \theta & x_i = 0 \\ \end{array} \right. \ = \theta^{x_i} (1- \theta)^{1-x_i}

其中 x_i = 1 表示第 i 次拋出正面。那么,

\text{NLL} = -\sum_{i=1}^n \log P(x_i; \theta) = -\sum_{i=1}^n \log \theta^{x_i} (1- \theta)^{1-x_i}

求導數並使其等於零,得到

\text{NLL}' = -\sum_{i=1}^n\Big(\frac{x_i}{\theta} + (1-x_i)\frac{-1}{1-\theta}\Big) = 0

即 \hat{\theta} = \frac{\sum_{i=1}^n x_i}{n} ,也就是出現正面的次數除以總共的拋擲次數。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM