关闭

极大似然估计和最大后验估计

标签: 概率统计
140人阅读 评论(0) 收藏 举报
分类:

极大似然估计和最大后验估计

  说到极大似然估计,那肯定先要说一下似然函数,似然函数通常是用描述一个(或一系列)事件发生的概率来表示。把似然函数写出来,大致是这样的:

L(θ|χ)=p(χ|θ)

如上式所示,虽然要估计的是参数θ,但它的实际表达式是用p(χ|θ)表示的。

Maxium Likelihood的基本思想

  ML的思想很简单,就是令L(θ|χ)达到最大即可。具体简单举例,对于一组数据(χ),它服从带有参数θ的某种分布,并且每个数据xχ都满足i.d.d,那么我们观察到每个数据的概率为p(x|θ),而观察到这组数据χ的概率为p(x1|θ)p(x2|θ)...p(xn|θ),这个值即是likelihood function。那么很自然的,我们想要估计这个事件发生在具体哪个分布上,最直观的想法就是找到哪个最有可能产生这组观察数据的分布,因此令p(χ|θ)即似然函数最大即可。而球这个最大值的方法就是级大似然估计:

L(θ|χ)θ=0θ^ML

这样,我们便拟合出了这组数据的模型,然后可以用这个模型去估计新数据了。
  从另一个角度,我们也能将χθ^ML联系起来。若我们不按上述那个思路一步步来,想直接用已有数据χ估计新数据x~,那么我们会有如下一个近似结果:
p(x~|χ)=θΘp(x~|θ)p(θ|χ)dθθΘp(x~|θ^ML)p(θ)|χ)dθ=p(x~|θ^ML)θΘp(θ|χ)=p(x~|θ^ML)

上述公式中,p(x~|χ)=θΘp(x~|θ)p(θ|χ)dθ 可以理解为从χ可能来自很多种以θ为参数的分布,每个θ都有一个产生x~的概率,当然这个概率也可能为0,。那么总体而言,对于这些所有θ,产生x~的概率自然是对这些θ积分,也就是θΘp(x~,θ|χ)dθ。这样我们只要知道了θ^ML,就可以用它来估计p(x~|χ)了。
  对于n重伯努利实验,当我们观察到一组结果(n个硬币正反面情况的一种组合,由于考虑观察到这个事件,以你不算上组合数,即不加上(nk))发生时,可以构造如下似然函数(log形式):
L=log(i=1np(C=ci|θ))=i=1nlogp(C=ci|θ)=n(1)logθ+n(0)log(1θ)

通过求导为0计算其极大似然:
Lθ=n(1)θn(0)1θ=0    n(1)n(1)p=n(0)p    p=n(1)n(1)+n(0)=n(1)N

其中n(1)n(0)分别表示在实验中出现1事件和0事件的计数,而在伯努利实验中,参数θ就是一个[0,1]区间内的实数。
也就是说我们平时拿n(1)N作为概率估计,背后是有极大似然估计作为理论依据的(而之所以能拿统计计数来估计概率,那又是因为大数定理了)。

最大后验估计(Maxmium A Postriori)

 跟ML不同的,MAP是通过直接最大化θ关于χ的后验概率来估计θ的,即

θ^MAP=argmaxθ p(θ|χ)

argmax函数输出的是令p(θ|χ)达到最大值时的那个θ。用这个方法估计θ非常直观,ML是通过最大化似然函数(事件出现的概率)来估计的,虽然ML和MAP的做法相似,都是最大化某个概率,但思路不同,通过用贝叶斯公式将后验概率展开就能发现,MAP在估计的时候用的是似然函数加上一个参数的先验分布,这个下文会详细描述。
  正如上面提到的,MAP主要是通过贝叶斯公式实现的,它的本质相当于是用观测到的数据统计量和既定的先验分布共同决定某事件的模型参数。
θ^MAP=argmaxθ p(θ|χ)argmaxθ p(χ|θ)p(θ)=argmaxθ log(p(χ|θ)p(θ))=argmaxθ [log(p(χ|θ))+log(p(θ))]=argmaxθ [xχlog p(x|θ)+log p(θ)]

可以看出,推到到最后θ^MAP可以用最大化【似然函数 + θ的先验概率】来估计,这就是之前说的参数由观测到的统计值和参数先验概率共同决定了。
  在argmaxθ [xχlog p(x|θ)+log p(θ)]中,容易看出前半部分就是一个似然函数,而后半部分就是参数先验。这个结构在贝叶斯学派中可以这样理解:首先我们当前有一个对参数估计值,然后在观察到新的数据χ之后,我们心目中对参数的估计值发生了调整。贝叶斯学派的观点里,参数估计,就是不断调整先验的连续过程,而最一开始的那个先验分布,则是非常主观的(可以自己随便定),随着观察到的事件越来越多,最开始的先验对参数的影响会越来越小。
  具体举个例子,对于ML中也提及过的伯努利实验,我们也可以选Beta分布作为p(θ)的先验分布(这个先验是主观的,为了计算方便,通常选似然函数的共轭先验作为其先验分布,Beta分布就是二次分布的共轭先验),那么就可以得到先验分布为
p(θ|α,β)=1B(α,β)θα1(1θβ1)=Γ(α+β)Γ(α)Γ(β)θα1(1θβ1)=(α+β+1)!(α1)!(β1)!θα1(1θ)β1

然后代入后验分布即可得:
p(θ|χ)=p(χ|θ)p(θ|α,β)=(θn(1)(1θ)n(0))×(α+β+1)!(α1)!(β1)!θα1(1θ)β1=(α+β+1)!(α1)!(β1)!θn(1)+α1(1θ)n(0)+β1

为了最大化后验概率,我们要对其求导(为了求导方便,直接求的log形式导),得到:
(log p(θ|χ))θ=0    n(1)+α1θ=n(0)+β11θ    θ=n(1)+α1n(1)+n(0)+α+β2

从这个结果就能看出,随着观察到的实验结果增加,先验对参数估计的影响会越来越小。
  另外值得一提的是,MAP相当于是加了regularization的ML,从到处的估计方程可以看出
θ^MAP=argmaxθ [log(p(χ|θ))+log(p(θ))]

其中先验项就可以看做是一个正则项。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:455次
    • 积分:34
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档