最大似然估计MLE与贝叶斯估计

大学期间学习数理统计这门课程的时候,没有特别用心。说实话统计学仍是挺枯燥的,并且当时也没有太多的学习意识,不知道为何要学这些貌似八竿子打不着的东西。如今想一想,当时真是too simple,sometimes naive啊。。等到越日后面深刻,发现须要用的数学知识尤为是统计学知识愈来愈多,由于如今机器学习里发展最成熟应用最普遍的一部分就是统计机器学习,天然离不开统计学的方方面面。并且随着研究的逐步深刻,发现统计学其实仍是挺有意思的一门学科,能将一些平时常见的问题或者不太好表达的问题能用特别简洁与清楚的数学语言来描述。所以,如今遇到统计方面有什么疑问或者不太理解的地方,本博主就自觉将以前没学好欠下的历史旧债给补上。web

最近一直在看一些参数估计方面的内容,有了本身的一些小当心得体会,特地记录下来,以避免往后忘记了又找不到相关文档。机器学习

1.为何要有参数估计(parameter estimation)

研究一个课题的时候,博主的第一反应通常都是”why”。为何会有这个东东?这个东东到底能解决什么实际问题?
OK,那咱们为何要采用参数估计的方法呢?举个很简单的实际例子,咱们国家每隔一段时间须要进行人口普查,可是由于我国国土面积太大,人口太多,不太可能真正挨我的口进行统计,因此能够统计部分人口样本,而后根据这部分样本的参数去描述人口的整体分布状况。那为何咱们能够这么干?由于咱们对总体分布的形式是知晓的,好比咱们知道全国人民的身高体重服从正态分布,这样咱们只须要取得部分样本的数据,而后估计正态分布的均值与方差便可。不然,咱们就须要借助非参数的方法了。
再用一句简单的话来总结参数估计:模型已定,参数未知!ide

2.最大似然估计(Maximum Likehood Estimation MLE)

最大似然估计的核心思想是:找到参数 θ 的一个估计值,使得当前样本出现的可能性最大。用当年博主老板的一句话来讲就是:谁大像谁!svg

假设有一组独立同分布(i.i.d)的随机变量 X ,给定一个几率分布 D ,假设其几率密度函数为 f ,以及一个分布的参数 θ ,从这组样本中抽出 x1,x2,,xn ,那么经过参数 θ 的模型 f 产生上面样本的几率为:
函数

f(x1,x2,,xn|θ)=f(x1|θ)×f(x2|θ)×f(xn|θ)

最大似然估计会寻找关于 θ 的最可能的值,即在全部可能的 θ 取值中,寻找一个值使这个采样的“可能性”最大化!
由于是”模型已定,参数未知”,此时咱们是根据样本采样 x1,x2,,xn 取估计参数 θ ,定义似然函数为:
L(θ|x1,x2,,xn)=f(x1,x2,,xn|θ)=f(xi|θ)

实际使用中,由于 f(xi|θ) 通常比较小,并且 n 每每会比较大,连乘容易形成浮点运算下溢。因此通常咱们用对数似然函数:
学习

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

lˆ=1nlnL

那最终 θ 的估计值为:
θˆMLE=argmaxθlˆ(θ|x1,x2,,xn)

根据前面的描述,总结一下求最大释然估计值的步骤:
1.写似然函数
2.通常对似然函数取对数,并将对数似然函数整理
3.对数似然函数求导,令导数为0,求得似然方程
4.根据似然方程求解,获得的参数即为所求估计值测试

3.对数似然求解实例

下面给你们举个别人文章中简单的小例子,看看对数似然的具体求解过程。
假若有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我 们想知道罐中白球和黑球的比例,但咱们不能把罐中的球所有拿出来数。如今咱们能够每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,而后把拿出来的球 再放回罐中。这个过程能够重复,咱们能够用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有多是多少?
估计你们很快能反应出来答案是70%。可是若是让推导一下具体过程呢?
咱们假设罐中白球的比例是 p ,那么黑球的比例就是 1p 。由于每抽一个球出来,在记录颜色以后,咱们把抽出的球放回了罐中并摇匀,因此每次抽出来的球的颜 色服从同一独立分布。这里咱们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的几率是 p(x|θ) ,这里 x 是全部的抽样, θ 是所给出的模型参数,表示每次抽出来的球是白色的几率为 p
按照第二部分提到的似然估计求解过程,先写出似然函数:
atom

p(x|θ)=p(x1,x2,,xn|θ)=p(x1|θ)p(x2|θ)p(xn|θ)=p70(1p)30

接下来对似然函数对数化:
lnp(x|θ)=ln(p70(1p)30)=70lnp+30ln(1p)

