TLDR (or the take away)

頻率學派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估計)

貝葉斯學派 - Bayesian - Maximum A Posteriori (MAP,最大後驗估計)

概述

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

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

兩大學派的爭論

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

在對事物建模時,用

\theta

表示模型的引數,

請注意,解決問題的本質就是求 #FormatImgID_2# 。

那麼:

(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

無關。

注意 #FormatImgID_29# 其實就是NLL,所以MLE和MAP在最佳化時的不同就是在於先驗項 #FormatImgID_30# 。

好的,那現在我們來研究一下這個先驗項,假定先驗是一個高斯分佈,即

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}

\hat{\theta} = \frac{\sum_{i=1}^n x_i}{n}

,也就是出現正面的次數除以總共的拋擲次數。