先验概率、最大释然估计(MLE)与最大后验估计(MAP)

来源:互联网 发布:亚瑟士跑鞋推荐 知乎 编辑:程序博客网 时间:2024/06/05 09:58

前言

在数据分析和机器学习中,估计是一个很重要的内容,这里着重介绍下极大似然估计与极大后验估计。

最大似然估计(MLE)

    最大似然估计是模型已定,参数未定时的一种估计方法。比如说对于抛硬币而言,模型已定,可以看做是多个伯努利实验,我们所不知道的是这个硬币正面朝上的概率p,所以我们的任务就是估计p的值。极大似然估计的思想是,对于已经给定的一些观测数据,参数p的取值应使得取得这些观测数据的概率最大。
    再以上面抛硬币为例,假设10次实验,7次正面朝上,此时根据极大似然估计p的取值应该为710,具体计算过程一会给出。
    OK,这里总结出极大似然估计的一般过程。首先极大似然估计的前提是样本的采样是独立同分布的,假设现在得到的采样结果是x1,x2,x3,x4,x5……,给定参数θ,则取得该采样结果的联合概率为:

f(x1,x2,x3,xn;θ)=f(x1;θ)×f(x2;θ)××f(xn;θ)

L(θ|x1,x2,,xn)=i=1nf(xi|θ)

为了求得θ的值使得L(θ|x1,x2,,xn)取得极大值,而连乘形式通常很难求值,因此一般情况下会把连乘转化成连加,即会求L的对数,如下所示:
lnL(θ|x1,x2,,xn)=i=1nlnf(xi|θ)

此时xi是已知量,只有参数θ是未知量,因此对θ求导。
dlnL(θ)dθ=0

求出θ的值即可。

特殊情况下,L(θ)是一个递增函数或者其它比较简单的形式,我们无需进行求对数,只需直接判断即可。

现在对开头的抛硬币例子进行解释,我们可以判定每次抛硬币正面朝上的概率为f(x=1|p)=px×(1p)(1x),则10次实验做完联合概率为
L(x1,x2,x10|p)=px1px2px10(1p)(1x1)(1p)(1x10)=10i=1pxi×(1p)(1xi)
对其进行求对数

lnL(x1,x2,x10|p)=7lnp+ln(1p)

再对p进行求导:
dlnL(θ)dp=7p3(1p)=0

求解得到p=710

最大后验估计(MAP)

    最大后验估计与最大似然估计是类似的,只是这里加入了先验概率,我们在计算上述的抛硬币的试验时,并没有考虑硬币本身的因素,即p可能也是符合一个分布的。根据贝叶斯理论:

p(θ|X)=p(X|θ)×p(θ)θip(X|θi)×p(θi)

这里的p(θ)是参数θ的先验概率,p(θ|X)是后验概率,而p(X|θ)就是我们上面提到的似然函数。在最大似然估计中,我们并没有考虑p(θ),即我们假设p是一个固定值,但实际上,参数p可能并不是固定的,它只是取某些值可能性比较大。因此我们只要将似然函数乘以先验概率然后取最大即可。
    仍以上面抛硬币来举例,这里以Beta分布来估计参数p的值,Beta分布是一个使用率非常高的分布,它根据αβ的值可以使Beta(α,β)取不同的值,如下图所示。
这里写图片描述
所以根据先验概率的要求,我们要求p(p|α,β),即:
p(p|α,β)=1B(α,β)pα1(1p)β1

B(α,β)=Γ(α)Γ(β)Γ(α+β)

根据图中的概率分布,我们假设这个硬币是均匀的,这里取α=β=4,通过这个假设来给我们最大似然估计求出的结果进行修正。
θ^map=ln((i=110pxi(1p)(1xi))×1B(4,4)p3(1p)3)

dθ^mapdp=7p31p+3p31p=0

p=0.5

这里比较凑巧,p=0.5,与我们的假设是比较相似的,准确度相比较最大似然估计似乎有一定提高。

参考

http://blog.csdn.net/yangliuy/article/details/8296481
http://www.cnblogs.com/liliu/archive/2010/11/24/1886110.html

0 0
原创粉丝点击