機器學習中的MLE、MAP和貝葉斯估計

即便學過機器學習的人,對機器學習中的MLE(極大似然估計)、MAP(最大後驗估計)以及貝葉斯估計(Bayesian)仍有可能只知其一;不知其二。對於一個基礎模型,一般均可以從這三個角度去建模,好比對於邏輯迴歸(Logistics Regression)來講:算法


MLE: Logistics Regression
網絡

MAP: Regularized Logistics Regression 機器學習

Bayesian: Bayesian Logistic Regression post


本文結合實際例子,以通俗易懂的方式去講解這三者之間的本質區別,但願幫助讀者掃清理解中的障礙。
學習


先導知識點: 假設空間(Hypothesis Space)優化

什麼叫假設空間呢?咱們能夠這樣理解。機器學習包含不少種算法,好比線性迴歸、支持向量機、神經網絡、決策樹、GDBT等等。咱們在建模的時候,第一步就是要選擇一個特定的算法好比「支持向量機」。一旦選擇了一個算法,就至關於咱們選擇了一個假設空間。在一個假設空間裏,咱們一般會有無數種不一樣的解(或者能夠理解成模型),一個優化算法(好比梯度降低法)作的事情就是從中選擇最好的一個解或者多個解/模型,固然優化過程要依賴於樣本數據。舉個例子,若是咱們選擇用支持向量機,那至關於咱們可選的解/模型集中在上半部分(藍色點)。3d

一個具體「toy」問題orm


「 張三遇到了一個數學難題,想尋求別人幫助。經過一番思考以後發現本身的朋友在清華計算機系當老師。因而,他決定找清華計算機系學生幫忙。那張三用什麼樣的策略去尋求幫助呢?
cdn


在這裏,「清華計算機系」是一個假設空間。在這個假設空間裏,每一位學生能夠看作是一個模型(的實例化)。對象

對於張三來講,他有三種不一樣的策略能夠選擇。


第一種策略 : MLE

第一種策略就是從系裏選出過往成績最好的學生,並讓他去解答這個難題。好比咱們能夠選擇過去三次考試中成績最優秀的學生。

通常的學習流程分爲「學習過程」和「預測過程」。第一種策略的方案能夠用下面的圖來表示。在這裏,學習過程至關於從全部系的學生中挑選出成績最好的學生。因此,這裏的「學生過往成績單」就是咱們已知的訓練數據 D, 選出成績最好的學生(計算曆史平均分數,並選出最高的),這個過程就是MLE。一旦咱們找到了成績最好的學生,就能夠進入預測環節。在預測環節中,咱們就可讓他回答張三手裏的難題 x', 以後就能夠獲得他給出的解答 y'



第二種策略:MAP


跟第一種策略的不一樣點在於,第二種策略中咱們聽取了老師的建議,老師就是張三的朋友。這位老師給出了本身的觀點:

「小明和小花的成績中可能存在一些水分」。

當咱們按照成績的高低給學生排序,假設前兩名依次爲小明和小花,若是咱們不考慮這位老師的評價,則咱們確定把小明做爲目標對象。然而,既然老師已經對小明和小花作了一些負面的評價,那這個時候,咱們頗有可能最後選擇的是班級裏的第三名,而不是小明或者小花。


咱們把第二種策略的過程也用一個圖來描述。與上面的圖相比,惟一的區別在於這裏多出了老師的評價,咱們稱之爲 Prior。 也就是說咱們根據學生以往的成績並結合老師評價,選擇了一位咱們認爲最優秀的學生(能夠當作是模型)。以後就可讓他去回答張老師的難題 x',並獲得他的解答 y'。整個過程相似於MAP的估計以及預測。




到這裏,有些讀者可能會有一些疑惑:「

老師的評價(Prior)跟學生過往的成績(Observation)是怎麼結合在一塊兒的?」

。 爲了回答這個問題,咱們不得不引出一個很是著名的定理,叫作貝葉斯定理,以下圖所示。左邊的項是MAP須要優化的部分,經過貝葉斯定理這個項能夠分解成MLE(第一種策略)和Prior,也就是老師的評價。在這裏,分母是常數項(Constant),因此不用考慮。


第三種策略 - Bayesian

最後,咱們來介紹第三種策略。這種策略應該不少人也能夠想象獲得,其實就是讓全部人都去參與回答張三的難題,但最後咱們經過一些加權平均的方式得到最終的答案。好比有三個學生,並且咱們對這三個學生狀況沒有任何瞭解。經過提問,第一個學生回答的答案是A,第二個學生回答的答案也是A,但第三個學生回答的是B。在這種狀況下,咱們基本能夠把A做爲標準答案。接着再考慮一個稍微複雜的狀況,假設咱們經過以往他們的表現得知第三個學生曾經屢次得到過全國奧賽的金牌,那這個時候該怎麼辦? 很顯然,在這種狀況下,咱們給予第三個學生的話語權確定要高於其餘兩位學生


咱們把上面的這種思路應用到張三的問題上,其實至關於咱們讓全部計算機系的學生參與回答這個問題,以後把他們的答案進行彙總並得出最終的答案。若是咱們知道每一位學生的話語權(權重),這個彙總的過程是肯定性(deterministic)。 但每一位學生的話語權(權重)怎麼獲得呢?這就是貝葉斯估計作的事情!


