马尔可夫过程
当前状态依赖于前一个状态,单阶的马尔可夫链;
当前状态依赖于前n个状态,n阶的马尔可夫链;
传感器模型
传感器马尔可夫假设: $$P(E_t | X_{0:t}, E_{0:t-1}) = P(E_t | X_t)$$
等式右边就是我们的传感器模型。 有$X_t$ 就可感应得到$E_t$。
物理含义就是当前的证据只与当前状态有关,即便给定了过去所有状态和证据。
状态转移模型
$$P(X_i | X_{i-1}) = P(X_t | X_{0:t-1})$$
物理含义就是给定前一个状态,计算当前状态的概率相当于给定所有状态时计算当前状态的概率 。给定前一个状态和给定过去所有状态的结果是一样的。
有了上述两个模型之后,加上初始状态模型$P(X_0)$, 我们就可以确定所有变量上完整的联合概率分布,从而确定其他类型的概率分布。 公式如下:
$$P(X_{0:t}, E_{1:t}) = P(X_0) \prod_{i=1}^tP(X_i | X_{i-1})P(E_i | X_i)$$
形式化基本推理任务
滤波。计算信念状态。给定当前所有证据,计算当前状态的后验概率分布。
预测。给定当前所有证据,计算未来状态的后验分布。
平滑。给定当前所有证据,计算过去某一状态的后验概率。
最可能的解释。给定观察序列,找到最可能生成这些观察结果的状态序列。
学习。从观察中学习,推理哪些确实会发生转移,估计。期望最大化算法。EM算法。
滤波过程
根据当前时刻已知的所有证据变量,计算当前状态的后验概率分布。
假设存在函数f使得 $P(X_{t+1} | e_{1:t+1}) = f(e_{t+1}, P(X_t | e_{1:t}))$,其物理含义就是已知t时刻的滤波结果$P(X_t | e_{1:t}) $和t+1时刻的证据$e_{t+1}$ ,可以计算下一个时刻t+1的滤波结果$P(X_t | e_{1:t}) $。该过程称为递归估计。
公式计算过程为:
$P(X_{t+1} | e_{1: t+1}) = P(X_{t + 1} | e_{1: t}, e_{t+1})$ // 分解证据
$= \alpha P(e_{t+1} | X_{t+1}, e_{1:t})P(X_{t+1} | e_{1:t})$ // 使用贝叶斯规则
$= \alpha P(e_{t+1} | X_{t+1}) P(X_{t+1} | e_{1:t})$ // 根据传感器马尔科夫假设
$=\alpha P(e_{t+1} | X_{t+1}) \sum_{x_t} P(X_{t+1}| x_t, e_{1:t})P(x_t | e_{1:t})$ // 分解为求和式
$= \alpha P(e_{t+1} | X_{t+1}) \sum_{x_t} P(X_{t+1} | x_t)P(x_t | e_{1:t})$ // 马尔可夫假设
上述的求和表达式中,第一个因子来自转移模型,第二个因子来自当前状态分布。由此得到了递归公式 。我们可以认为滤波估计$P(e_t | X_t)$ 是沿着序列从1到t的前向”消息”:$f_{1:t}$ ,在每一时刻发生转移时得到修正,并根据每一新的观察进行更新,该过程表达为 $f_{1:t+1} = \alpha Forward(f_{1:t}, e_{t+1})$ $Forward$函数实现了马尔可夫假设中的递归过程。
平滑过程
给定现在已知的证据,计算过去某一状态的后验分布。
$$ 对于 0 \le k < t\, 计算P(X_k | e_{1:t})$$ ,计算过程是:
$P(X_k | e_{1:t}) = P (X_k | e_{1: k}, e_{k+1:t})$ // 分解证据
$= \alpha P(X_k | e_{1:k})P(e_{k+1:t}| X_k, e_{1:k}) $ // 使用贝叶斯规则
$ = \alpha P(X_k | e_{1:k}) P (e_{k+1:t} | X_k)$ // 使用条件独立性
$ = \alpha f_{1:k} × b_{k+1:t}$
结果代表 $\alpha *$ 前向消息 点乘 后向消息。
前向消息计算方法是通过从1到k的前向滤波过程,而后向消息的计算需要从时刻t到k+1进行反向递归。
$P(e_{k+1:t} | X_k) = \sum_{x_{k+1}} P(e_{k+1:t} | X_k, x_{k+1})P(X_{k+1} | X_k)$
$ = \sum_{x_{k+1}} P (e_{k+1:t} | x_{k+1}) P (x_{k+1} | X_k)$
$ = \sum_{x_{k+1}}P(e_{k+1} | x_{k+1})P(e_{k+2:t} | x_{k+1})P(x_{k+1} | X_k)$
隐马尔可夫模型HMM
卡尔曼滤波器
使用观测到的离散量来估计连续变量的规律,使用隐马尔可夫模型来建模。
使用合适的条件概率密度来表示转移模型和传感器模型;
使用线性高斯分布,意味着下一状态$X_{t+1}$必须是当前状态$X_t$ 的线性函数,并加上一个高斯噪声$\sigma$。
$$X_{t+1} = \alpha X_t + \sigma$$
提炼为线性高斯转移模型为:
$$P(X_{t+ \gamma} = x_{t+\gamma}|X_t = x_t, X’_t = x’_t) = N (x_t + x’t \gamma, \sigma^2)(x{t+\gamma})$$
动态贝叶斯网络DBN
每一个隐马尔可夫模型都可以表示为只有一个状态变量和一个证据变量的动态贝叶斯网络。