先驗、后驗、似然
先驗分布、后驗分布和似然函數
本節轉自:先驗分布、后驗分布、似然估計這幾個概念是什么意思,它們之間的關系是什么?
通俗解釋
-
先驗分布:根據一般的經驗認為隨機變量應該滿足的分布。先驗分布是你瞎猜參數服從啥分布。
-
后驗分布:通過當前訓練數據修正的隨機變量的分布,比先驗分布更符合當前數據。后驗分布是你學習經驗后有根據地瞎猜參數服從啥分布。
-
似然估計:已知訓練數據,給定了模型,通過讓似然性極大化估計模型參數的一種方法。似然估計是你猜參數是多少,才最能解釋某些實驗結果。
舉例
這幾個概念可以用“原因的可能性”和“結果的可能性”的“先后順序”及“條件關系”來理解。
下面舉例:隔壁老王要去10公里外的一個地方辦事,他可以選擇走路,騎自行車或者開車,并花費了一定時間到達目的地。在這個事件中,可以把交通方式(走路、騎車或開車)認為是原因,花費的時間認為是結果。
后驗概率
若老王花了一個小時的時間完成了10公里的距離,那么很大可能是騎車過去的,當然也有較小可能老王是個健身達人跑步過去的,或者開車過去但是堵車很嚴重。若老王一共用了兩個小時的時間完成了10公里的距離,那么很有可能他是走路過去的。若老王只用了二十分鐘,那么很有可能是開車。這種先知道結果,然后由結果估計原因的概率分布,p(交通方式|時間),就是后驗概率。
先驗概率
老王早上起床的時候覺得精神不錯,想鍛煉下身體,決定跑步過去;也可能老王想做個文藝青年試試最近流行的共享單車,決定騎車過去;也可能老王想炫個富,決定開車過去。老王的選擇與到達目的地的時間無關。先于結果,確定原因的概率分布,p(交通方式),就是先驗概率。
似然函數
老王決定步行過去,那么很大可能10公里的距離大約需要兩個小時;較小可能是老王平時堅持鍛煉,跑步過去用了一個小時;更小可能是老王是個猛人,40分鐘就到了。老王決定騎車過去,很可能一個小時就能到;較小可能是老王那天精神不錯加上單雙號限行交通很通暢,40分鐘就到了;還有一種較小可能是老王運氣很差,連著壞了好幾輛共享單車,花了一個半小時才到。老王決定開車過去,很大可能是20分鐘就到了,較小可能是那天堵車很嚴重,磨磨唧唧花了一個小時才到。這種先確定原因,根據原因來估計結果的概率分布,p(時間|交通方式),就是似然估計。
evidence
老王去那個地方好幾趟,不管是什么交通方式,得到了一組關于時間的概率分布。這種不考慮原因,只看結果的概率分布,p(時間),也有一個名詞:evidence(不清楚合適的中文名是什么)。
最后,甩出著名的貝葉斯公式:
p(θ∣x)=p(x∣θ)p(θ)p(x)p(\theta|x)=\frac{p(x|\theta)p(\theta)}{p(x)} p(θ∣x)=p(x)p(x∣θ)p(θ)?
xxx:觀察得到的數據(結果)
θ\thetaθ:決定數據分布的參數(原因)
p(θ∣x)p(\theta|x)p(θ∣x):posterior
p(θ)p(\theta)p(θ):prior
p(x∣θ)p(x|\theta)p(x∣θ):likelihood
p(x)p(x)p(x):evidence
最大似然估計MLE和最大后驗估計MAP
本節轉自:https://zhuanlan.zhihu.com/p/32480810
- 頻率學派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估計)
- 貝葉斯學派 - Bayesian - Maximum A Posteriori (MAP,最大后驗估計)
概述
有時候和別人聊天,對方會說自己有很多機器學習經驗,深入一聊發現,對方竟然對MLE和MAP一知半解,至少在我看來,這位同學的機器學習基礎并不扎實。難道在這個深度學習盛行的年代,不少同學都只注重調參數?
現代機器學習的終極問題都會轉化為解目標函數的優化問題,MLE和MAP是生成這個函數的很基本的思想,因此我們對二者的認知是非常重要的。這次就和大家認真聊一聊MLE和MAP這兩種estimator。
兩大學派的爭論
抽象一點來講,頻率學派和貝葉斯學派對世界的認知有本質不同:頻率學派認為世界是確定的,有一個本體,這個本體的真值是不變的,我們的目標就是要找到這個真值或真值所在的范圍;而貝葉斯學派認為世界是不確定的,人們對世界先有一個預判,而后通過觀測數據對這個預判做調整,我們的目標是要找到最優的描述這個世界的概率分布。
在對事物建模時,用 θ 表示模型的參數,**請注意,解決問題的本質就是求 θ\thetaθ **。那么:
(1) 頻率學派:存在唯一真值 θ\thetaθ。舉一個簡單直觀的例子–拋硬幣,我們用 P(head)P(head)P(head) 來表示硬幣的bias。拋一枚硬幣100次,有20次正面朝上,要估計拋硬幣正面朝上的 bias P(head)=θP(head)=\thetaP(head)=θ 。在頻率學派來看,θ=20/100=0.2\theta = 20 / 100 = 0.2θ=20/100=0.2,很直觀。當數據量趨于無窮時,這種方法能給出精準的估計;然而缺乏數據時則可能產生嚴重的偏差。例如,對于一枚均勻硬幣,即 θ=0.5\theta = 0.5θ=0.5,拋擲5次,出現5次正面 (這種情況出現的概率是1/2^5=3.125%),頻率學派會直接估計這枚硬幣 θ=1\theta = 1θ=1,出現嚴重錯誤。
(2) 貝葉斯學派: θ\thetaθ 是一個隨機變量,符合一定的概率分布。在貝葉斯學派里有兩大輸入和一大輸出,輸入是先驗 (prior)和似然 (likelihood),輸出是后驗 (posterior)。先驗,即 P(θ)P(\theta)P(θ) ,指的是在沒有觀測到任何數據時對 θ\thetaθ 的預先判斷,例如給我一個硬幣,一種可行的先驗是認為這個硬幣有很大的概率是均勻的,有較小的概率是是不均勻的;似然,即 P(X∣θ)P(X|\theta)P(X∣θ) ,是假設 θ\thetaθ 已知后我們觀察到的數據應該是什么樣子的;后驗,即 P(θ∣X)P(\theta|X)P(θ∣X) ,是最終的參數分布。貝葉斯估計的基礎是貝葉斯公式,如下:
P(θ∣X)=P(X∣θ)P(θ)P(X)P(\theta|X)=\frac{P(X|\theta)P(\theta)}{P(X)} P(θ∣X)=P(X)P(X∣θ)P(θ)?
同樣是拋硬幣的例子,對一枚均勻硬幣拋5次得到5次正面,如果先驗認為大概率下這個硬幣是均勻的 (例如最大值取在0.5處的Beta分布),那么 P(head)P(head)P(head) ,即 P(θ∣X)P(\theta|X)P(θ∣X) ,是一個distribution,最大值會介于0.5~1之間,而不是武斷的 θ=1\theta = 1θ=1。
這里有兩點值得注意的地方:
- 隨著數據量的增加,參數分布會越來越向數據靠攏,先驗的影響力會越來越小
- 如果先驗是uniform distribution,則貝葉斯方法等價于頻率方法。因為直觀上來講,先驗是uniform distribution本質上表示對事物沒有任何預判
MLE - 最大似然估計
Maximum Likelihood Estimation, MLE是頻率學派常用的估計方法!
假設數據 x1,x2,...,xnx_1,x_2,...,x_nx1?,x2?,...,xn? 是 i.i.d.的一組抽樣,X=(x1,x2,...,xn)X=(x_1,x_2,...,x_n)X=(x1?,x2?,...,xn?) 。其中i.i.d.表示Independent and identical distribution,獨立同分布。那么MLE對 θ\thetaθ 的估計方法可以如下推導:
θ^MLE=argmaxP(X;θ)=argmaxP(x1;θ)P(x2;θ)…P(xn;θ)=argmaxlog?∏i=1nP(xi;θ)=argmax∑i=1nlog?P(xi;θ)=argmin?∑i=1nlog?P(xi;θ)\begin{align} \hat{\theta}_{MLE}&=argmax\ P(X;\theta)\\ &=argmax\ P(x_1;\theta)P(x_2;\theta)\dots P(x_n;\theta)\\ &=argmax\ \log\prod_{i=1}^nP(x_i;\theta)\\ &=argmax\ \sum_{i=1}^n\log P(x_i;\theta)\\ &=argmin\ -\sum_{i=1}^n\log P(x_i;\theta) \end{align} θ^MLE??=argmax?P(X;θ)=argmax?P(x1?;θ)P(x2?;θ)…P(xn?;θ)=argmax?logi=1∏n?P(xi?;θ)=argmax?i=1∑n?logP(xi?;θ)=argmin??i=1∑n?logP(xi?;θ)??
最后這一行所優化的函數被稱為 Negative Log Likelihood (NLL),這個概念和上面的推導是非常重要的!
我們經常在不經意間使用MLE,例如
- 上文中關于頻率學派求硬幣概率的例子,其方法其實本質是由優化NLL得出。本文末尾附錄中給出了具體的原因 😃
- 給定一些數據,求對應的高斯分布時,我們經常會算這些數據點的均值和方差然后帶入到高斯分布的公式,其理論依據是優化NLL
- 深度學習做分類任務時所用的cross entropy loss,其本質也是MLE
MAP - 最大后驗估計
Maximum A Posteriori, MAP是貝葉斯學派常用的估計方法!
同樣的,假設數據 x1,x2,…,xnx_1,x_2,\dots,x_nx1?,x2?,…,xn? 是i.i.d.的一組抽樣,X=(x1,x2,…,xn)X=(x_1,x_2,\dots,x_n)X=(x1?,x2?,…,xn?) 。那么MAP對 θ\thetaθ 的估計方法可以如下推導:
θ^MAP=argmaxP(θ∣X)=argmin?log?P(θ∣X)=argmin?log?P(X∣θ)P(θ)P(X)=argmin?log?P(X∣θ)?log?P(θ)+log?P(X)=argmin?log?P(X∣θ)?log?P(θ)\begin{align} \hat{\theta}_{MAP}&=argmax\ P(\theta|X)\\ &=argmin\ -\log P(\theta|X)\\ &=argmin\ -\log\frac{P(X|\theta)P(\theta)}{P(X)}\\ &=argmin\ -\log P(X|\theta)-\log P(\theta)+\log P(X)\\ &=argmin\ -\log P(X|\theta)-\log P(\theta) \end{align} θ^MAP??=argmax?P(θ∣X)=argmin??logP(θ∣X)=argmin??logP(X)P(X∣θ)P(θ)?=argmin??logP(X∣θ)?logP(θ)+logP(X)=argmin??logP(X∣θ)?logP(θ)??
其中,第二行到第三行使用了貝葉斯定理,第四行到第五行 P(X)P(X)P(X) 可以丟掉因為與 θ\thetaθ 無關。注意 ?log?P(X∣θ)?log?P(X|\theta)?log?P(X∣θ) 其實就是NLL,所以MLE和MAP在優化時的不同就是在于先驗項 ?log?P(θ)?log?P(\theta)?log?P(θ) 。好的,那現在我們來研究一下這個先驗項,假定先驗是一個高斯分布,即
P(θ)=constant×e?θ22σ2P(\theta)=constant\times e^{-\frac{\theta^2}{2\sigma^2}} P(θ)=constant×e?2σ2θ2?
那么, ?log?P(θ)=constant+θ22σ2-\log P(\theta)=constant+\frac{\theta^2}{2\sigma^2}?logP(θ)=constant+2σ2θ2? 。至此,一件神奇的事情發生了 – 在MAP中使用一個高斯分布的先驗等價于在MLE中采用L2的regularizaton!
再稍微補充幾點:
- 我們不少同學大學里學習概率論時,最主要的還是頻率學派的思想,其實貝葉斯學派思想也非常流行,而且實戰性很強
- CMU的很多老師都喜歡用貝葉斯思想解決問題;THU朱軍老師也在做貝葉斯深度學習的工作,有興趣可以關注一下。
后記
有的同學說:“了解這些沒用,現在大家都不用了。”這種想法是不對的,因為這是大家常年在用的知識,是推導優化函數的核心,而優化函數又是機器學習 (包含深度學習) 的核心之一。這位同學有這樣的看法,說明對機器學習的本質并沒有足夠的認識,而讓我吃驚的是,竟然有不少其他同學為這種看法點贊。內心感到有點兒悲涼,也引發了我寫這篇文章的動力,希望能幫到一些朋友 😃
Ref
- 先驗分布、后驗分布、似然估計這幾個概念是什么意思,它們之間的關系是什么?
- Agenter的回答
- 機器學習的數學——雷明
- 聊一聊機器學習的MLE和MAP:最大似然估計和最大后驗估計
- Bayesian Method Lecture, UT Dallas.
- MLE, MAP, Bayes classification Lecture, CMU.