事后概率最大化(MAP)是一种估计参数的方法, 它结合了观测数据 (似然函数 ) 和先验分布来估计参数. 与最大似然估计 (MLE) 不同, MAP 考虑了先验信息.
在 MAP 中, 我们试图最大化事后概率分布:
p ( θ ∣ data ) ∝ p ( data ∣ θ ) p ( θ ) p(\theta | \text{data}) \propto p(\text{data} | \theta) p(\theta) p ( θ ∣ data ) ∝ p ( data ∣ θ ) p ( θ )
其中 θ \theta θ 是参数, p ( data ∣ θ ) p(\text{data} | \theta) p ( data ∣ θ ) 是尤度函数, p ( θ ) p(\theta) p ( θ ) 是先验分布.
为了计算 MAP 估计, 我们最大化对数事后概率:
log p ( θ ∣ data ) ∝ log p ( data ∣ θ ) + log p ( θ ) \log p(\theta | \text{data}) \propto \log p(\text{data} | \theta) + \log p(\theta) log p ( θ ∣ data ) ∝ log p ( data ∣ θ ) + log p ( θ )
最大后验概率估计(MAP) 在贝叶斯统计学中,“最大后验概率估计”是后验概率分布的众数。利用最大后验概率估计可以获得对实验数据中无法直接观察到的量的点估计。它与最大似然估计中的经典方法有密切关系,但是它使用了一个增广的优化目标,进一步考虑了被估计量的先验概率分布。所以最大后验概率估计可以看作是规则化(regularization)的最大似然估计。
定义 假设我们需要根据观察数据 x x x 估计未观察到的总体参数 θ \theta θ ,让 f f f 作为 x x x 的采样分布,这样 f ( x ∣ θ ) f(x|\theta) f ( x ∣ θ ) 就是总体参数为 θ \theta θ 时 x x x 的概率。函数
θ ↦ f ( x ∣ θ ) \theta \mapsto f(x|\theta) θ ↦ f ( x ∣ θ )
即为似然函数,其估计
θ ^ ML ( x ) = arg max θ f ( x ∣ θ ) \hat{\theta}_{\text{ML}}(x) = \arg \max_{\theta} f(x|\theta) θ ^ ML ( x ) = arg θ max f ( x ∣ θ )
就是 θ \theta θ 的最大似然估计。
假设 θ \theta θ 存在一个先验分布 g g g ,这就允许我们将 θ \theta θ 作为贝叶斯统计中的随机变量,这样 θ \theta θ 的后验分布就是:
θ ↦ f ( x ∣ θ ) g ( θ ) ∫ Θ f ( x ∣ θ ′ ) g ( θ ′ ) d θ ′ \theta \mapsto \frac{f(x|\theta) g(\theta)}{\int_{\Theta} f(x|\theta') g(\theta') d\theta'} θ ↦ ∫ Θ f ( x ∣ θ ′ ) g ( θ ′ ) d θ ′ f ( x ∣ θ ) g ( θ )
其中 Θ \Theta Θ 是 g g g 的定义域,这是贝叶斯定理的直接应用。
最大后验概率估计方法 于是估计 θ \theta θ 为这个随机变量的后验分布的众数:
θ ^ MAP ( x ) = arg max θ f ( x ∣ θ ) g ( θ ) ∫ Θ f ( x ∣ θ ′ ) g ( θ ′ ) d θ ′ = arg max θ f ( x ∣ θ ) g ( θ ) \hat{\theta}_{\text{MAP}}(x) = \arg \max_{\theta} \frac{f(x|\theta) g(\theta)}{\int_{\Theta} f(x|\theta') g(\theta') d\theta'} = \arg \max_{\theta} f(x|\theta) g(\theta) θ ^ MAP ( x ) = arg θ max ∫ Θ f ( x ∣ θ ′ ) g ( θ ′ ) d θ ′ f ( x ∣ θ ) g ( θ ) = arg θ max f ( x ∣ θ ) g ( θ )
后验分布的分母与 θ \theta θ 无关,所以在优化过程中不起作用。注意当先验 g g g 是常数函数时,最大后验估计与最大似然估计重合。
计算最大后验估计的方法 解析方法 :当后验分布的模能够用解析解方式表示时使用这种方法。当使用共轭先验时就是这种情况。数值优化方法 :如共轭梯度法或者牛顿法,这通常需要一阶或二阶导数,导数需要通过解析或数值方法得到。期望最大化算法的修改 :这种方法不需要后验密度的导数。注意事项 尽管最大后验估计与贝叶斯统计共享先验分布的使用,通常并不认为它是一种贝叶斯方法,这是因为最大后验估计是点估计。然而,贝叶斯方法的特点是使用这些分布来总结数据、得到推论。贝叶斯方法试图算出后验均值或者中值以及后验区间,而不是后验模。尤其是当后验分布没有一个简单的解析形式时更是如此。在这种情况下,后验分布可以使用马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)技术来模拟,但是找到它的众数的优化是很困难或者是不可能的。
示例 假设我们有观测数据 y y y ,模型为 y = a 1 x 1 + a 2 x 2 + e y = a_1 x_1 + a_2 x_2 + e y = a 1 x 1 + a 2 x 2 + e ,其中 e e e 是服从标准正态分布 N ( 0 , 1 ) N(0, 1) N ( 0 , 1 ) 的误差项。
观测数据为:
{ a 1 = 1 , a 2 = 0 , y = − 5 a 1 = 0 , a 2 = 1 , y = 7 a 1 = 1 , a 2 = 1 , y = 1 \begin{cases} a_1 = 1, a_2 = 0, y = -5 \\ a_1 = 0, a_2 = 1, y = 7 \\ a_1 = 1, a_2 = 1, y = 1 \\ \end{cases} ⎩ ⎨ ⎧ a 1 = 1 , a 2 = 0 , y = − 5 a 1 = 0 , a 2 = 1 , y = 7 a 1 = 1 , a 2 = 1 , y = 1
假设 x 1 x_1 x 1 和 x 2 x_2 x 2 的先验分布为 x 1 − x 2 x_1 - x_2 x 1 − x 2 服从均值为 1,方差为 2 的正态分布:
p ( x 1 , x 2 ) ∝ exp ( − ( x 1 − x 2 − 1 ) 2 4 ) p(x_1, x_2) \propto \exp\left(-\frac{(x_1 - x_2 - 1)^2}{4}\right) p ( x 1 , x 2 ) ∝ exp ( − 4 ( x 1 − x 2 − 1 ) 2 )
观测数据的尤度函数为:
L ( x 1 , x 2 ) ∝ exp ( − 1 2 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] ) L(x_1, x_2) \propto \exp\left(-\frac{1}{2}\left[(-5 - x_1)^2 + (7 - x_2)^2 + (1 - (x_1 + x_2))^2\right]\right) L ( x 1 , x 2 ) ∝ exp ( − 2 1 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] )
结合先验分布和尤度函数得到事后分布:
p ( x 1 , x 2 ∣ y ) ∝ exp ( − 1 2 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] ) ⋅ exp ( − ( x 1 − x 2 − 1 ) 2 4 ) p(x_1, x_2 | y) \propto \exp\left(-\frac{1}{2}\left[(-5 - x_1)^2 + (7 - x_2)^2 + (1 - (x_1 + x_2))^2\right]\right) \cdot \exp\left(-\frac{(x_1 - x_2 - 1)^2}{4}\right) p ( x 1 , x 2 ∣ y ) ∝ exp ( − 2 1 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] ) ⋅ exp ( − 4 ( x 1 − x 2 − 1 ) 2 )
取对数以简化计算:
log p ( x 1 , x 2 ∣ y ) ∝ − 1 2 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] − ( x 1 − x 2 − 1 ) 2 4 \log p(x_1, x_2 | y) \propto -\frac{1}{2}\left[(-5 - x_1)^2 + (7 - x_2)^2 + (1 - (x_1 + x_2))^2\right] - \frac{(x_1 - x_2 - 1)^2}{4} log p ( x 1 , x 2 ∣ y ) ∝ − 2 1 [ ( − 5 − x 1 ) 2 + ( 7 − x 2 ) 2 + ( 1 − ( x 1 + x 2 ) ) 2 ] − 4 ( x 1 − x 2 − 1 ) 2
对 x 1 x_1 x 1 和 x 2 x_2 x 2 求偏导数并设为零可以找到最大后验概率估计:
∂ log p ( x 1 , x 2 ∣ y ) ∂ x 1 = − ( x 1 + 5 ) + ( 1 − x 1 − x 2 ) − 1 2 ( x 1 − x 2 − 1 ) = 0 \frac{\partial \log p(x_1, x_2 | y)}{\partial x_1} = -(x_1 + 5) + (1 - x_1 - x_2) - \frac{1}{2}(x_1 - x_2 - 1) = 0 ∂ x 1 ∂ log p ( x 1 , x 2 ∣ y ) = − ( x 1 + 5 ) + ( 1 − x 1 − x 2 ) − 2 1 ( x 1 − x 2 − 1 ) = 0
∂ log p ( x 1 , x 2 ∣ y ) ∂ x 2 = ( 7 − x 2 ) + ( 1 − x 1 − x 2 ) + 1 2 ( x 1 − x 2 − 1 ) = 0 \frac{\partial \log p(x_1, x_2 | y)}{\partial x_2} = (7 - x_2) + (1 - x_1 - x_2) + \frac{1}{2}(x_1 - x_2 - 1) = 0 ∂ x 2 ∂ log p ( x 1 , x 2 ∣ y ) = ( 7 − x 2 ) + ( 1 − x 1 − x 2 ) + 2 1 ( x 1 − x 2 − 1 ) = 0
求解这两个方程可以得到 x 1 x_1 x 1 和 x 2 x_2 x 2 的最大后验估计。