贝叶斯滤波(三)贝叶斯滤波算法推导

一. 状态估计(state estimation)

状态估计根据可获取的量测数据估算动态系统内部状态的方法。

贝叶斯滤波也就是在已知观测\boldsymbol{y_{t}}和可选的控制输入\boldsymbol{u_{t}}的概率分布下,估计出的状态\boldsymbol{x_{t}}概率分布。

状态随着时间变化,我们将时间设定为离散的,即t=0,1,2,3...

相对应的,我们的观测为y_{1},y_{2},y_{3}...y_{t},控制输入为u_{1},u_{2},u_{3}...u_{t},状态x_{0},x_{1},x_{2},x_{3}...x_{t}(x_{0}为初始状态)

 

二、马尔可夫假设(Markov Assumption)

                               

隐马尔可夫模型(Hidden Markov Model; 缩写:HMM)的两个基本假设:

1. 齐次马尔可夫假设

简单来说,就是当前状态仅取决于先前的状态和当前输入。

比如某个人在骑自行车,那么他下一刻的速度仅仅取决于当前的速度和下一刻他蹬了多大力气,与他昨天骑自行车到哪条道路把车停在哪里都无关。或者说他当前的速度仅仅取决于上一刻的速度和当前他蹬了多大力气。

我们把时间分为3个点:上一刻(t-1)、现在(t)、下一刻(t+1),

那么根据马尔可夫假设,现在的状态\boldsymbol{x_{t}}仅仅取决于上一刻的状态\boldsymbol{x_{t-1}}和当前的控制输入\boldsymbol{u_{t}},下一刻的状态\boldsymbol{x_{t+1}}仅仅取决于现在的状态\boldsymbol{x_{t}}和下一刻的控制输入\boldsymbol{u_{t+1}}

          p(x_{t}|u_{1:t},y_{1:t-1},x_{1:t-1})=p(x_{t}|u_{1},y_{1},...,u_{t-1},y_{t-1},u_{t},x_{t-1})=p(x_{t}|u_{t},x_{t-1})

这里的p(x_{t}|u_{1:t},y_{1:t-1},x_{1:t-1})其实说的是条件概率,意思是x_{t}u_{1:t},y_{1:t-1},x_{1:t-1}这一堆条件下发生的概率,等价x_{t}u_{t},x_{t-1}条件下发生的概率。

 

2. 观测独立假设

是指任一时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关。

          p(y_{t}|x_{0:t},y_{1:t},u_{1:t})=p(y_{t}|x_{t})

同样地,这里的p(y_{t}|x_{0:t},y_{1:t},u_{1:t})指的也是条件概率,意思是y_{t}x_{0:t},y_{1:t},u_{1:t}这一堆条件下发生的概率,等价y_{t}x_{t}条件下发生的概率。

 

这两个假设非常重要,其实我们可以简单理解其为化简,把繁杂的公式进行了极大的简化。根据马尔科夫假设,我们才能推导出递归贝叶斯的更新公式。

 

三、贝叶斯滤波算法的数学推导

1. 贝叶斯公式

        p(x|y) = \frac{p(y|x)p_{X}(x)}{\int_{-\infty }^{+\infty }p(y|x)p(x)dx} = \eta p(y|x)p_{X}(x)

顺便推导一下多条件下的贝叶斯公式,后面的推导需要使用到这一个结论,

        p(x|y,z)=\frac{p(y,z|x)p(x)}{p(y,z)}

                       = \frac{\frac{p(x,y,z)}{p(x)}p(x)}{p(y|z)p(z)}

                       = \frac{\frac{p(x,y,z)}{p(x,z)}\frac{p(x,z)}{p(x)}p(x)}{p(y|z)p(z)}

                       = \frac{p(y|x,z)p(z|x)p(x)}{p(y|z)p(z)}

                       =\frac{p(y|x,z)p(x,z)}{p(y|z)p(z)}

                       =\frac{p(y|x,z)p(x|z)p(z)}{p(y|z)p(z)}

                       =\frac{p(y|x,z)p(x|z)}{p(y|z)}

                       =\eta p(y|x,z)p(x|z)

 

2. 根据贝叶斯公式进行推导贝叶斯滤波:

bel(x_{t})u_{1:t},y_{1:t}条件下x_{t}的概率密度函数,即:

        bel(x_{t})=p(x_{t}|u_{1:t},y_{1:t})

u_{1:t},y_{1:t-1}看成一个整体,那么u_{1:t},y_{1:t}=y_{t},u_{1:t},y_{1:t-1},根据我们上面的多条件下的贝叶斯公式进行展开可得:

        bel(x_{t})=p(x_{t}|y_{t},u_{1:t},y_{1:t-1}) =\eta p(y_{t}|x_{t},u_{1:t},y_{1:t-1})p(x_{t}|u_{1:t},y_{1:t-1})

根据观测独立假设,p(y_{t}|x_{t},u_{1:t},y_{1:t-1})y_{t}只依赖于t时刻的马尔科夫链的状态x_{t},可得:

                                                       =\eta p(y_{t}|x_{t})p(x_{t}|u_{1:t},y_{1:t-1})

