1. 程式人生 > 其它 >說人話搞懂【極大似然估計】和【最大後驗概率】的區別!

說人話搞懂【極大似然估計】和【最大後驗概率】的區別!

什麼是先驗/後驗概率

我們先給出一些符號定義,令\(\theta\)表示模型引數,\(D\)表示資料。

先驗概率比較好理解,比如 \(p(D)\)就表示資料的先驗概率(prior probability)。

但是在之前我經常搞不明白 \(p(D|\theta)\)\(p(\theta|D)\) 哪個才是後驗概率(posterior probability)。其實二者都可以看做是後驗概率,只不過少了定語。具體來說 \(p(D|\theta)\) 是資料 \(D\) 的後驗概率,即已經告訴你模型引數 \(\theta\) 了,要你求資料的概率,所以是後驗概率。同理\(p(\theta|D)\)

是告訴你資料後,讓你求\(\theta\)的後驗概率。所以,要根據語境去判斷哪個才是後驗概率。

似然概率

下面介紹一下貝葉斯公式這個老朋友了,或者說是熟悉的陌生人。

\[p(\theta|D)=\frac{p(D|\theta)p(\theta)}{p(D)} \tag{1} \]

假設我們研究的物件是變數\(\theta\),那麼此時先驗概率就是 \(p(\theta)\),(\(\theta\)的) 後驗概率是\(p(\theta|D)\)

\(p(D|\theta)\) 是什麼呢?它就是本文的另一個主角:似然概率 (likelihood probability),顧名思義是給定引數\(\theta\)

,求資料是\(D\)的概率是多少。

一般來說 \(p(\theta)\)是不知道的或者說很難求解,但是我們可以知道後驗概率和 (似然概率乘以先驗概率)呈正相關關係,所以\(p(\theta)\)即使不知道也不影響對後驗概率的求解。

極大似然估計 與 最大後驗概率估計

極大似然估計 (Maximum Likelihood Estimate, MLE)和最大後驗概率估計(Maximum A Posteriori (MAP) estimation)其實是兩個不同學派的方法論。

MLE是頻率學派模型引數估計的常用方法,它的目的是想最大化已經發生的事情的概率。我們在用神經網路訓練分類器的時候其實就可以理解成是MLE。具體來說,假設資料\(D\)

由一組資料樣本組成,即\(D=\{d_1,...,d_n\}\),模型引數用\(\theta\)表示,我們假設每個樣本預測彼此獨立,所以MLE的求解方式如下:

\[\begin{aligned} \hat{\theta}_{\mathrm{MLE}} &=\arg \max P(D ; \theta) \\ &=\arg \max P\left(d_{1} ; \theta\right) P\left(d_{2} ; \theta\right) \cdots P\left(d_{n} ; \theta\right) \\ &=\arg \max \log \prod_{i=1}^{n} P\left(d_{i} ; \theta\right) \\ &=\arg \max \sum_{i=1}^{n} \log P\left(d_{i} ; \theta\right) \\ &=\arg \min -\sum_{i=1}^{n} \log P\left(d_{i} ; \theta\right) \end{aligned} \tag{2} \]

可以看到,上面其實就是我們常用的交叉熵損失函式。那麼如何用MAP來優化模型引數呢?公式如下:

\[\begin{aligned} \hat{\theta}_{\mathrm{MAP}} &=\arg \max P(\theta \mid D) \\ &=\arg \min -\log P(\theta \mid D) \\ &=\arg \min -\log P(D \mid \theta)-\log P(\theta)+\log P(D) \\ &=\arg \min -\log P(D \mid \theta)-\log P(\theta) \end{aligned} \tag{3} \]

可以看到 \(log(MAP(\theta))\approx log({MAP(\theta)})+log(\theta)\)。而\(p(\theta)\)其實就是常用的正則項,即對模型引數的約束。

微信公眾號:AutoML機器學習
MARSGGBO原創
如有意合作或學術討論歡迎私戳聯絡~
郵箱:[email protected]

2022-04-10 17:21:14