引言
本节从动态模型开始,介绍卡尔曼滤波(Kalman Filter)。
回顾:动态模型
我们在机器学习笔记之隐马尔可夫模型中已经介绍了一种动态模型。
假设数据集合 X \mathcal X X在某连续时刻 { 1 , 2 , ⋯ , T } \{1,2,\cdots,T\} {
1,2,⋯,T}内的观测值序列 { o 1 , o 2 , ⋯ , o T } \{o_1,o_2,\cdots,o_T\} {
o1,o2,⋯,oT}表示如下:
由于这些观测值是基于同一数据集合 X \mathcal X X在连续时刻下的观测结果。从常理角度思考,相邻观测值之间存在关联关系。但观测值序列中的关联关系可能不是显式关系,即无法通过观测值序列直接写出它们之间的关联关系。因此有了动态模型的假设(Dynamic Model):
动态模型是指 观测变量的变化规律是基于隐变量 I \mathcal I I随着时间/序列的变化而变化,从而影响观测变量 O \mathcal O O的变化。其概率图模型可表示为如下形式:
称 O = { o 1 , o 2 , ⋯ , o T } \mathcal O = \{o_1,o_2,\cdots,o_{T}\} O={
o1,o2,⋯,oT}为观测变量, I = { i 1 , i 2 , ⋯ , i T } \mathcal I = \{i_1,i_2,\cdots,i_{T}\} I={
i1,i2,⋯,iT}为隐变量。这种概率图模型也称状态空间模型(State Space Model),这种模型的核心思想是:
如果找到了隐变量之间的关联关系,观测变量只与对应时刻的隐变量之间存在关联关系,从而观测变量之间相互独立。
这看起来和上述介绍的‘相邻观测值之间存在关联关系’相悖,实际上,只是将‘观测变量中的关联关系’转移至隐变量中,而观测变量被看成‘对应时刻给定隐变量下的结果’。
这种概率图表示也完全符合‘贝叶斯网络’中的描述。以
o t o_{t} ot为例,可能与
o t o_{t} ot相关联的结点表示如下:
上图描述的是
贝叶斯网络结构表示中提到的‘同父结构’和‘顺序结构’。但无论是其中哪种结构,在给定隐变量
i t i_t it的条件下,
o t o_t ot与
i t − 1 , i t + 1 i_{t-1},i_{t+1} it−1,it+1之间均条件独立。
这也是动态模型中的 观测独立性假设。
动态模型中共包含三类概率:
- 发射概率(Emission Probability):它描述给定某时刻隐变量 i t i_t it的条件下,对应时刻观测变量 o t o_t ot的条件概率。
P ( o t ∣ i t ) \mathcal P(o_t \mid i_t) P(ot∣it) - 状态转移概率(Transition Probability):给定某时刻隐变量 i t i_t it的条件下,后续时刻隐变量 i t + 1 i_{t+1} it+1的条件概率。
这里以‘一阶齐次马尔可夫假设’为例。
P ( i t + 1 ∣ i t ) \mathcal P(i_{t+1} \mid i_t) P(it+1∣it) - 初始概率(initial Probability):在计算隐变量的概率时,基于状态转移概率,我们需要给定上一时刻的隐变量信息,但初始时刻的隐变量概率 P ( i 1 ) \mathcal P(i_1) P(i1)需要人为给定。
马尔可夫模型的特点是 每一时刻的隐变量 i t ( t = 1 , 2 , ⋯ , T ) i_t(t=1,2,\cdots,T) it(t=1,2,⋯,T)必须是离散型随机变量,而对应观测变量 o t ( t = 1 , 2 , ⋯ , T ) o_t(t=1,2,\cdots,T) ot(t=1,2,⋯,T)不做要求。
通常为了简化运算,也将观测变量
o t o_t ot定义为‘离散型随机变量’。
如果 隐变量是连续型随机变量,可分为两种情况:
- 线性动态系统/卡尔曼滤波(Linear Dynamic System):线性动态系统中的观测变量 O \mathcal O O和隐变量 I \mathcal I I均属于连续型随机变量,并且各时刻 i t , o t ( t = 1 , 2 , ⋯ , T ) i_t,o_t(t=1,2,\cdots,T) it,ot(t=1,2,⋯,