机器学习-线性动态系统-卡尔曼滤波

机器学习-线性动态系统-卡尔曼滤波(Kalman Filtering)

Dynamic Model

观测值:设有一系列观测值y1,y2⋯yny_1,y_2 \cdots y_ny1,y2yn,不可以互换顺序,观测之间是相关的,有联系的。

状态空间模型(state-based-model):引入隐状态x1,x2⋯xnx_1,x_2 \cdots x_nx1,x2xn​.在给定系列隐状态的条件下,观测之间变为相互独立

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gCnjpbgV-1636796568836)(C:\Users\nth12\AppData\Roaming\Typora\typora-user-images\image-20211112171837873.png)]

  • 绿色的箭头指示了p(xt∣xt−1)−−transsisonprobp(x_t | x_{t-1})--transsison probp(xtxt1)transsisonprob
  • 红色箭头指示了p(yt∣xt)−−measurementprob,emissionprobp(y_t|x_t)--measurement prob,emission probp(ytxt)measurementprob,emissionprob
  • 描述HMM:p(x1)−−init prob,p(xt∣xt−1),p(yt∣xt)∀tp(x_1)--init \ prob,p(x_t|x_{t-1}),p(y_t|x_t)\quad \forall tp(x1)init prob,p(xtxt1),p(ytxt)t

离散状态模型(Discrete state Dynamic Model)

  • HMM(隐马尔可夫模型)-所有隐状态即xtx_txt离散

  • p(xt∣xt−1)p(x_t | x_{t-1})p(xtxt1)由A矩阵给出,其中A矩阵满足
    Axt−1,xt=p(xt∣xt−1) A_{x_{t-1},x_t} = p(x_t|x_{t-1}) Axt1,xt=p(xtxt1)

  • p(yt∣xt)p(y_t|x_t)p(ytxt)​​—任何形式。yty_tyt​​可以是离散的,可以是连续的。

  • p(x1)p(x_1)p(x1)π\piπ向量确定。

线性+高斯噪音模型(Linear Guass Dynamic Model)

  • 卡尔曼滤波

  • p(xt∣xt−1)p(x_t|x_{t-1})p(xtxt1)转移概率不能用矩阵表示,使用函数表示
    p(xt∣xt−1)∼N(Axt−1+B,Q) p(x_t|x_{t-1}) \sim N(Ax_{t-1}+B,Q) p(xtxt1)N(Axt1+B,Q)

  • p(yt∣xt)p(y_t|x_{t})p(ytxt)也是线性的,使用函数表示:
    p(yt∣xt)∼N(Hxt−1+C,R) p(y_t|x_t) \sim N(Hx_{t-1}+C,R) p(ytxt)N(Hxt1+C,R)

  • p(x1)∼N(μ0,σ0)p(x_1) \sim N(\mu_0,\sigma_0)p(x1)N(μ0,σ0)

非线性,非高斯的动态模型

  • 粒子滤波

  • p(xt∣xt−1)p(x_t|x_{t-1})p(xtxt1)​任意函数f(xt−1)f(x_{t-1})f(xt1)

  • p(yt∣xt)∼N(Hxt−1+C,R)p(y_t|x_t) \sim N(Hx_{t-1}+C,R)p(ytxt)N(Hxt1+C,R)也是任意函数

  • p(x1)p(x_1)p(x1)​也是任意函数

基本任务

  • eval:求解p(y1,y2,⋯yn)p(y_1,y_2,\cdots y_n)p(y1,y2,yn)
  • parameter learning:argmaxθ logp(y1,⋯yn∣θ)argmax_\theta \ logp(y_1,\cdots y_n | \theta)argmaxθ logp(y1,ynθ)
  • state decoding:argmaxx1,x2⋯xn p(x1,x2⋯xn∣y1,y2,⋯yn)argmax_{x_1,x_2\cdots x_n} \ p(x_1,x_2 \cdots x_n | y_1,y_2,\cdots y_n)argmaxx1,x2xn p(x1,x2xny1,y2,yn)
  • filtering:求解p(xt∣y1⋯yt)p(x_t | y_1 \cdots y_t)p(xty1yt)

卡尔曼滤波

动机

  • 飞机、雷达的实时定位和参数测量都受到各种各样的随机干扰,要想正确的得到实时状态参数,只能根据观测到的信号
    来预测真实状态
  • 最优估计问题:希望估值误差尽可能小,产生了最优估计问题
  • 目标:无偏性,估计方差最小,实时性

