一直以来我都对最大似然估计、最大后验估计以及贝叶斯公式等一系列概率论的名字难以理解,最近看了一篇博文,终于有了一些理解。
转载自:https://blog.csdn.net/u011508640/article/details/72815981/
首先来看贝叶斯公式,虽然概率论课上用这个公式算过题但是一直没有好好理解。
转载的博文中提到:贝叶斯公式就是在描述,你有多大把握能相信一件证据?(how much you can trust the evidence)
比如在SLAM中,理想情况下,当机器人处于某个状态的时候,都会确定的得到一组观测,而由于实际中存在噪声等干扰,在我们得到一组观测的时候,只能说机器人有一定概率处于这个状态。
在考虑统计和概率相关的问题时总会用硬币来举例,假设一枚不均匀的硬币,我们想知道这枚硬币抛出正面的概率是多少(也就是这个问题中的统计模型参数),最简单的方法就是不断的抛硬币。在我以前的惯性思维中,抛10次硬币有7次是正面,那我们就可以简单的认为如果再抛一次硬币是正面的概率就是0.7嘛。
但其实这中间过于想当然,忽略了实验次数的问题,我们无论如何也不能抛无数次硬币,何况只有10次,根本不足以获得一个确定的答案,只能获得一个概率上的答案,即这个模型参数(正面概率p)最大的可能性是0.7。当然,如果理论上这个参数是其他的量也完全可以得出和这十次的抛硬币实验一模一样的结果,但从概率上,p=0.7的可能性最大,因此我们还是得出了这样的结果。
也就是说,我们通过分析不同模型产生该实验结果的概率,来获得一个最让人信服的模型。
这个过程其实是使用了最大似然估计(Maximum Likelihood Estimate)的方法。其中,似然函数和概率函数的理解可以参考上面的博文:
p(x|θ)是一个有着两个变量的函数。如果,你将θ设为常量,则你会得到一个概率函数(关于x的函数);如果,你将x设为常量你将得到似然函数(关于θ的函数)。实际上,似然函数在使用的时候是所有实验结果在模型参数下出现的概率的乘积。
上文中的最大似然估计可以理解为,如果数据量为0,也就是从来没有做过实验,我们就只能得出p=0.5的结论,即认为是均匀分布的,而实际上,如果我们有先验知识,就能在获得数据之前就做出一个判断。比如在我们在使用激光雷达估计机器人的状态之前,可以根据GPS或者编码器的数据得到一个不是那么准确的先验知识,再结合准确性更高的实验数据(激光雷达)做出最后的判断。
最大后验估计(Maximum a posteriori estimation)
后验概率(相当于用先验概率作为似然概率的一个惩罚项):
一般的,后验概率的分母部分只与观测结果有关,不包含模型参数,因此在使用最大后验概率时只对分母部分进行优化即可,即