2.4.1 贝叶斯滤波算法
最通用的算法对于计算信任度有贝叶斯滤波算法给出。这个算法计算信任度分布bel从观测和控制数据中得出。我们首先陈述基本的算法,然后用数字例子来阐明。再之后,我们到目前为止所做的假设来推导它。
贝叶斯滤波的第二步称为测量更新,在第四行,贝叶斯滤波算法用信任度
乘以可能已被观测到的量zt的概率。对于每一个假设的状态xt这么做。当得到饿贝叶斯滤波方程将会很明显,产生的乘积并不是一个概率,它不能积分得到1.因此,这个结果是归一化的,通过归一化因子η。这导致最后的信任度bel(xt),在本算法的六行返回。
为了递归计算后验信任度,这个算法要求一个初始的信任度在零时刻t=0bel(x0)作为一个 边界条件。如果已经确切知道x0的值,bel(x0)用一个质点分布来初始化,该分布聚集了所有概率质量在一个正确的x0上,认为其他地方的概率为0.如果初始值x0是完全不知道的,bel(x0)用一个在x0领域的均匀分布(or a related distribution from the Dirichlet family of distributions)来初始化。初始值x0的部分知识可以用非均匀分布来表达;然而,在实践中完全知道和完全不知道两个例子是最常见的。
贝叶斯滤波算法可以在这里陈述的形式中实现对于非常简单的估计问题。尤其是,在第三行我们要执行积分,在第四行的乘积是闭环的形式或者我们把我们限制在一个有限的状态空间中,以便在第三行的积分变成一个有限的求和。
2.4.2例子
此时,机器人相信有0.983的概率门是打开的。
2.4.3 贝叶斯滤波的数学推导
由归纳法表明了贝叶斯滤波的正确性。为了这么做,我们需要表示它正确的计算了后验分布
从对应的前一步的后验分布
推导的正确性在下面这个假设,我们正确的初始化了先验信任度bel(x0)在t=0时刻。
我们现在利用这个假设-我们的状态是完全的。在章节2.3.1中,我们定义一个状态xt是完全的如果在先于xt之间的变量,没有可能影响将来状态的随机变化。特别是,如果我们已经知道状态xt,并且对预测测量zt感兴趣,没有过去的测量和控制会为我们提供附加的信息。在数学式中,由以下条件独立性表达:
任何这个算法具体的实现要求三个概率分布:初始信任度p(x0),测量概率p(zt|xt),状态转移概率p(xt|ut,xt-1)。我们仍没有指明这些概率密度对于实际的机器人系统。但是很快:第五章完全致力于p(xt|ut,xt-1)以及第六章致力于p(zt|xt)。我们也需要对信任度bel(xt)的表示,在低三四章讨论。
2.4.4 马尔可夫假设
马尔可夫假设过去和将来的数据是独立的如果我们知道当前的状态xt。为了见证这个假设的严肃性,让我们考虑移动机器人定位的例子。在移动机器人定位中,xt是机器人的位姿,贝叶斯滤波应用于估计一个固定地图中的位姿。以下因素对传感器的数据有系统性的影响。因此,他们产生了违反马尔可夫假设:
2.5 表示和计算
当选择一个近似的时候,我们必须牺牲其他的性能:
2.7 数目评论