说人话搞懂极大似然估计和最大后验概率估计

MLE&MAP
什么是先验/后验概率
我们先给出一些符号定义,令$\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(D)$是不知道的或者说很难求解,但是我们可以知道后验概率和 (似然概率乘以先验概率)呈正相关关系,所以$p(D)$即使不知道也不影响对后验概率的求解。
极大似然估计 与 最大后验概率估计
极大似然估计 (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机器学习
http://weixin.qq.com/r/HD8gOHzEmiHlrThb92oO (二维码自动识别)
MARSGGBO♥原创
如有意合作或学术讨论欢迎私戳联系~
邮箱:marsggbo@foxmail.com
2022-04-10 17:21:14