咱們用下面的一幅圖來說述貝葉斯估計和預測的整個過程。跟MAP相似,咱們已知每一位學生過去三次考試考試成績(D)以及老師的評價(Prior)。 但跟MAP不一樣的是,咱們這裏的目標再也不是- 「選出最優秀的學生」,而是經過觀測數據(D)去得到每一位學生的發言權(權重),並且這些權重所有加起來要等於1, 至關因而一個valid分佈(distribution)。


總結起來,在第三種策略之下,給定過去考試成績(D)和老師的評價(Prior), 咱們的目標是估計學生權重的分佈,也稱之爲Posterior Distribution。 那這個分佈具體怎麼去估計呢? 這部分就是貝葉斯估計作的事情,有不少種方法能夠作這件事情,好比MCMC, Variational Method等等,但這並非本文章的重點,因此不在這裏進一步解釋,有興趣的讀者能夠關注以後關於貝葉斯的專欄文章。從直觀的角度思考,由於咱們知道每一位學生過往的成績,因此咱們很容易瞭解到他們的能力水平進而估計出每一位學生的話語權(權重)。


一旦咱們得到了這個分佈(也就是每一位學生的權重),接下來就能夠經過相似於加權平均的方式作預測了,那些權重高的學生話語權天然就越大。

以上是對MLE, MAP以及貝葉斯估計的基本講解。下面咱們試圖去回答兩個常見的問題。


Q: 隨着咱們觀測到愈來愈多的數據,MAP估計逐步逼近MLE,這句話怎麼理解?

咱們接着使用以前MAP(第二種策略)的例子。在這裏,咱們對原來的問題稍做改變。在以前的例子裏咱們假設可以獲得每一位學生過去三次考試中的成績。但在這裏,咱們進一步假定能夠得到每一位學生過去100次考試中的成績。


那這樣的修改會帶來什麼樣的變化呢? 若是仔細想想,其實也很容易想獲得。咱們設想一下這樣的兩種場景。假設咱們知道某一位學生過去三次的考試成績比較優異,但老師卻告訴咱們這位學生能力其實不怎麼樣,那這時候咱們極可能就去相信老師了,畢竟僅僅經過三次考試的成績很難對一個學生有全面的瞭解。但相反,假設咱們瞭解到這位學生在過去100次考試中所有得到了班裏第一名,但同時老師又告訴咱們這位學生的能力其實不怎麼樣,那這時候咱們會有什麼樣的反應? 兩三次考試或許能夠算作是運氣,但連續100次都是第一名這件事情很難再跟運氣畫等號吧? 咱們甚至可能會去懷疑老師的品德,是否是故意污衊人家?


這就是說,當咱們觀測到的數據愈來愈多的時候,咱們從數據中獲取的信息的置信度是越高的,相反老師提供的反饋(Prior)的重要性就會逐漸下降。理想狀況下,當咱們擁有無窮多的數據樣本時,MAP會逼近MLE估計,道理都是同樣的。

Q: 爲何貝葉斯估計會比MLE, MAP難?

回顧一下,MLE 和MAP都是在尋找一個最優秀的學生。貝葉斯估計則是在估計每一位學生的權重。第一種狀況下,爲了尋找最優秀的學生,咱們只需知道學生之間的「相對」優秀程度。這個怎麼理解呢? 好比一個班裏有三個學生A,B,C,咱們知道學生A比B優秀,同時知道B比C優秀,那這時候就能夠推斷出學生A是最優秀的,咱們並不須要明確知道A的成績是多少,B的成績是多少.....


但在貝葉斯估計模式下,我們必需要知道每個學生的絕對權重,由於最後咱們得到的答案是全部學生給出的答案的加權平均,並且全部學生的權重加起來要保證等於1(任何一個分佈的積分和必需要等於1)。 假設咱們知道每一位學生的能力值,a1, a2,.... an,這個能做爲權重嗎? 顯然不能。爲了得到權重,有一種最簡單的方法就是先求和,而後再求權重。好比先計算 a1+...+an = S, 再用a1/S 做爲權重。這貌似看起來也不難啊,只不過多作了一個加法操做?


咱們很容易看出這個加法操做的時間複雜度是O(n),依賴於整體學生的數量。若是咱們的假設空間只有幾百名學生,這個是不成問題的。 但實際中,好比咱們假設咱們的模型用的是支持向量機,而後把假設空間裏的每個可行解比喻成學生,那這個假設空間裏有多少個學生呢? 是無數個!!, 也就是說須要對無窮多個數作這種加法操做。 固然,這種加法操做會以積分(integeral)的方式存在,但問題是這種積分一般沒有一個closed-form的解,你必需要去近似地估計才能夠,這就是MCMC或者Variational方法作的事情,不在這裏多作解釋。


本文幾點重要的Take-aways:


  • 每個模型定義了一個假設空間,通常假設空間都包含無窮的可行解;

  • MLE不考慮先驗(prior),MAP和貝葉斯估計則考慮先驗(prior);

  • MLE、MAP是選擇相對最好的一個模型(point estimation), 貝葉斯方法則是經過觀測數據來估計後驗分佈(posterior distribution),並經過後驗分佈作羣體決策,因此後者的目標並非在去選擇某一個最好的模型;

  • 當樣本個數無窮多的時候,MAP理論上會逼近MLE;

  • 貝葉斯估計複雜度大,一般用MCMC等近似算法來近似;


最後貼一張總結的圖:

相關文章
相關標籤/搜索