詳解最大似然估計(MLE)、最大後驗概率估計(MAP),以及貝葉斯公式的理解

2021-02-15 校苑數模

最大似然估計(Maximum likelihood estimation, 簡稱MLE)和最大後驗概率估計(Maximum a posteriori estimation, 簡稱MAP)是很常用的兩種參數估計方法,如果不理解這兩種方法的思路,很容易弄混它們。下文將詳細說明MLE和MAP的思路與區別。

但別急,我們先從概率和統計的區別講起。

概率和統計是一個東西嗎?

概率(probabilty)和統計(statistics)看似兩個相近的概念,其實研究的問題剛好相反。

概率研究的問題是,已知一個模型和參數,怎麼去預測這個模型產生的結果的特性(例如均值,方差,協方差等等)。 舉個例子,我想研究怎麼養豬(模型是豬),我選好了想養的品種、餵養方式、豬棚的設計等等(選擇參數),我想知道我養出來的豬大概能有多肥,肉質怎麼樣(預測結果)。

統計研究的問題則相反。統計是,有一堆數據,要利用這堆數據去預測模型和參數。仍以豬為例。現在我買到了一堆肉,通過觀察和判斷,我確定這是豬肉(這就確定了模型。在實際研究中,也是通過觀察數據推測模型是/像高斯分布的、指數分布的、拉普拉斯分布的等等),然後,可以進一步研究,判定這豬的品種、這是圈養豬還是跑山豬還是網易豬,等等(推測模型參數)。

一句話總結:概率是已知模型和參數,推數據。統計是已知數據,推模型和參數。

顯然,本文解釋的MLE和MAP都是統計領域的問題。它們都是用來推測參數的方法。為什麼會存在著兩種不同方法呢? 這需要理解貝葉斯思想。我們來看看貝葉斯公式。

貝葉斯公式到底在說什麼?

學習機器學習和模式識別的人一定都聽過貝葉斯公式(Bayes』 Theorem):

貝葉斯公式看起來很簡單,無非是倒了倒條件概率和聯合概率的公式。

把B展開,可以寫成:

這個式子就很有意思了。

想想這個情況。一輛汽車(或者電瓶車)的警報響了,你通常是什麼反應?有小偷?撞車了? 不。。 你通常什麼反應都沒有。因為汽車警報響一響實在是太正常了!每天都要發生好多次。本來,汽車警報設置的功能是,出現了異常情況,需要人關注。然而,由於虛警實在是太多,人們漸漸不相信警報的功能了。

貝葉斯公式就是在描述,你有多大把握能相信一件證據?(how much you can trust the evidence)

我們假設響警報的目的就是想說汽車被砸了。把A計作「汽車被砸了」,B計作「警報響了」,帶進貝葉斯公式裡看。我們想求等式左邊發生A|B的概率,這是在說警報響了,汽車也確實被砸了。汽車被砸引起(trigger)警報響,即B|A。但是,也有可能是汽車被小孩子皮球踢了一下、被行人碰了一下等其他原因(統統計作∼A),其他原因引起汽車警報響了,即B|∼A。那麼,現在突然聽見警報響了,這時汽車已經被砸了的概率是多少呢(這即是說,警報響這個證據有了,多大把握能相信它確實是在報警說汽車被砸了)?想一想,應當這樣來計算。用警報響起、汽車也被砸了這事件的數量,除以響警報事件的數量(這即【式1】)。進一步展開,即警報響起、汽車也被砸了的事件的數量,除以警報響起、汽車被砸了的事件數量加上警報響起、汽車沒被砸的事件數量這即【式2】)。

可能有點繞,請稍稍想一想。

再思考【式2】。想讓P(A|B)=1,即警報響了,汽車一定被砸了,該怎麼做呢?讓P(B|∼A)P(∼A)=0即可。很容易想清楚,假若讓P(∼A)=0,即杜絕了汽車被球踢、被行人碰到等等其他所有情況,那自然,警報響了,只剩下一種可能——汽車被砸了。這即是提高了響警報這個證據的說服力。

