作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
最大似然估计(MLE)和最大后验概率(MAP)都是用于在概率分布或者图模型的设计中估计一些变量的方法。它们类似,因为它们计算单个估计值,而不是完整分布。
正如我们已经沉迷于机器学习的那样,MLE会熟悉这种。有时,我们甚至会在不知情的情况下使用它。例如,当将高斯拟合到我们的数据集时,我们立即采用样本均值和样本方差,并将其用作高斯参数。这就是 MLE,因为如果我们将高斯函数的导数相对于均值和方差,并使其最大化(即将导数设置为零),我们得到的是计算样本均值和样本方差的函数。另一个例子,机器学习和深度学习中的大部分优化都可以解释为 MLE。
用更抽象的术语来说,假设我们有一个似然函数 P ( X ∣ θ ) P(X|\theta) P(X∣θ) ,那么我可以做出如下推断:
θ M L E = a r g m a x θ P ( X ∣ θ ) = a r g m a x θ ∏ i P ( x i ∣ θ ) \theta_{MLE} = \mathop{argmax}\limits_{\theta} P(X|\theta) = \mathop{argmax}\limits_{\theta} \prod_{i} P(x_{i} | \theta) θMLE=θargmaxP(X∣θ)=θargmax∏iP(xi∣θ)
当这些小于 1 的数的乘积将接近 0 时,这些数字的数量变为无穷大,由于计算下溢,计算十不切实际的。因此,我们将在对数空间进行计算,因为对数是单调递增的,因此最大化函数等于最大化对数函数。
θ M L E = a r g m a x θ l o g P ( X ∣ θ ) = a r g m a x θ l o g ∏ i P ( x i ∣ θ ) = a r g m a x θ ∑ i l o g P ( x i ∣ θ ) \theta_{MLE} = \mathop{argmax}\limits_{\theta} log P(X|\theta) = \mathop{argmax}\limits_{\theta} log \prod_{i} P(x_{i} | \theta) = \mathop{argmax}\limits_{\theta} \sum_{i} log P(x_{i}|\theta) θMLE=θargmaxlogP(X∣θ)=θargmaxlog∏iP(xi∣θ)=θargmax∑ilogP(xi∣θ)
要使用这个框架,我们只需要导出我们模型的对数似然,然后最大化 θ \theta θ 就可以了。利用梯度下降算法优化就可以达到。
到目前为止,我们现在了解了 MLE 的作用。从这里,我们可以绘制 MAP 估计的平行线。MAP 通常出现在贝叶斯的环境中,因为,它适用于后验分布,而不仅仅是似然分析。
回想一下,根据贝叶斯的规则,我们可以将后验作为似然函数和先验:
P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) ∝ P ( X ∣ θ ) P ( θ ) P(\theta | X) = \frac{P(X|\theta) P(\theta)}{P(X)} \propto P(X|\theta)P(\theta) P(θ∣X)=P(X)P(X∣θ)P(θ)∝P(X∣θ)P(θ)
我们忽略了归一化从行数,因为我们这里是严格的来分析优化,所以有比率就足够了。如果我们用后验替代 MLE公式中的似然,我们可以得到:
$\theta_{MLE} = \mathop{argmax}\limits_{\theta} P(X|\theta)P(\theta) = \mathop{argmax}\limits_{\theta} log P(X|\theta)P(\theta) = \mathop{argmax}\limits_{\theta} log \prod_{i} P(x_{i} | \theta) P(\theta)= \mathop{argmax}\limits_{\theta} \sum_{i} log P(x_{i}|\theta)P(\theta) $
比较 MLE 和 MAP 方差,唯一不同的是MAP包含先验 P ( θ ) P(\theta) P(θ) ,并且它们是相同的。这意味着,现在的似然是由于先验加上了一些权重。
让我们考虑如果我们在 MAP 估计中使用最简单的先验,即统一先验。这意味着,我们在所有可能的值上分配相等的权重 θ \theta θ 。这意味着似然被一些常数等效加权了。作为一个常数,我们可以忽略 ,因为这不会对我们的优化起到作用。
让我们更加具体一点,假设我们可以分配六个可能的值 θ \theta θ ,现在,我们先验 P ( θ ) P(\theta) P(θ) 是 1 6 \frac{1}{6} 61 。因此,我们可以在 MAP 估计中忽略该常数。
θ M L E = a r g m a x θ ∑ i l o g P ( x i ∣ θ ) P ( θ ) = a r g m a x θ ∑ i l o g P ( x i ∣ θ ) c o n s t = a r g m a x θ ∑ i l o g P ( x i ∣ θ ) = θ M L E \theta_{MLE} = \mathop{argmax}\limits_{\theta} \sum_{i} log P(x_{i}|\theta)P(\theta) = \mathop{argmax}\limits_{\theta} \sum_{i} log P(x_{i} | \theta) const = \mathop{argmax}\limits_{\theta} \sum_{i} log P(x_{i} | \theta) = \theta_{MLE} θMLE=θargmax∑ilogP(xi∣θ)P(θ)=θargmax∑ilogP(xi∣θ)const=θargmax∑ilogP(xi∣θ)=θMLE
我们又回到了 MLE 方程!如果我们使用不同的先验,比如高斯,那么我们的先验不再是常数,因此取决于分布的区域,概率是高是低,从不总是相同。
我们可以得出的结论是,MLE是 MAP 的一个特例。