事后概率最大化(MAP)是一种估计参数的方法, 它结合了观测数据 (似然函数) 和先验分布来估计参数. 与最大似然估计 (MLE) 不同, MAP 考虑了先验信息.
在 MAP 中, 我们试图最大化事后概率分布:
p(θ∣data)∝p(data∣θ)p(θ)
其中 θ 是参数, p(data∣θ) 是尤度函数, p(θ) 是先验分布.
为了计算 MAP 估计, 我们最大化对数事后概率:
logp(θ∣data)=logp(data∣θ)+logp(θ)+C(data)
最大后验概率估计(MAP)
在贝叶斯统计学中,“最大后验概率估计”是后验概率分布的众数。利用最大后验概率估计可以获得对实验数据中无法直接观察到的量的点估计。它与最大似然估计中的经典方法有密切关系,但是它使用了一个增广的优化目标,进一步考虑了被估计量的先验概率分布。所以最大后验概率估计可以看作是规则化(regularization)的最大似然估计。
定义
假设我们需要根据观察数据 x 估计未观察到的总体参数 θ,让 f 作为 x 的采样分布,这样 f(x∣θ) 就是给定参数时数据的质量函数或密度值。函数
θ↦f(x∣θ)
即为似然函数,其估计
θ^ML(x)=argθmaxf(x∣θ)
就是 θ 的最大似然估计。
假设 θ 存在一个先验分布 g,这就允许我们将 θ 作为贝叶斯统计中的随机变量,这样 θ 的后验分布就是:
θ↦∫Θf(x∣θ′)g(θ′)dθ′f(x∣θ)g(θ)
其中 Θ 是参数域,并要求归一化积分有限且严格为正,这是贝叶斯定理的直接应用。
最大后验概率估计方法
于是估计 θ 为这个随机变量的后验分布的众数:
θ^MAP(x)=argθmax∫Θf(x∣θ′)g(θ′)dθ′f(x∣θ)g(θ)=argθmaxf(x∣θ)g(θ)
后验分布的分母与 θ 无关,所以在优化过程中不起作用。注意当先验 g 是常数函数时,最大后验估计与最大似然估计重合。
计算最大后验估计的方法
- 解析方法:当后验分布的模能够用解析解方式表示时使用这种方法。共轭先验往往便于计算,但仍需检查众数的边界、存在性与唯一性。
- 数值优化方法:如共轭梯度法或者牛顿法,这通常需要一阶或二阶导数,导数需要通过解析或数值方法得到。
- 期望最大化算法的修改:这种方法不需要后验密度的导数。
注意事项
MAP 是基于贝叶斯后验的点估计;点估计并不因此被排除出贝叶斯方法。它只报告后验众数,不能替代后验不确定性的描述。然而,贝叶斯方法的特点是使用这些分布来总结数据、得到推论。后验均值、中位数、众数与可信区间是不同摘要,应按损失函数和分析目标选择。尤其是当后验分布没有一个简单的解析形式时更是如此。在这种情况下,后验分布可以使用马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)技术来模拟,但是找到它的众数的优化是很困难或者是不可能的。
示例
假设我们有观测数据 y,模型为 y=a1x1+a2x2+e,其中各次观测误差独立服从 N(0,1);本例将 a1,a2 作为已知设计系数,x1,x2 为未知参数。
观测数据为:
⎩⎨⎧a1=1,a2=0,y=−5a1=0,a2=1,y=7a1=1,a2=1,y=1
仅指定 x1−x2∼N(1,2) 不能确定 (x1,x2) 的联合先验。为明确原例的优化模型,下面采用对差值施加正态惩罚、沿和方向平坦的非正规先验核;它在 R2 上不可归一化,不能称为一个已归一化联合概率密度:
p(x1,x2)∝exp(−4(x1−x2−1)2)
观测数据的尤度函数为:
L(x1,x2)∝exp(−21[(−5−x1)2+(7−x2)2+(1−(x1+x2))2])
结合先验分布和尤度函数得到事后分布:
p(x1,x2∣y)∝exp(−21[(−5−x1)2+(7−x2)2+(1−(x1+x2))2])⋅exp(−4(x1−x2−1)2)
取对数以简化计算:
logp(x1,x2∣y)−C(y)=−21[(−5−x1)2+(7−x2)2+(1−(x1+x2))2]−4(x1−x2−1)2
对 x1 和 x2 求偏导数并设为零可以找到最大后验概率估计:
∂x1∂logp(x1,x2∣y)=−(x1+5)+(1−x1−x2)−21(x1−x2−1)=0
∂x2∂logp(x1,x2∣y)=(7−x2)+(1−x1−x2)+21(x1−x2−1)=0
整理为 5x1+x2=−7、x1+5x2=15,得到
(x^1,x^2)=(−25/12,41/12).
负对数后验的 Hessian 为 [5/21/21/25/2],特征值为 3,2,故严格正定:该点是唯一全局极小值,后验核也是可积的高斯核。这个验证说明本例虽使用非正规先验,后验仍正规;其他模型必须重新检查。若希望采用正规联合先验,还需给和方向指定分布,得到的 MAP 一般会改变。