机器人技术的核心是根据传感器的数据来估计机器人当前的状态,通常这个状态是不可直接观测的,因而只能通过传感器数据来推断。概率状态估计在机器人技术的一个应用实例就是移动机器人定位,因为机器人在地图中的位置是不可观测的。
首先一个随机变量X取值x的概率我们记为P(X=x),简写为P(x),例如一个典型的随机变量就是掷硬币,X可以取正面或者反面,则取正面的概率为P(X=正面),简写为P(正面)。
那么什么是先验概率,什么是后验概率呢?我们来看个例子:
小明从家去公司有20公里,他可以骑自行车去,开车去,坐地铁等方式去,有一天他花了1个小时到达了公司,现在我们想估计他是使用什么交通工具上班的?
这个例子中如果小明还没有走,我们根据他的习惯得到的概率如:P(自行车)=1/10, P(地铁)=7/10,P(开车)=1/10,P(其他)=1/10。因为事件没有发生,所以这样的统计概率称为先验概率(根据以往经验和分析得到的概率)。那么如果小明这一天花了1个小时到公司是坐地铁的概率就是一种后验概率,它描述的是事件发生后推测是某个因的概率,也就是由果推因。我们记为P(地铁|1小时到公司)。反过来P(1小时到公司|地铁)则是推测如果小明坐地铁1小时能到公司的概率,这个我们叫类条件概率。因此我们可以使用贝叶斯公式来计算上述的问题的后验概率(求后验通常是最需要的场景):
P(地铁|1小时到公司)= P(1小时到公司|地铁)x P(地铁)/ P(1小时到公司) (式1)
上式中通常类条件概率是较容易得到的,我们这里坐地铁1小时到公司的概率可以根据统计,假设为9/10,P(地铁)= 7/10,那么关键的未知量就是P(1小时到公司)的概率。这里要用到全概率公式,其实就是列举通过所有方式能1小时到公司的概率,计算如下:
P(1小时到公司)= P(1小时到公司|地铁)x P(地铁)+ P(1小时到公司|自行车)x P(自行)+ P(1小时到公司|开车)x P(开车)+ P(1小时到公司|其他)x P(其他) (式2)
上述的其他类条件概率我们可以根据统计观察得到,如:P(1小时到公司|自行车)= 2/10,(有时骑得快能赶到)。P(1小时到公司|开车)= 3/10 (有时候有点堵车,通常40分钟就能到), P(1小时到公司|其他)= 1/10, (走路或乘公交车,时间很不靠谱),代入上式2:
P(1小时到公司)= 9/10x7/10 + 2/10x1/10 + 3/10x1/10 + 1/10x1/10 = 0.69
那么上式1的结果就是:
P(地铁|1小时到公司)= 9/10x7/10 / 0.69 = 0.93
如果要估计是否是开车来的,则:
P(开车|1小时到公司)= 3/10x1/10 / 0.69 = 0.043
因此我们可推断小明这一天有93%的概率是坐地铁来公司的。
下面给出贝叶斯公式的原始定义,希望大家能看明白了。其中P(B|A)是类条件概率。P(B)是结果发生的概率,我的理解是它是一个客观规律,是不随我们的计算变化而变化的,除非客观的事实发生了变化。
"如果我们把事件B看做'结果',把诸事件A1,A2...看做导致这个结果的可能的'原因',则可以形象地把全概率公式看做成为'由原因推结果';而贝叶斯公式则恰好相反,其作用于'由结果推原因':现在有一个'结果'B已经发生,在众多可能的'原因'中,推测到底是哪一个因导致了这结果"。
最后,在没有结果发生的情况下,我们只知道小明坐地铁去公司的概率是7/10,但是加入了1小时到公司这个结果后,小明这一天坐地铁去公司的概率就提高到了93%,这说明这个结果帮助原因提高了可能的概率,它告诉我们要预测一个事物, 我们需要的是首先根据已有的经验和知识推断一个先验概率, 然后通过观察结果或者积累证据来得到一个事件发生概率的过程我们称为贝叶斯分析。