一、引言
以下我们引用文献【1】中的一段话作为本文的開始:
想象你在黄昏时分看着一仅仅小鸟飞行穿过浓密的丛林。你仅仅能隐隐约约、断断续续地瞥见小鸟运动的闪现。你试图努力地猜測小鸟在哪里以及下一时刻它会出如今哪里,才不至于失去它的行踪。或者再想象你是二战中的一名雷达操作员,正在跟踪一个微弱的游移目标。这个目标每隔10秒钟在屏幕上闪烁一次。
或者回到更远的从前。想象你是开普勒,正试图依据一组通过不规则和不准确的測量间隔得到的非常不精确的角度观測值来又一次构造行星的运动轨迹。在全部这些情况下。你都试图依据随对问变化并且带有噪声的观察数据去预计物理系统的状态(比如位置、速度等等)。这个问题能够被形式化表示为时序概率模型上的推理,模型中的转移模型描写叙述了运动的物理本质,而传感器模型则描写叙述了測量过程。
为解决这类问题。人们发展出来了一种特殊的表示方法和推理算法——卡尔曼滤波。
二、基本概念
回忆一下HMM的基本模型(例如以下图所看到的)。当中涂有阴影的圆圈(yt-2, yt-1, yt)相当于是观測变量,空白圆圈(xt-2, xt-1, xt)相当于是隐变量。
这事实上揭示了卡尔曼滤波与HMM之间拥有非常深的渊源。
回到刚刚提及的那几个样例,你所观測到的物体状态(比如雷达中目标的位置或者速度)相当于是对其真实状态的一种预计(由于观測的过程中必定存在噪声),用数学语言来表述就是P(yt | xt),这就是模型中的測量模型或測量概率(Measurement Probability)。另外一方面,物体当前的(真实)状态应该与其上一个观測状态相关,即存在这样的一个分布P(xt | xt-1),这就是模型中的转移模型或转移概率(Transition Probability)。当然,HMM中隐变量必须都是离散的,观測变量并无特殊要求。
而从信号处理的角度来讲,滤波是从混合在一起的诸多信号中提取出所需信号的过程[2]。比如,我们有一组含有噪声的行星执行轨迹。我们希望滤除当中的噪声,预计行星的真实运动轨迹。这一过程就是滤波。
假设从机器学习和数据挖掘的角度来说。滤波是一个理性智能体为了把握当前状态以便进行理性决策所採取的行动[1]。比方,前两天我们没出门,可是我们能够从房间里观察路上的行人有没有打伞(观測状态)来预计前两天有没有下雨(真实状态)。
基于这些情况,如今我们要来决策今天(是否会有雨以及)外出是否须要打伞。这个过程就是滤波。
读者应该注意把握上面两个定义的统一性。
所谓预计就是依据測量得出的与状态X(t) 有关的数据Y(t) = h[X(t)] + V(t) 解算出X(t)的计算值
,当中随机向量V(t) 为測量误差,
称为X的预计&#x