概述

  • 转移概率p(xt∣xt−1)=N(Axt−1+B,Q)p(x_t|x_{t-1}) = N(Ax_{t-1}+B,Q)p(xtxt1)=N(Axt1+B,Q)

    • 这等价于:p(xt∣xt−1)=Axt−1+B+wp(x_t|x_{t-1}) = Ax_{t-1} + B + wp(xtxt1)=Axt1+B+w,其中w∼N(0,Q)w \sim N(0,Q)wN(0,Q)
  • measurement prob:p(yt∣xt)=N(Hxt+C,R)p(y_t|x_t) = N(Hx_t+C,R)p(ytxt)=N(Hxt+C,R)

    • 这等价于:p(yt∣xt)=Hxt+C+V,V∼N(0,R)p(y_t | x_t) = Hx_t + C + V,V \sim N(0,R)p(ytxt)=Hxt+C+V,VN(0,R)
  • 所以其中的参数有:A,B,Q,R,C,H;

  • 现在假设A=IA=IA=I​,B=(2,2)TB = (2,2)^TB=(2,2)T

    • p(yt∣xt)=Ixt+V,V∼N(0,I)p(y_t|x_t) = Ix_t+ V,V \sim N(0,I)p(ytxt)=Ixt+V,VN(0,I)
    • p(xt∣xt−1)=Ixt−1+(2,2)T+wp(x_t | x_{t-1}) = Ix_{t-1} + (2,2)^T + wp(xtxt1)=Ixt1+(2,2)T+w,w∼N(0,I)w \sim N(0,I)wN(0,I)
    • 假设x1=(0,0)Tx_1 = (0,0)^Tx1=(0,0)T
    • x2x_2x2的位置为以(2,2)为中心的,I为方差的范围内。
      • 其中x2x_2x2位于(2,2)(2,2)(2,2)的概率密度是最大的,因为w=0w = 0w=0的对应概率密度最大。
      • 再由式子p(y2∣x2)p(y_2 | x_2)p(y2x2)确定y2y_2y2的取值,y2y_2y2取值范围为x2x_2x2​为中心,方差为I的高斯分布。
    • 现在欲求解的问题是,我们观测到了y1,y2⋯yty_1,y_2\cdots y_ty1,y2yt​,欲求p(xt∣y1⋯yt)p(x_t | y_1 \cdots y_t)p(xty1yt)
  • 物体运动的实例:设一小车在直线上运动,其加速度a∼N(0,σ)a \sim N(0,\sigma)aN(0,σ)

    • 这里的yty_tyt在t时刻的位置(数轴上的位置坐标)
    • 状态向量x‾t=(xt,xt,)T\overline x_t = (x_t,x_t^,)^Txt=(xt,xt,)T,(与前面的向量进行区分)其中前一个分量表示汽车的真实位置,后一个分量表示汽车的真实速度
    • 则有:xt=xt−1+xt−1,Δt+12aΔt2x_t = x_{t-1} + x_{t-1}^,\Delta t+\frac{1}{2}a\Delta t^2xt=xt1+xt1,Δt+21aΔt2​,xt,=xt−1,+aΔtx^,_{t} = x^,_{t-1} + a \Delta txt,=xt1,+aΔt​.使用这两个等式来表示卡尔曼滤波中的参数。​

基本假设

方程
xk=Axk−1+Buk−1+qk−1yk=Hxk+rk x_k = Ax_{k-1}+Bu_{k - 1}+q_{k-1} \\ y_k = Hx_k + r_k xk=Axk1+Buk1+qk1yk=Hxk+rk

  • 其中xkx_kxk是k时刻系统的状态;yky_kyk是k时刻系统的测量值。uku_kuk是k时刻对系统的控制量

  • A,B是系统参数,对于多模型系统,他们为矩阵;

  • H为测量系统的参数,对于多测量系统,H为矩阵

  • qkq_kqkrkr_krk表示过程和测量的噪声。

    • 被假设称高斯白噪声(white guass noisewhite\ guass \ noisewhite guass noise),协方差矩阵分别为Q,RQ,RQ,R

    • 假设他们不随系统状态的变化而变化

    • 高斯白噪声:功率谱密度服从均匀分布,幅度服从高斯分布

    • 若N(t)为一个具有零均值的平稳随机过程,其功率谱密度均匀分布在−∞,+∞-\infty,+\infty,+ 的整个频率区间,即
      SN(ω)=12N0 S_N(\omega) = \frac{1}{2}N_0 SN(ω)=21N0
      其中N0N_0N0为一正实数。

    img

img

  • 以最小均方误差为估计的最佳准则
  • 利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计

原理推导

设线性系统的状态方程为
xk=Axk−1+Buk−1+qk−1 x_k = Ax_{k-1} + Bu_{k - 1}+q_{k-1} xk=Axk1+Buk1+qk1

  • 其中xxx为系统的状态变量,大小为(n,1)(n,1)(n,1)​。
  • A为转换矩阵,维度为(n,n)。
  • u为系统输入,维度为(k,1).
  • B是将输入转换为状态的矩阵,维度为(n,k)。
  • q为随机变量,系统噪声。假设服从分布q∼N(0,Q)q\sim N(0,Q)qN(0,Q)

在概率论中,前面预测的结果称为先验,后面测量出的结果称为后验。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LqqOrZWW-1636796568843)(C:\Users\nth12\AppData\Roaming\Typora\typora-user-images\image-20211112162753126.png)]

测量值为后验,给出的公式为
zk=Hxk+rk z_k = Hx_k +r_k zk=Hxk+rk
其中zkz_kzk​​的维度为(m,1),矩阵H的维度为(m,n),随机变量r为测量噪声,r∼N(0,R)r \sim N(0,R)rN(0,R),且与Q互相独立。

存中…(img-LqqOrZWW-1636796568843)]

测量值为后验,给出的公式为
zk=Hxk+rk z_k = Hx_k +r_k zk=Hxk+rk
其中zkz_kzk​​的维度为(m,1),矩阵H的维度为(m,n),随机变量r为测量噪声,r∼N(0,R)r \sim N(0,R)rN(0,R),且与Q互相独立。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值