說人話搞懂【極大似然估計】和【最大後驗概率】的區別!
什麼是先驗/後驗概率
我們先給出一些符號定義,令\(\theta\)表示模型引數,\(D\)表示資料。
先驗概率比較好理解,比如 \(p(D)\)就表示資料的先驗概率(prior probability)。
但是在之前我經常搞不明白 \(p(D|\theta)\) 和\(p(\theta|D)\) 哪個才是後驗概率(posterior probability)。其實二者都可以看做是後驗概率,只不過少了定語。具體來說 \(p(D|\theta)\) 是資料 \(D\) 的後驗概率,即已經告訴你模型引數 \(\theta\) 了,要你求資料的概率,所以是後驗概率。同理\(p(\theta|D)\)
似然概率
下面介紹一下貝葉斯公式這個老朋友了,或者說是熟悉的陌生人。
\[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\)
一般來說 \(p(\theta)\)是不知道的或者說很難求解,但是我們可以知道後驗概率和 (似然概率乘以先驗概率)呈正相關關係,所以\(p(\theta)\)即使不知道也不影響對後驗概率的求解。
極大似然估計 與 最大後驗概率估計
極大似然估計 (Maximum Likelihood Estimate, MLE)和最大後驗概率估計(Maximum A Posteriori (MAP) estimation)其實是兩個不同學派的方法論。
MLE是頻率學派模型引數估計的常用方法,它的目的是想最大化已經發生的事情的概率。我們在用神經網路訓練分類器的時候其實就可以理解成是MLE。具體來說,假設資料\(D\)
可以看到,上面其實就是我們常用的交叉熵損失函式。那麼如何用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)\)其實就是常用的正則項,即對模型引數的約束。