这篇文章及后面小车的例子非常好:
https://blog.csdn.net/qlexcel/article/details/103919270
关于小车代码下面将的更详细些:
https://blog.csdn.net/sinat_16643223/article/details/115550648
注意1:状态矩阵,Angle是小车角度,Q_bias陀螺仪角速度的零偏,而不是陀螺仪角速度。陀螺仪角速度Gyro是作为控制量输入的。
注意2:Angle和Q_bias的卡尔曼增益
文中使用了简化的表达,以下使用H的二维矩阵形式解释:
根据H的定义,由于角度计只测量了angle,bias没有测量,所以
,其中
先验概率和后验概率:
个人理解是:
先验概率是以全事件为背景下,A事件发生的概率,P(A|Ω)。
后验概率是以新事件B为背景下,A事件发生的概率, P(A|B)。
全事件一般是统计获得的,所以称为先验概率,没有实验前的概率。
新事件一般是实验,如试验B,此时的事件背景从全事件变成了B,该事件B可能对A的概率有影响,那么需要对A现在的概率进行一个修正,从P(A|Ω)变成 P(A|B),
所以称 P(A|B)为后验概率,也就是试验(事件B发生)后的概率。
本文中小车的例子,根据上一时刻状态和陀螺仪数据得到的分布为先验估计,经过角度计修正后的分布为后验估计。
为了很好的说明这个问题,在这里举一个例子:
玩英雄联盟占到中国总人口的60%,不玩英雄联盟的人数占到40%:
为了便于数学叙述,这里我们用变量X来表示取值情况,根据概率的定义以及加法原则,我们可以写出如下表达式:
P(X=玩lol)=0.6;P(X=不玩lol)=0.4,这个概率是统计得到的,或者你自身依据经验给出的一个概率值,我们称其为先验概率(prior probability);
另外玩lol中80%是男性,20%是小姐姐,不玩lol中20%是男性,80%是小姐姐,这里我用离散变量Y表示性别取值,同时写出相应的条件概率分布:
P(Y=男性|X=玩lol)=0.8,P(Y=小姐姐|X=玩lol)=0.2
P(Y=男性|X=不玩lol)=0.2,P(Y=小姐姐|X=不玩lol)=0.8
那么我想问在已知玩家为男性的情况下,他是lol玩家的概率是多少:
依据贝叶斯准则可得:
P(X=玩lol|Y=男性)=P(Y=男性|X=玩lol)*P(X=玩lol)/
[ P(Y=男性|X=玩lol)*P(X=玩lol)+P(Y=男性|X=不玩lol)*P(X=不玩lol)]
最后算出的P(X=玩lol|Y=男性)称之为X的后验概率,即它获得是在观察到事件Y发生后得到的。