动态滤波和卡尔曼滤波

1、先验知识

(1)、条件概率,贝叶斯公式

条件概率的定义:条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为: P ( A ∣ B ) P(A|B) P(AB),读作“A在B发生的条件下发生的概率”。
乘法定理:
P ( A ∩ B ) = P ( A ) ∗ P ( B ∣ A ) = P ( B ) ∗ P ( A ∣ B ) P(A\cap B)=P(A)*P(B|A)=P(B)*P(A|B) P(AB)=P(A)P(BA)=P(B)P(AB)
由乘法定理就可以推出全概率公式,
P ( A ∣ B ) = P ( A ) ∗ P ( B ∣ A ) P ( B ) P(A|B)=\frac{P(A)*P(B|A)}{P(B)} P(AB)=P(B)P(A)P(BA),全概率公式也叫贝叶斯公式。
上式中的P(A),P(B)称为先验概率,之所以称为先验概率,是因为它们根据以往经验和分析得到的概率,不考虑其他事件的联系。P(A|B)则称为B发生后A的后验概率,它通常是“因果”中的“果”,所以被称为后验概率。注意式中事件B往往呗认为是“因”,是给定的,也就是说 P ( B ) P(B) P(B)往往是一个常数,分母 P ( B ) P(B) P(B)可以被扔掉,贝叶斯公式又可以被表示为,
P ( A ∣ B ) = α P ( B ∣ A ) ∗ P ( A ) P(A|B)=αP(B|A)*P(A) P(AB)=αP(BA)P(A)
上式中的α表示归一化处理,保证概率和是1。
由于
P ( A ∣ B ) = ∑ i = 1 n P ( A i ) P ( B ∣ A i ) P(A|B) = \sum_{i=1}^n P(A_i)P(B|A_i) P(AB)=i=1nP(Ai)P(BAi)
所以贝叶斯也可以表示为,
P ( A i ∣ B ) = P ( A i ) ∗ P ( B ∣ A i ) ∑ i = 1 n P ( A i ) P ( B ∣ A i ) P(A_i|B)=\frac{P(A_i)*P(B|A_i)}{\sum_{i=1}^n P(A_i)P(B|A_i)} P(AiB)=i=1nP(Ai)P(BAi)P(Ai)P(BAi)
贝叶斯公式

(2)、一般时序模型

在去理解卡尔曼滤波,粒子滤波之前,首先要明白我们要解决的问题是什么。根据《人工智能,一种现代方法》(PS.没看过),我们可以建立起一个一般时间序列模型,(简称时序模型),它规范了我们要解决的所有问题,如下图:

一般时序模型一般时序模型

这个模型包含两个序列,一个是状态序列,用X表示;一个是观测序列(又叫测量序列、证据序列、观察序列,一般叫观测序列),用Y表示。
状态序列反应了系统真实状态,一般不能被直接观测,即使被直接观测也会引进噪声。
观测序列是通过测量得到的数据,它与转态序列之间有规律性的联系。
举例说明:假设有一个人待在屋子里不知道外边有没有下雨,他于是观察进屋子里的人是否带伞,这里有没有下雨就是状态,有没有带伞就是观测。

上边这个模型有两个基本假设:
一、马尔科夫假设。假设当前状态只与上一个状态有关,而与上一个状态之前的所有状态无关。用公式来表示(式中1:t表示时刻1到时刻t的所有采样时刻)
P ( X t + 1 ∣ X 1 : t ) = P ( X t + 1 ∣ X t ) P(X_{t+1}|X_{1:t})=P(X_{t+1}|X_t) P(Xt+1X1:t)=P(Xt+1Xt)
上面的P被称为转态转移概率。例如上面那个雨伞的例子,我们会认为今天下不下雨只与昨天下不下雨有关,与以前没有关系。
二、观测假设
假设当前观测值只依赖于当前状态,与其他时刻的状态无关。用公式来表示,
P ( Y t ∣ X 1 : t ) = P ( Y t ∣ X t ) P(Y_{t}|X_{1:t})=P(Y_{t}|X_t) P(YtX1:t)=P(YtXt)
上面的P被称为观测概率。例如上面那个雨伞的例子,进来的人带不带伞只与今天下不下雨有关,与之前或者未来下不下雨没关系。
由此,一个模型可以被状态转移概率矩阵观测概率矩阵唯一确定。

这两个假设可以极大的将问题简化,而且很多实际情况符合这两个假设,即使有些偏差,我们也可以对模型进行拓展。例如雨伞的例子,我们认为今天下不下雨不仅与昨天有关,还与前天甚至更早的事件有关,那么就可以对马尔科夫假设进行拓展,拓展成二阶甚至更高阶的马尔科夫模型,例如二阶
P ( X t + 1 ∣ X 1 : t ) = P ( X t + 1 ∣ X t − 1 : t ) P(X_{t+1}|X_{1:t})=P(X_{t+1}|X_{t-1:t}) P(Xt+1X1:t)=P(Xt+1Xt1:t)

那么这个模型需要完成的任务有哪些呢?主要有以下:
(1)滤波,计算
P ( X t ∣ Y 1 : t ) P(X_{t}|Y_{1:t}) P(XtY1:t)
即根据现在及现在以前的所有测量数据,估计当前的状态。在雨伞那个例子中,根据目前位置进去屋的人携带雨伞的所有观察数据,计算今天下雨的概率,这就是滤波。
(2)预测,计算
P ( X t + k ∣ Y 1 : t ) , k > 0 P(X_{t+k}|Y_{1:t}),k>0 P(Xt+kY1:t),k>0
即根据现在及现在以前的所有测量数据,估计未来某个时刻的状态。在雨伞的例子中,根据目前位置进去屋的人携带雨伞的观察数据,计算从今天开始若干天后下雨的概率,这就是预测。
(3)平滑,计算
P ( X k ∣ Y 1 : t ) , 0 < k < t P(X_{k}|Y_{1:t}),0<k<t P(XkY1:t),0<k<t
即根据现在及现在以前的所有测量数据,找到最能最可能生成这些测量数据的状态序列。例如,如果前三天每天都出现雨伞,但第四天没有出现,最有可能的解释就是前三天下雨了,而第四天没有下雨。最有可能解释也被称为解码问题,在语音识别、机器翻译等方面比较有用,最典型的方法就是隐马尔科夫模型。
(5)评估,计算
P ( Y 1 : t ∣ X 1 : t , λ ) P(Y_{1:t}|X_{1:t},λ) P(Y1:tX1:t,λ)
这里的 λ λ λ是指模型,这个公式意味着在该模型下,给定到目前为止的状态序列,计算输出特定观测序列的可能性。这其实是个评估问题,可以评估模型的好坏,概率越高,意味着模型越能反应观测序列与转态序列之间的联系,模型就越好。
(6)学习,计算
P ( X t + 1 ∣ X t ) , P ( Y t ∣ X t ) P(X_{t+1}|X_{t}),P(Y_t|X_t) P(Xt+1Xt),P(YtXt)
学习的目的是根据历史数据得到合理的模型,一般是根据一个目标函数,对模型进行迭代更新,例如使(5)中要计算的值最大可以作为一个目标。

未完待续

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值