從這個角度總結貝葉斯公式:做判斷的時候,要考慮所有的因素。 老闆罵你,不一定是你把什麼工作搞砸了,可能只是他今天出門前和太太吵了一架。

再思考【式2】。觀察【式2】右邊的分子,P(B|A)為汽車被砸後響警報的概率。姑且仍為這是1吧。但是,若P(A)很小,即汽車被砸的概率本身就很小,則P(B|A)P(A)仍然很小,即【式2】右邊分子仍然很小,P(A|B) 還是大不起來。 這裡,P(A)即是常說的先驗概率,如果A的先驗概率很小,就算P(B|A)較大,可能A的後驗概率P(A|B)還是不會大(假設P(B|∼A)P(∼A)不變的情況下)。

從這個角度思考貝葉斯公式:一個本來就難以發生的事情,就算出現某個證據和他強烈相關,也要謹慎。證據很可能來自別的雖然不是很相關,但發生概率較高的事情。 發現剛才寫的代碼編譯報錯,可是我今天狀態特別好,這語言我也很熟悉,犯錯的概率很低。因此覺得是編譯器出錯了。 ————別,還是先再檢查下自己的代碼吧。

好了好了,說了這麼多,下面言歸正傳,說一說MLE。

——————不行,還得先說似然函數(likelihood function)

似然函數

似然(likelihood)這個詞其實和概率(probability)是差不多的意思,Colins字典這麼解釋:The likelihood of something happening is how likely it is to happen. 你把likelihood換成probability,這解釋也讀得通。但是在統計裡面,似然函數和概率函數卻是兩個不同的概念(其實也很相近就是了)。

對於這個函數:

輸入有兩個:x表示某一個具體的數據;θ表示模型的參數。

如果θ是已知確定的,x是變量,這個函數叫做概率函數(probability function),它描述對於不同的樣本點x,其出現概率是多少。

如果x是已知確定的,θ是變量,這個函數叫做似然函數(likelihood function), 它描述對於不同的模型參數,出現x這個樣本點的概率是多少。

這有點像「一菜兩吃」的意思。其實這樣的形式我們以前也不是沒遇到過。例如,f(x,y)=xy, 即x的y次方。如果x是已知確定的(例如x=2),這就是f(y)=2y, 這是指數函數。 如果y是已知確定的(例如y=2),這就是f(x)=x2,這是二次函數。同一個數學形式,從不同的變量角度觀察,可以有不同的名字。

這麼說應該清楚了吧? 如果還沒講清楚,別急,下文會有具體例子。

現在真要先講講MLE了。。

最大似然估計(MLE)

假設有一個造幣廠生產某種硬幣,現在我們拿到了一枚這種硬幣,想試試這硬幣是不是均勻的。即想知道拋這枚硬幣,正反面出現的概率(記為θ)各是多少?

這是一個統計問題,回想一下,解決統計問題需要什麼? 數據!

於是我們拿這枚硬幣拋了10次,得到的數據(x0)是:反正正正正反正正正反。我們想求的正面概率θ是模型參數,而拋硬幣模型我們可以假設是 二項分布。

那麼,出現實驗結果x0(即反正正正正反正正正反)的似然函數是多少呢?

注意,這是個只關於θ的函數。而最大似然估計,顧名思義,就是要最大化這個函數。我們可以畫出f(θ)的圖像:


可以看出,在時,似然函數取得最大值。

這樣,我們已經完成了對θ的最大似然估計。即,拋10次硬幣,發現7次硬幣正面向上,最大似然估計認為正面向上的概率是0.7。(ummm..這非常直觀合理,對吧?)

且慢,一些人可能會說,硬幣一般都是均勻的啊! 就算你做實驗發現結果是「反正正正正反正正正反」,我也不信θ=0.7。