根据全概率公式,或者说是边缘概率密度函数,此处我们把x_{t},x_{t-1}看成是两个二维随机变量,求p(x_{t}|u_{1:t},y_{1:t-1})也就是求边缘概率密度函数了,可得:

                                                       =\eta p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{1:t},y_{1:t-1},x_{t-1})p(x_{t-1}|u_{1:t},y_{1:t-1})dx_{t-1}

根据齐次马尔可夫假设,p(x_{t}|u_{1:t},y_{1:t-1},x_{t-1})\boldsymbol{x_{t}}仅仅取决于t-1时刻的状态\boldsymbol{x_{t-1}}和当前t时刻控制输入\boldsymbol{u_{t}},可得:

                                                       =\eta p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{t},x_{t-1})p(x_{t-1}|u_{1:t},y_{1:t-1})dx_{t-1}

根据齐次马尔可夫假设,我们观察一下p(x_{t-1}|u_{1:t},y_{1:t-1})中,\boldsymbol{x_{t-1}}仅仅取决于t-2时刻的状态\boldsymbol{x_{t-2}}和当前t-1时刻控制输入\boldsymbol{u_{t-1}},与\boldsymbol{u_{t}}无关,可得:

                                                       =\eta p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{t},x_{t-1})p(x_{t-1}|u_{1:t-1},y_{1:t-1})dx_{t-1}

仔细观察p(x_{t-1}|u_{1:t-1},y_{1:t-1}),会发现这个式子就等于bel(x_{t-1}),所以原式等于:

                                                       =\eta p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{t},x_{t-1})bel(x_{t-1})dx_{t-1}

至此,贝叶斯滤波推导完毕:

 

        bel(x_{t})=\eta p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{t},x_{t-1})bel(x_{t-1})dx_{t-1}

式中\eta为后面所有项的广义积分的倒数,即\eta =\frac{1}{\int_{-\infty }^{+\infty}p(y_{t}|x_{t})\int_{-\infty }^{+\infty}p(x_{t}|u_{t},x_{t-1})bel(x_{t-1})dx_{t-1}dx}

 

四、 先验概率、后验概率

        p_{X|Y}(x|y) = \frac{p(y|x)p_{X}(x)}{p_{Y}(y)}=\frac{likelihood\cdot prior}{evidence}=posterior

书本上将

p_{X|Y}(x|y)定义为后验概率(posterior)指某件事已经发生,想要计算这件事发生的原因是由某个因素引起的概率,是根据结果推测原因

p_{X}(x)定义为先验概率(prior):指根据以往经验和分析。在实验或采样前就可以得到的概率。

p(y|x)定义为似然概率(likelihood):是根据原因推测该原因导致结果发生的概率

p_{Y}(y)(evidence):指某件事发生的概率,概率上讲就是求边缘密度。

 

现在我们生活的地方偶尔可见一些流浪汪,它们短暂的一生中,可能会遇到好人给它们食物吃,也可能遇到普通路人,不理它没给它吃的。

假设在它们的世界中这几类人占比:

好人,喂吃的(占总数20%);

路人,无视(占总数80%)。

流浪汪小白总结了一个规律,那就是:

好人里面,大部分会对它微笑地招手,占90%,只有10%是面无表情的。

路人里面,大部分都是面无表情的,占85%,只有15%会对它微笑地招手

 

这一天,刚满三周岁的小白想着今天要能遇到好人的话,生日鸡腿说不定就有着落了。这时候它看到一个微笑地招手的人走过来,小白开启了超算模式进行计算这个是好人的概率:

   p(好人 | 微笑地招手)

= p(微笑地招手 | 好人)*p(好人) / p(微笑地招手)

= p(微笑地招手 | 好人)*p(好人) / (p(微笑地招手 | 好人)*p(好人) + p(微笑地招手 | 路人)*p(路人))

= 90%*20% / (90%*20% + 15%*80%)

= 60%

小白很开心,摇着尾巴屁颠屁颠地走了过去,毕竟它有六成把握对面这个人会给他鸡腿,可没想到那人竟然走开了没给他鸡腿!小白感到很失落,转身走向下一个街道,眼角余光瞄向旁边一个面无表情的人,又开启了超算模式:

   p(好人 | 面无表情)

= p(面无表情 | 好人)*p(好人) / p(面无表情)

= p(面无表情 | 好人)*p(好人) / (p(面无表情 | 好人)*p(好人) + p(面无表情 | 路人)*p(路人))

= 10%*20% / (10%*20%+85%*80%)

= 2.86%

小白耸拉着耳朵,它知道这个面无表情的人是好人的概率只有2.86%,基本没什么希望了。突然间小白被一个东西砸了一下,定睛一看竟然是鸡腿,原来这个鸡腿是那个面无表情的人扔过来的,小白很开心,毕竟2.86%的概率都被它遇到了,简直是踩了自己shit运,运气真是太好了!

 

表达有限,希望通过简单例子解释先验、后验,说不清的地方还请见谅。

 

 

                        

                        

                        

                        

 

 

  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值