在MLE估计的情况下,我们对未知参数的分布一无所知。而在MAP估计的情景下,我们对未知参数会有一个先验的分布认知,例如在上一个抛硬币例子中,我们事前清楚正面朝上的概率是50%。在此基础上,我们通过样本数据对先验概率进行“调节”,最终得到一个最大化的参数估计。数学表达式为:
上述公式中,P (Θ)就是参数的先验概率分布,P(x1,x2,…,xn|Θ)是样本的联合分布函数。我们的目标是:
由于分母是常数,故:
Beta分布
在详细阐述MAP估计应用前,先简要介绍一下Beta分布及基本性质,先看百度百科的解释:
“贝塔分布(Beta Distribution) 是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,在机器学习和数理统计学中有重要应用。在概率论中,贝塔分布,也称Β分布,是指一组定义在(0,1) 区间的连续概率分布。”
其概率密度函数为:
Beta分布定义域为(0,1),有两个参数α和β,其函数形状随参数的变化而变化。Beta分布实际常应用于模拟概率的分布,尤其是当你不知道一个东西的具体概率是多少时,它可以给出了所有概率出现的可能性大小。这正好可以用来模拟我们MAP估计中,先验概率分布P(Θ)。下面给出B(β = 3,α = 4)的概率密度函数图像:
我们可以观察到该分布众数(mode)在0.6左右。若对其PDF函数关于X求导,我们可以得出Beta分的众数公式为:
这个众数就好比我们的先验概率,换句话说,我们事前知道参数的取值大概率是在0.6左右的,我们通过调节α和β的取值来改变我们对于先验概率的认识。下图给出先验概率同为0.6的两个Beta分布的PDF:
虽然两个分布众数都为0.6,B(40,27)方差更小而B(4,3)方差较大。通俗地说,我们抛掷硬币67次得到40次正面使得我们对先验概率0.6的结论更加自信(不容易被更多样本数据所“稀释”!),而7次实验4次正面使得先验概率0.6没有那么可信,更容易被新的样本信息的摄入而改变我们对于未知参数的看法。
除了方便于我们模拟先验概率的分布这一特性,Beta分布其另一个重要性质是“其为伯努利分布和二项式分布的共轭先验分布的密度函数”,从而大大方便了我们的计算,这点留到下一小节具体阐述。
MAP估计实例
抛硬币十次,结果6正4反。假设如果正面朝上,随机变量X取1,反之取0,故我们得到一组样本
{1,1,1,1,1,1,0,0,0,0}。故样本的概率密度函数为:
假设我们的先验概率为0.7,取α = 22,β = 10 ,则先验概率密度函数为:
代入公式:
得到:
仔细观察上式我们发现,P(X|Θ)与Beta(α=22,β=10)的乘积仍然是一个Beta分布,Beta(α=28,β=14)。Beta分布的这种性质就是上文提及的**“其与伯努利分布和二项分布的共轭性”,通俗地说,先验分布P(Θ)吸收了二项分布的样本信息后,调整过后的分布仍然是Beta分布**,这大大方便了我们的计算。
由于B(22,10)是常数,右边的式子取log对Θ求导,得到:
从结果可以看出,我们的先验概率0.7吸收了样本信息,得出了0.675的后验概率。若实验无限重复下去,MAP估计值和MLE估计值会不断逼近0.5(真实抛硬币概率),如下图(2000次投掷)。