而后求似然方程:

lnp(x|θ)=70p301p

最后求解似然方程,得: p=0.7

以上就是最大似然估计的详细完整过程!spa

4.贝叶斯估计

统计学里有两个大的流派,一个是频率派,一个是贝叶斯派。时至今日,这两派还未就各自的观点达成统一。咱们前面提到的最大似然估计就是频率派的典型思路,接下来再看看贝叶斯派的思路,到底跟频率派估计有何不一样。
先来看几个相关的小公式:
两个随机变量 x,y 的联合几率 p(x,y) 的乘法公式:
code

p(x,y)=p(x|y)p(y)=p(y|x)p(x)

若是 x,y 是独立随机变量,上面的式子能够表示为:
p(x,y)=p(x)p(y)=p(y)p(x)

那么条件几率就能够表示为:
p(x|y)=p(x,y)p(y),p(y|x)=p(x,y)p(x)

对于一个完备事件组 y1,y2,,yn ,可使用全几率公式:
p(x)=i=1np(yi)p(x|yi),i=1np(yi)=1

由以上这些,能够得出贝叶斯公式:

p(yi|x)=p(x,yi)p(x)=p(yi)p(x|yi)p(x)

其中, p(yi|x) 是后验几率。 p(x|yi) 是条件几率,或者说似然几率,这个几率通常均可以经过历史数据统计得出。而 p(yi) 是先验几率,通常也是根据历史数据统计得出或者认为给定的,贝叶斯里的先验几率,就是指 p(yi) 。对于 p(x) ,咱们前面提到能够用全几率公式计算得出,可是在贝叶斯公式里面咱们通常不care这个几率,由于咱们每每只须要求出最大后验几率而不须要求出最大后验的具体值。

5.MLE与Bayes的区别

细心的同窗经过观察MLE与Bayes的公式,发现Bayes公式比MLE公式里就多了一项 p(yi) (我们先抛开 p(x) 不考虑),而条件几率或者说似然几率的表达式是一致的。从数学表达式的角度来讲,二者最大的区别就在这里:贝叶斯估计引入了先验几率,经过先验几率与似然几率来求解后验几率。而最大似然估计是直接经过最大化似然几率来求解得出的。

换句话说,最大似然估计没有考虑模型自己的几率,或者说认为模型出现的几率都相等。而贝叶斯估计将模型出现的几率用先验几率的方式在计算过程当中有所体现。

举个你们上学时候就遇到的例子:
假如人们会感染一种病毒,有一种测试方法,在被测试者已感染这个病毒时,测试结果 为阳性的几率为95%。在被测试者没有感染这个病毒时,测试结果为阳性的几率为2%。如今,有一我的的测试结果为阳性,问这我的感染了病毒吗?
若是用最大似然估计的方法,既然感染了病毒出现阳性的几率为95%,没感染出现阳性的几率为2%,本着谁大像谁的原则,那我就认为这我的已经感染了病毒。
可是若是用贝叶斯方法进行估计,若是咱们得知有一个先验几率,好比总体人群中只有1%的人会感染此种病毒,那么由贝叶斯公式:

p(|)=p()p(|)p()p(|)+p()p(|)=0.01×0.950.01×0.95+0.99×0.02=0.324

其中, p(|) 为后验几率,即咱们经过检测出为阳性能够判断为真阳性的几率; p() 为先验几率, p(|) 为条件几率, p()p(|)+p()p(|) 为全几率,检测出为阳性是由一个完备事件组构成的:这我的要么是真阳性,要么是真阴性。
因而可知,在贝叶斯估计中,先验几率对结果的影响很大。在这种场景下,采用贝叶斯估计彷佛更为合理一些。

最后来个总结:从本质上来讲,最大似然是对点估计,贝叶斯推断是对分布估计。即,假设求解参数 θ ,最大似然是求出最有可能的 θ 值,而贝叶斯推断则是求解 θ 的分布。

6.一些tips

MLE简单又客观,可是过度的客观有时会致使过拟合(Over fitting)。在样本点不多的状况下,MLE的效果并很差。好比咱们前面举的病毒的例子。在这种状况下,咱们能够经过加入先验,用贝叶斯估计进行计算。 贝叶斯估计最要命的问题是,实际应用场景中的先验几率不是那么好求,不少都是拍脑壳决定的。一旦是拍脑壳决定的,这玩意天然就不许;更有甚者,不少时候是为了方便求解生造出来一个先验。那既然这样,要这个先验还有什么卵用呢?因此频率派的支持者就揪住这点不放攻击贝叶斯派。 在如今看来,Frequentist与Bayesian这两派还将长期并存,在各自适合的领域发挥本身的做用。