张芷铭的个人博客

线性动态系统(LDS)处理连续隐变量的时序建模,卡尔曼滤波是其特例,通过预测-更新递推实现实时推断。

模型定义

LDS 又称卡尔曼滤波,适用于连续隐变量的 HMM。状态转移和观测方程:

$$ \begin{align} z_t &= A \cdot z_{t-1} + B + \varepsilon, \quad \varepsilon \sim \mathcal{N}(0, Q) \ x_t &= C \cdot z_t + D + \delta, \quad \delta \sim \mathcal{N}(0, R) \end{align} $$

类比 HMM 参数:

$$ \begin{align} p(z_t|z_{t-1}) &\sim \mathcal{N}(A \cdot z_{t-1} + B, Q) \ p(x_t|z_t) &\sim \mathcal{N}(C \cdot z_t + D, R) \ z_1 &\sim \mathcal{N}(\mu_1, \Sigma_1) \end{align} $$

滤波问题

LDS 的核心推断任务是滤波:$p(z_t|x_1, \cdots, x_t)$。

分解联合概率:

$$p(z_t|x_{1:t}) = C \cdot p(x_t|z_t) \cdot p(z_t|x_{1:t-1})$$

预测项递推:

$$p(z_t|x_{1:t-1}) = \int_{z_{t-1}} p(z_t|z_{t-1}) p(z_{t-1}|x_{1:t-1}) dz_{t-1}$$

递推算法

流程:update → prediction 交替进行,在线处理。

步骤计算
Prediction$p(z_t
Update$p(z_t

线性高斯假设下,每步都有解析解。

Comments