上一节介绍了动态模型,本节将介绍卡尔曼滤波模型中的滤波问题。
动态模型(Dynamic Model)的局部概率图模型表示如下:

这里并非单独比较隐马尔可夫模型和卡尔曼滤波两种模型,而是对描述隐马尔可夫模型和卡尔曼滤波的相关性质 进行比较:
(这里从模型参数的角度进行比较)
'非线性、非高斯动态模型'的代表(Non-Linear,Non-Gaussian Dynamic Model)——粒子滤波(Particle Filter)在后续介绍时再进行归纳,这里仅归纳2种模型。
具有代表性的模型——隐马尔可夫模型。
具有代表性的模型——卡尔曼滤波。
相比于离散状态动态模型,该模型更突出的是线性:隐变量与观测变量均是连续型随机变量。
我们需要解决的滤波问题具体表示如下:
P
(
i
t
∣
o
t
,
o
t
−
1
,
⋯
,
o
1
)
\mathcal P(i_t \mid o_t,o_{t-1},\cdots,o_1)
P(it∣ot,ot−1,⋯,o1)
类似于求值问题
P
(
O
∣
λ
)
\mathcal P(\mathcal O \mid \lambda)
P(O∣λ),我们希望通过迭代方式表示
t
t
t时刻滤波结果与其他时刻滤波结果之间的关联关系:
观测独立性假设是‘隐马尔可夫模型’中介绍的,需要的去复习一下~隐马尔可夫模型介绍-传送门其中红色框表示‘条件项’与‘后验项’;需要引入中间变量(蓝色框)将它们关联起来。不要忘记,隐变量
i
t
i_t
it是连续型随机变量,其对应的积分是
∫
i
t
\int_{i_t}
∫it。
至此,
t
t
t时刻与
t
−
1
t-1
t−1时刻滤波结果的关联关系。最终结果整理如下:
P
(
i
t
∣
o
1
,
⋯
,
o
t
)
=
C
2
C
1
[
P
(
o
t
∣
i
t
)
∫
i
t
−
1
P
(
i
t
∣
i
t
−
1
)
⋅
P
(
i
t
−
1
∣
o
1
,
⋯
,
o
t
−
1
)
d
i
t
1
]
=
P
(
o
1
,
⋯
,
o
t
−
1
)
P
(
o
1
,
⋯
,
o
t
)
⋅
[
P
(
o
t
∣
i
t
)
∫
i
t
−
1
P
(
i
t
∣
i
t
−
1
)
⋅
P
(
i
t
−
1
∣
o
1
,
⋯
,
o
t
−
1
)
d
i
t
−
1
]
P(it∣o1,⋯,ot)=C2C1[P(ot∣it)∫it−1P(it∣it−1)⋅P(it−1∣o1,⋯,ot−1)dit1]=P(o1,⋯,ot−1)P(o1,⋯,ot)⋅[P(ot∣it)∫it−1P(it∣it−1)⋅P(it−1∣o1,⋯,ot−1)dit−1]
P(it∣o1,⋯,ot)=C1C2[P(ot∣it)∫it−1P(it∣it−1)⋅P(it−1∣o1,⋯,ot−1)dit1]=P(o1,⋯,ot)P(o1,⋯,ot−1)⋅[P(ot∣it)∫it−1P(it∣it−1)⋅P(it−1∣o1,⋯,ot−1)dit−1]
卡尔曼滤波在处理滤波问题时,是使用在线算法(On-line Algorithm)。即 执行到某时刻时,才能够计算出该时刻关于隐变量的后验信息。
它的求解步骤是一个迭代过程。每一次迭代均包含2个步骤:
具体过程表示如下:
已知条件:
相关公式介绍:
本质上,卡尔曼滤波待求解的模型参数有很多:
λ
=
(
A
,
B
,
C
,
D
,
Q
,
R
,
μ
1
,
Σ
1
)
\lambda = (\mathcal A,\mathcal B,\mathcal C,\mathcal D,\mathcal Q,\mathcal R,\mu_1,\Sigma_1)
λ=(A,B,C,D,Q,R,μ1,Σ1)
但实际上,这些参数都是用来描述正态分布 的参数。因此这里给出出现条件概率、积分情况下 概率分布的变化:
这属于高斯分布的常用计算公式范畴,给大家推荐一篇相关推导文章。PRML笔记-高斯分布-传送门
给定 变量 X \mathcal X X的边缘概率分布 P ( X ) \mathcal P(\mathcal X) P(X) 与 给定 X \mathcal X X条件下,变量 Y \mathcal Y Y的条件概率分布 P ( Y ∣ X ) \mathcal P(\mathcal Y \mid \mathcal X) P(Y∣X) 如下:
这里假设'协方差矩阵'Λ , L \Lambda,\mathcal L Λ,L是‘正定矩阵’,它们均可以求逆。
{ P ( X ) : x ∈ P ( X ) , x ∼ N ( μ , Λ − 1 ) P ( Y ∣ X ) : y ∈ P ( Y ∣ X ) , y ∼ N ( A ⋅ x + B , L − 1 ) {P(X):x∈P(X),x∼N(μ,Λ−1)P(Y∣X):y∈P(Y∣X),y∼N(A⋅x+B,L−1) {P(X):x∈P(X),x∼N(μ,Λ−1)P(Y∣X):y∈P(Y∣X),y∼N(A⋅x+B,L−1)
则变量 Y \mathcal Y Y的边缘概率分布 P ( Y ) \mathcal P(\mathcal Y) P(Y)可表示为:
P ( Y ) = ∫ X P ( X , Y ) d X = ∫ X P ( X ) ⋅ P ( Y ∣ X ) d X → P ( Y ) : y ∈ P ( Y ) , y ∼ N ( A ⋅ μ + B , L − 1 + A Λ − 1 A T ) P(Y)=∫XP(X,Y)dX=∫XP(X)⋅P(Y∣X)dX→P(Y):y∈P(Y),y∼N(A⋅μ+B,L−1+AΛ−1AT) P(Y)=∫XP(X,Y)dX=∫XP(X)⋅P(Y∣X)dX→P(Y):y∈P(Y),y∼N(A⋅μ+B,L−1+AΛ−1AT)
给定 Y \mathcal Y Y条件下,变量 X \mathcal X X的条件概率分布 P ( X ∣ Y ) \mathcal P(\mathcal X \mid \mathcal Y) P(X∣Y)可表示为:
P ( X ∣ Y ) = P ( Y ∣ X ) ⋅ P ( X ) P ( Y ) → P ( X ∣ Y ) : x ∈ P ( X ∣ Y ) , x ∼ N ( Σ { A T L ( y − B ) + A μ } , Σ ) Σ = Λ + A T L A − 1 P(X∣Y)=P(Y∣X)⋅P(X)P(Y)→P(X∣Y):x∈P(X∣Y),x∼N(Σ{ATL(y−B)+Aμ},Σ)Σ=Λ+ATLA−1 P(X∣Y)=P(Y)P(Y∣X)⋅P(X)→P(X∣Y):x∈P(X∣Y),x∼N(Σ{ATL(y−B)+Aμ},Σ)Σ=Λ+ATLA−1
具体过程:
注意,这仅是一个‘预测结果’。观察上面的求解步骤,它明显包含两个步骤:
至此,卡尔曼滤波部分介绍结束,下一节将介绍粒子滤波(Particle Filter)。
相关参考:
【PRML】高斯分布
机器学习-白板推导系列(十五)-线性动态系统-卡曼滤波(Kalman Filter)笔记
机器学习-线性动态系统2-Filtering问题
机器学习-线性动态系统3-Filtering问题求解