這裡就包含了貝葉斯學派的思想了——要考慮先驗概率。 為此,引入了最大後驗概率估計。

最大後驗概率估計

最大似然估計是求參數θ, 使似然函數P(x0|θ)最大。最大後驗概率估計則是想求θ使P(x0|θ)P(θ)最大。求得的θ不單單讓似然函數大,θ自己出現的先驗概率也得大。 (這有點像正則化裡加懲罰項的思想,不過正則化裡是利用加法,而MAP裡是利用乘法)

MAP其實是在最大化

不過因為x0是確定的(即投出的「反正正正正反正正正反」),P(x0)是一個已知值,所以去掉了分母P(x0)(假設「投10次硬幣」是一次實驗,實驗做了1000次,「反正正正正反正正正反」出現了n次,則P(x0)=n/1000。總之,這是一個可以由數據集得到的值)。最大化P(θ|x0)的意義也很明確,x0已經出現了,要求θ取什麼值使P(θ|x0)最大。順帶一提,P(θ|x0)即後驗概率,這就是「最大後驗概率估計」名字的由來。

對於投硬幣的例子來看,我們認為(」先驗地知道「)θ取0.5的概率很大,取其他值的概率小一些。我們用一個高斯分布來具體描述我們掌握的這個先驗知識,

例如假設P(θ)為均值0.5,方差0.1的高斯函數,如下圖:


則P(x0|θ)P(θ)的函數圖像為:

注意,此時函數取最大值時,θ取值已向左偏移,不再是0.7。實際上,在θ=0.558時函數取得了最大值。即,用最大後驗概率估計,得到θ=0.558

最後,那要怎樣才能說服一個貝葉斯派相信θ=0.7呢?你得多做點實驗。。

如果做了1000次實驗,其中700次都是正面向上,這時似然函數為:

如果仍然假設P(θ)為均值0.5,方差0.1的高斯函數,P(x0|θ)P(θ)的函數圖像為:

在θ=0.696處,P(x0|θ)P(θ)取得最大值。

這樣,就算一個考慮了先驗概率的貝葉斯派,也不得不承認得把θ估計在0.7附近了。

PS. 要是遇上了頑固的貝葉斯派,認為P(θ=0.5)=1 ,那就沒得玩了。。 無論怎麼做實驗,使用MAP估計出來都是θ=0.5。這也說明,一個合理的先驗概率假設是很重要的。(通常,先驗概率能從數據中直接分析得到)

最大似然估計和最大後驗概率估計的區別

相信讀完上文,MLE和MAP的區別應該是很清楚的了。MAP就是多個作為因子的先驗概率P(θ)。或者,也可以反過來,認為MLE是把先驗概率P(θ)認為等於1,即認為θ是均勻分布。

本文轉載自CSDN博客,版權歸原作者所有

