序言
本序言是对整体思想进行的一个概括。若没有任何了解,可以先跳过,最后回来看看;若已有了解,可以作为指导思想。
极大似然估计与贝叶斯估计是统计中两种对模型的参数确定的方法,两种参数估计方法使用不同的思想。前者来自于频率派,认为参数是固定的,我们要做的事情就是根据已经掌握的数据来估计这个参数;而后者属于贝叶斯派,认为参数也是服从某种概率分布的,已有的数据只是在这种参数的分布下产生的。所以,直观理解上,极大似然估计就是假设一个参数
所以极大似然估计与贝叶斯估计最大的不同就在于是否考虑了先验,而两者适用范围也变成了:极大似然估计适用于数据大量,估计的参数能够较好的反映实际情况;而贝叶斯估计则在数据量较少或者比较稀疏的情况下,考虑先验来提升准确率。
预知识
为了更好的讨论,本节会先给出我们要解决的问题,然后给出一个实际的案例。这节不会具体涉及到极大似然估计和贝叶斯估计的细节,但是会提出问题和实例,便于后续方法理解。
问题前提
首先,我们有一堆数据
问题实例
假设一个抛硬币实验,我们之前不知道这些硬币是不是正反均匀的,也许硬币正反不等,假设正面向上设为1的概率为
符号说明
这里给出一些符号表示。可看到不理解时过来查看。
符号 | 含义 |
---|---|
D | 已有的数据(data) |
要估计的参数(parameter) | |
先验概率(prior) | |
后验概率(posterior) | |
数据分布(evidence) | |
似然函数(likelihood of |
|
已知数据条件下的 |
方法介绍
这一节将会详细阐明极大似然估计和贝叶斯估计,要注意到两种方法在面对未知参数
极大似然估计
模型推导
极大似然估计法认为参数是固有的,但是可能由于一些外界噪声的干扰,使数据看起来不是完全由参数决定的。没关系,数学家们觉得,虽然有误差存在,但只要让在这个数据给定的情况下,找到一个概率最大的参数就可以了。那问题其实就变成了一个条件概率最大的求解,即求使得
而根据条件概率公式有
因为我们在极大似然估计中假设
的问题。
想求解这个问题,需要假设我们的数据是相互独立的。
一般对(4)式取对数求解对数极大似然,就可以把连乘变成求和,然后求导取极值点就是要求的参数值,不在此赘述。
实例
为了便于理解,我们以之前的抛硬币实验作为实例。
回到当时我们一开始抛硬币实验,
然后使用对数极大似然估计就可以得到参数
贝叶斯估计
考虑到这节对先验概率(prior)这个概念用的次数比较多,我们首先先介绍先验与后验概率是什么,怎么得到;其次会介绍贝叶斯估计模型的推导过程;最后会举一个例子来加深理解。
先验概率、后验概率
先验概率(prior)与后验概率(posterior)简称为先验和后验。这两个概念其实是来自于贝叶斯定理,相信学过概率论的一定有所了解。在此试作简单介绍。
之前提到的先验概率到底是什么呢?,毫无疑问必须得与放在一起来介绍。一个先一个后,我们肯定是针对同一个事物才有先后之分,如果针对两个事物,先后不是没有意义了么?那这个共同的对象,就是我们的参数
看到这里,你可能会问:如果连数据都没有,我怎么知道我的参数是怎么分布的?你提出这个问题,就说明你是一个赤裸裸的频率派学家,你需要通过数据来得到你的参数!而这并不是贝叶斯派的考虑,贝叶斯估计最重要的就是那个先验的获得。虽然你这次的一组数据,比如说扔三次硬币产生的序列是(110)这样分布的,但是其实我根据我历史的经验来看,一枚硬币正反面其实很有可能是按照均匀分布来的,只不过可能因为你抛得次数少了所以产生了不是均匀分布的效果。所以我要考虑我以往的经验在里面。
你可能又会问:那你这个均匀分布不就是完全猜来的嘛,你怎么知道我这次是不是一样的硬币呢?没错!就是“猜来的”。先验在很多时候完全是假设,然后去验证有的数据是否吻合先验猜想,所以这里的猜很重要。还要注意,先验一定是与数据无关的,你不能看到了数据再做这些猜想,一定是没有任何数据之前你就猜了一个参数的先验概率。
有个这部分知识,我们可以开始推导贝叶斯估计模型了。
模型推导
还是继续上面的模型,注意公式
此时,这里面除了分母可以看作是一个归一化因子外,其余均是概率分布的函数。也就是说,无法再像极大似然估计那样将先验概率(
我们来把这个式子
和式子
至此,我们就完成了对贝叶斯估计模型的推到过程。有人会问,怎么就完成了?还有那么长一段公式,我们怎么计算啊?其实仔细看看
实例
式
概率分布的。如图
然后
但是,其实做到这一步,我们会发现虽然解决了问题,但是又会带来新的问题,因为在解决这一类贝叶斯估计的问题的时候,我们让参数以某种概率密度函数分布,就会导致在计算过程中不可避免的高复杂度,人们为了计算上的方便,就提出不再是把所有的后验概率
极大后验概率(MAP)
虽然本节独自成为一节,但是其实是隶属于贝叶斯估计的,属于贝叶斯估计里面的一个trick,放弃一点的准确性,来极大提升算法性能。所以,这个部分不能算是模型,只能算是算法。
MAP(Maximum A Posterior)的理论依据是绝大部分情况下,参数值最有可能出现在概率最大点附近。为了说清楚MAP的来龙去脉,本节将首先介绍如何利用贝叶斯估计的参数进行预测,然后分析直接使用之前得到的后验概率有什么不好,最后介绍MAP算法做的工作。
使用贝叶斯估计的参数做预测
前一节中,我们通过贝叶斯估计得到了后验概率
已知数据
这个问题还有很多细节,比如先验概率,后验概率,数据分布等一些细节,因为前面已经介绍过了,这里为了突出重点,不再重复。在此需要关注的是,所谓预测新的数据的值,其实就是能够在已知数据
也就是我们需要求
这一式子。
接下来还是运用基本的条件概率公式
对这一句公式的解释就是,
化简。为什么?因为我们从数据里面得到的东西对一个新的数据来说,其实只是那些参数,所以对
那么
贝叶斯估计中的一个困难
还是回到
MAP算法
其实最大化后验概率还是老一套,最大化
这其实与极大似然估计形式上很相似,但是主要区别在于运用了一个先验概率在这个极大化里面。参数都已经计算出来了,其他过程,其实还是按照极大似然来做就行了,不用再按照贝叶斯一样对所有可能的参数情况都考虑在求积分了。
总结
全文对比分析了极大似然估计和贝叶斯估计,在进行参数估计的过程中,极大似然估计是想让似然函数极大化,而考虑了MAP算法的贝叶斯估计,其实是想让后验概率极大化。主要区别在于估计参数中,一个考虑了先验一个没有考虑先验,主要区别看
参考文献
- 贝叶斯定理
https://zh.wikipedia.org/wiki/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%AE%9A%E7%90%86 ↩ - Andrew’s notes (note5)
http://v.163.com/special/opencourse/machinelearning.html ↩ - Pattern Recognition and Machine Learning
http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf ↩