最大似然估计的英文是maximum likelihood estimation,简称MLE。这里关键是要看likelihood这一词,这是可能性的意思,加上maximum,那就是最有可能。所以最大似然估计就是要求出一个最有可能接近实际观测的估计值。这一估计方法首先由高斯提出,后来经fisher重新提出并推广。当年fisher正是凭借这一方法彻底打败了K皮尔逊在统计学界的统治地位,可能也是报了当年皮尔逊对他漠视之仇,毕竟皮尔逊曾压抑了他多年。也正是这一时期,统计学进入了fisher时代。
最大似然估计你可以把它看作是一个反推。多数情况下我们是根据已知条件来推算结果,而最大似然估计是已经知道了结果,然后寻求使该结果出现的可能性最大的求解值,以此作为估计值。比如,如果其他条件一定的话,抽烟者发生肺癌的危险时不抽烟者的5倍,那么如果现在我已经知道有个人是肺癌,我想问你这个人抽烟还是不抽烟。你怎么判断?你可能对这个人一无所知,你所知道的只有一件事,那就是抽烟更容易发生肺癌,那么你会猜测这个人不抽烟吗?我相信你更有可能会说,这个人抽烟。为什么?这就是“最大可能”,我只能说他“最有可能”是抽烟的,“他是抽烟的”这一估计值才是“最有可能”得到“肺癌”这样的结果。这就是最大似然估计。
当然,上述例子是最简单的,实际中的估计要复杂一千倍。最大似然估计一般使用迭代法,也就是说,你先猜测一个答案,把它带入问题,他和你想要的答案可能有些差异,但你可以用它产生一个更好的猜测,只要你猜测的次数足够多,总会无限地接近答案,最终会给出一个最接近的估计值。但这一过程是很繁琐的,有时候甚至需要迭代几万次甚至几百万次才能得到较好的估计。
最大似然估计的迭代方法非常麻烦,求解十分困难。尤其对象logistic回归这样的非线性模型,不借助计算机几乎是无法完成。幸亏我们有了统计软件,他会自动给出估计出结果,你不用关心他到底迭代了几万次还是几十万次,总之他会给你一个最好的估计值。这也就是我们利用统计软件所求得的“参数估计值”。
最后给大家极少一下求最大似然函数估计值的一般步骤:
- 写出似然函数
- 对似然函数取对数,并整理
- 求导数
- 解似然方程
对于最大似然估计方法的应用,需要结合特定的环境,因为它需要你提供样本的已知模型进而来估算参数,例如在模式识别中,我们可以规定目标符合高斯模型。而且对于该算法,我理解为,“知道”和“能用”就行,没必要在程序设计时将该部分实现,因为在大多数程序中只会用到我最后推导出来的结果。
大家有兴趣可以看看这个博客:http://blog.csdn.net/yanqingan/article/details/6125812介绍的也挺详细的。


雷达卡



京公网安备 11010802022788号







