Maximum Likelihood 和 Maximum A Posteriori Estimation 的區別
前言
在研究SoftMax交叉熵損失函式(Cross Entropy Loss Function)的時候,一種方法是從概率的角度來解釋softmax cross entropy loss function的物理意義[1]。
我們再來回顧下分類器輸出的Probability Map
,如下:
, 因此從最大似然估計(Maximum Likelihood Estimation) 的角度來講,交叉熵損失函式的公式如下:
不就是最大似然估計的公式嗎?
而且有個有意思
的地方在於,使用概率的角度考慮交叉熵損失的意義,如果給分類器的權重增加一個正則項,如
,我們還可以使用最大後驗估計(Maximmu a Posteriori)的方法
去解釋它。
那麼問題就在於最大似然估計和最大後驗概率估計這樣兩種方法的區別和聯絡是什麼? 查資料的時候發現有個ofollow,noindex">部落格 [2]寫的很好,並且我覺得如果讓我寫的話也許還不如他寫的有條理,因此這裡選擇直接翻譯原文,以下的【方法】一節是我翻譯的原文。
方法
最大似然估計(Maximum Likelihood Estimation, MLE, 後文一直用MLE表示
)和最大後驗概率估計(Maximum A Posteriori Estimation, MAP, 後文一直用MAP表示
)都是用於在概率分佈或圖形模型的設定中估計一些變數的方法。它們類似,因為它們計算單個估計值,而不是完整分佈(這句話很彆扭,原文:They are similar, as they compute a single estimate, instead of a full distribution.
)。
學過Mechine Learning的同學應該都知道MLE的方法。有時候我們甚至都不知道自己使用了MLE的方法,比如,當我們想將一個數據集擬合為高斯分佈時,我們會直接計算樣本的均值和方差,用來當做擬合的高斯概率密度函式的引數。這就是MLE,因為如果我們使用高斯的概率密度函式對均值和方差求導,並且最大化它(比如設定導數為零),我們得到的就將會是求解樣本的均值和樣本的方差。另一個例子,在機器學習和深度學習中,大多數的優化問題都可以解釋為MLE的問題(這裡就是我們在前言中講過的softmax cross entropy loss function的解釋了
)。
可以表示成如下的公式:
在實際計算過程中,由於將很多小於1的數相乘會使最終的結果趨近於0,導致資料的下溢位。因此我們將乘法轉化為log空間中的加法,由於log函式是單調遞增的,因此最大化上面的方程就等價於最大化下面的這個方程:
即可,可以使用我們最喜歡的優化函式如梯度下降法。
到此為止,我們已經理解了MLE是如何操作的,從現在起,我們又要開啟故事的另一條主線了。
MAP通常出現在Bayesian的環景中,因為,正如其名字顯示,MAP利用了後驗概率的分佈,而不僅僅是似然函式。
如果我們把之前的MLE估計中的似然函式去掉,換成後驗概率,那麼目標函式變成如下形式:
,否則,二者完全相同。這就意味著,似然函式現在增加了一個權重,並且這些權重來源於先驗概率。
我們假設下如果我們在MAP模型中使用最簡單的先驗概率,比如均勻分佈。這也就意味著,我們在
的所有可能出現的值上增加了一個相同的權重。也就是說,先驗概率上乘了一個常數。因為它是個常數,因此不會對優化結果產生影響,故我們可以把這個常數從目標函式中去掉。
,此時,我們就可以在MAP模型中將常數部分去掉,如下:
我們又回到了MLE!
如果我們使用了不同的先驗概率,比如高斯分佈函式,那麼其先驗概率就不再是處處相同,由於取決於分佈的區域,概率或高或低,不總是相同了。
至此我們可以得出結論,MLE是MAP的一個特殊情況,也就是當先驗概率為均勻分佈時,二者相同。
總結
至此文章翻譯完了,並且得出了一個結論:
MLE是MAP的一個特殊情況,也就是當先驗概率為均勻分佈時,二者相同。
第一次做翻譯工作,感覺真的很彆扭,明明英文讀著很流暢,可就是不知道怎麼用漢語表述,尷尬至極。
以後儘量還是不翻譯了,整合下各種資料就好了 :)
參考
[1].https://cs231n.github.io/linear-classify/
[2].https://wiseodd.github.io/techblog/2017/01/01/mle-vs-map/