状态空间模型与贝叶斯滤波算法

介绍

状态空间模型是概率图生成模型,它假设序列观察数据背后由隐状态支撑,或者说隐状态生成了观察。隐状态符合一阶马尔科夫链假设,也就是说,除了前一时刻隐状态外,当前时刻隐状态独立于过去其它所有时刻的隐状态。如下图 x n x_n xn为观察, z n z_n zn为隐状态。
状态空间模型

模型

如果 z z z是离散状态,那就是HMM模型。如果 z z z是连续状态,可以成为线性动态系统LDS。

模型学习与推断

HMM和LDS的参数都可以用EM算法学习其参数。本文主要描述LDS的基于贝叶斯估计的贝叶斯滤波过程,也就是推断过程。

推断问题:已知模型参数,求 p ( z n ∣ x 1 , . . . x n ) p(z_n|x_1,...x_n) p(znx1,...xn)
推断思路:递推过程。

后验概率 (Posterior)
p ( z n ∣ x 1 , . . . x n ) = p ( x n ∣ z n , x 1 , . . . , x n − 1 ) p ( z n ∣ x 1 , . . . , x n − 1 ) p ( x n ∣ x 1 , . . . , x n − 1 ) = p ( x n ∣ z n ) p ( z n ∣ x 1 , . . . , x n − 1 ) p ( x n ∣ x 1 , . . . , x n − 1 ) p(z_n|x_1,...x_n) \\=\frac{p(x_n|z_n,x_1,...,x_{n-1})p(z_n|x_1,...,x_{n-1})}{p(x_n|x_1,...,x_{n-1})} \\=\frac{p(x_n|z_n)p(z_n|x_1,...,x_{n-1})}{p(x_n|x_1,...,x_{n-1})} p(znx1,...xn)=p(xnx1,...,xn1)p(xnzn,x1,...,xn1)p(znx1,...,xn1)=p(xnx1,...,xn1)p(xnzn)p(znx1,...,xn1)
在贝叶斯滤波中求后验分布的整个过程叫滤波。从当前时刻先验分布求当前时刻后验分布叫更新过程。

先验概率 (Prior)
p ( z n ∣ x 1 , . . . , x n − 1 ) = ∫ p ( z n , z n − 1 ∣ x 1 , . . . , x n − 1 ) d z n − 1 = ∫ p ( z n ∣ z n − 1 , x 1 , . . . , x n − 1 ) p ( z n − 1 ∣ x 1 , . . . , x n − 1 ) d z n − 1 = ∫ p ( z n ∣ z n − 1 ) p ( z n − 1 ∣ x 1 , . . . , x n − 1 ) d z n − 1 p(z_n|x_1,...,x_{n-1}) \\=\int p(z_n,z_{n-1}|x_1,...,x_{n-1})dz_{n-1} \\=\int p(z_n|z_{n-1},x_1,...,x_{n-1})p(z_{n-1}|x_1,...,x_{n-1})dz_{n-1} \\=\int p(z_n|z_{n-1})p(z_{n-1}|x_1,...,x_{n-1})dz_{n-1} p(znx1,...,xn1)=p(zn,zn1x1,...,xn1)dzn1=p(znzn1,x1,...,xn1)p(zn1x1,...,xn1)dzn1=p(znzn1)p(zn1x1,...,xn1)dzn1
其中: p ( z n ∣ z n − 1 ) p(z_n|z_{n-1}) p(znzn1)是转换分布已知; p ( z n − 1 ∣ x 1 , . . . , x n − 1 ) p(z_{n-1}|x_1,...,x_{n-1}) p(zn1x1,...,xn1)是上一时刻后验概率,也是已知分布。在贝叶斯滤波中,从上一时刻后验分布求当前时刻先验分布叫预测过程。

似然概率 (Likelihood) p ( x n ∣ z n ) p(x_n|z_n) p(xnzn)是观测分布,已知。

归一化因子 (Evidence)
p ( x n ∣ x 1 , . . . , x n − 1 ) = ∫ p ( z n , x n ∣ x 1 , . . . , x n − 1 ) d z n = ∫ p ( x n ∣ z n ) p ( z n ∣ x 1 , . . . , x n − 1 ) d z n p(x_n|x_1,...,x_{n-1}) \\=\int p(z_n,x_n|x_1,...,x_{n-1})dz_n \\=\int p(x_n|z_n)p(z_n|x_1,...,x_{n-1})dz_n p(xnx1,...,xn1)=p(zn,xnx1,...,xn1)dzn=p(xnzn)p(znx1,...,xn1)dzn

通过积分运算,即可求得递推过程,因为本文仅描述思路,所以不再展开其它推导过程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值