相關焦點

  • 【機器學習基本理論】詳解最大似然估計(MLE)、最大後驗概率估計(MAP),以及貝葉斯公式的理解
    最大似然估計(Maximum likelihood estimation, 簡稱MLE)和最大後驗概率估計(Maximum a posteriori estimation, 簡稱MAP)是很常用的兩種參數估計方法,如果不理解這兩種方法的思路,很容易弄混它們。下文將詳細說明MLE和MAP的思路與區別。先講解MLE的相應知識。
  • 極大似然估計詳解
    極大似然估計貝葉斯決策        首先來看貝葉斯分類,我們都知道經典的貝葉斯公式:
  • 一文讀懂矩估計、極大似然估計和貝葉斯估計
    參數估計最主要的方法包括矩估計法,極大似然估計法,以及貝葉斯估計法。機器學習中常常使用的是極大似然估計法和貝葉斯估計法。極大似然估計法先代入參數值計算觀測樣本發生的概率,得到似然函數,然後對似然函數求極大值,得到對應的參數,即為極大似然估計參數。
  • 從最大似然估計開始,你需要打下的機器學習基石
    上面的公式表示,給定參數後數據的概率等於給定數據後參數的似然度。但是,儘管這兩個值是相等的,但是似然度和概率從根本上是提出了兩個不同的問題——一個是關於數據的,另一個是關於參數值的。這就是為什麼這種方法被稱為最大似然法(極大可能性),而不是最大概率。
  • 零基礎概率論入門:最大似然估計
    ,介紹了最大似然估計方法。最大似然的目標是找到一些參數值,這些參數值對應的分布可以最大化觀測到數據的概率。生成數據的真正分布是f1 ~ N(10, 2.25),也就是上圖中藍色的曲線。既然我們已經具備了最大似然估計的直覺理解,我們可以繼續學習如何計算參數值了。我們找的值稱為最大似然估計(MLE)。同樣,我們將通過一個例子加以說明。
  • 機器學習系列問題(一):MLE和MAP
    ):最大後驗估計機器學習的本質問題都是目標函數的優化,而MLE和MAP都是產生目標函數的思想。首先的一個問題,概率與統計一樣嗎?答案是否定的。概率問題是已知模型參數,推導數據的問題。統計問題是已知數據推導模型參數的問題。很明顯,MLE和MAP都是統計問題。一、條件概率公式和貝葉斯公式我們先回憶一下條件概率公式和貝葉斯公式條件概率公式:
  • 獨家 | 一文讀懂最大似然估計(附R代碼)
    背後可能有多種原因,找出可能性最大的原因便是最大似然估計的意義所在。這一概念常被用於經濟學、MRIs、衛星成像等領域。 來源:YouTube 在這篇文章中,我們將研究最大似然估計(以下簡稱MLE)是如何工作的,以及它如何用於確定具有任何分布的模型的係數。理解MLE將涉及到概率和數學,但我將嘗試通過例子使它更通俗易懂。
  • 最大似然法估計正態分布參數
    最大似然估計定義最大似然估計(maximum likelihood)就是利用已知的樣本結果,反推最具有可能(最大概率)導致這些樣本結果出現的模型參數值。換句話說,極大似然估計提供了一種給定觀察數據來評估模型參數的方法,即「模型已定,參數未知」。
  • [257]先驗概率、似然函數與後驗概率(1)
    [251]機器學習三要素:機器學習成長筆記(2)[253]為什麼需要機器學習:機器學習筆記(3)[254]有監督學習和無監督學習:機器學習筆記(4)公式採用Latex編輯,可以在原文連結裡看到轉化後的版本。
  • 夢裡也能見到她,你大概是喜歡這個姑娘:從貝葉斯到極大似然估計
    本文的目的是讓沒有學過貝葉斯公式的同學對貝葉斯公式有個具體生動的印象。已經掌握得很好的同學可以略過這篇文章。
  • 參數估計(一):點估計
    所謂點估計,就是用一個參數點θhat來估計另外一個未知參數θ。它區別於區間估計。它主要有矩估計法、極大似然估計法和貝葉斯法。A. 矩估計法(K·皮爾遜)這個方法的思想非常簡單,在任意一本概率論與數理統計課本中都能找到其表述。思想是用樣本矩(sample moments)來估計總體矩。
  • 透徹理解貝葉斯推理
    前邊在文章透徹理解最大似然估計,闡述如何理解最大似然進行參數估計,本文將討論使用貝葉斯推理進行參數估計。我還將展示如何將此方法視為最大似然的概括,以及在何種情況下這兩種方法是等價的。如果你讀過透徹理解最大似然估計,你會記得我們說L(data;μ,σ)是似然分布(對於高斯分布)。P(data|Θ )可能性分布。有時候它寫成( Θ; data),但這裡也是一樣的。因此,我們可以通過使用我們提供的參數的先驗信念計算出後驗分布。
  • 提前一年的押題——最大似然估計
    春節在家,百無聊賴,與小侄子玩牌,因為張老師還是個魔術愛好者,一手控牌技術出神入化,於是小侄子連續5把抽到的牌,都是一張紅桃六,大叫著我搞了什麼鬼,我問他,為什麼不是巧合,小侄子一臉看弱智的表情反問「怎麼可能」——我們每個人都有一個根植內心、不證自明的命題:小概率事件不發生,如果「
  • 貝葉斯及概率統計角度
    第一個就是計算特定猜測的後驗概率(Posterior),對於連續的猜測空間則是計算猜測的概率密度函數。第二個則是所謂的模型比較,模型比較如果不考慮先驗概率(Prior)的話就是最大似然方法。後驗概率根據貝葉斯公式,我們看到後驗概率要結合先驗概率和似然度。
  • 一文通俗解釋極大似然估計
    針對上述問題, 極大似然估計為我們提供了一種很好的解決思路,本文將給大家解釋極大似然估計的原理和分析步驟。請注意,小編在這裡不是自戀,而是運用了嚴謹的數學分析來討論這個問題的本質,使用的分析方法就是極大似然估計法。因為導致上述事件發生概率最大的模型參數就是該女同學暗戀小編。最後,不同大家動手,我自己能醒過來。下面小編舉幾個正經的例子,大家熟悉的拋硬幣問題,為了嚴謹起見,我們事先假設硬幣的正反面輕重不同,所以拋一次得到正反面的概率不同。
  • 貝葉斯和貝葉斯公式
    貝葉斯思想和方法對概率統計的發展產生了深遠的影響。今天,貝葉斯思想和方法在許多領域都獲得了廣泛的應用。從二十世紀20~30年代開始,概率統計學出現了「頻率學派」和「貝葉斯學派」的爭論,至今,兩派的恩恩怨怨仍在繼續。貝葉斯決策理論是主觀貝葉斯派歸納理論的重要組成部分。
  • 機器學習領域中的頻率學派與貝葉斯學派
    這也就是為什麼要寫這篇分享的原因了——頻率學派和貝葉斯學派的異同。大家都了解,頻率學派常用的估計方法是最大似然(MaximumLikelihood Estimation 即MLE),而貝葉斯學派常用的估計方法是最大後驗(Maximum A Posteriori 即MAP)。那麼兩大學派在思想上最大的差別是什麼?
  • 貝葉斯系統學習之一:我是如何理解先驗概率和後驗概率的
    所以關於概率與統計的學習我是覺得越來越重要了,所以我之前在公眾號裡轉發了很多關於這方面的知識,最近也想系統的學習整理一下,在正式介紹貝葉斯相關應用的之前,先從最基本的概念開始吧,本文先介紹兩個你既熟悉,但又不能完全理解明白的概念,先驗概率和後驗概率。
  • 最大似然估計是個什麼鬼?
    這貌似是同語反覆,實際是最大似然估計的邏輯基礎。時間是單向的,現實一旦發生,便不可逆轉。究竟是哪些系統因素與偶然因素一起共同導致了現實的發生,我們永遠不可能確切知道。天衣無縫的衣服合身度最高,每個部分都與身體零距離,總距離也是零。最大似然估計的目標不是找到絕對完美的模型,而是找到能找到的最合身的模型。 零假設是新型的,檢驗零假設的指標也是新型的,是個近似卡方值的統計值,名字很怪,叫做「似然性自然對數的負二倍」(-2 loglikehood),我們可以把它簡稱為「負二倍」。
  • 機器學習 —— 淺談貝葉斯和MCMC
    ▌理解貝葉斯公式這個公式應該在概率論書中就有提到,反正當時我也只是死記硬背住,然後遇到題目就套用。甚至在 Chalmers 學了一門統計推斷的課講了貝葉斯,大部分時間我還是在套用公式,直到後來結合了一些專門講解貝葉斯的課程和資料才有了一些真正的理解。