隐马尔可夫模型 Hidden Markov Model/HMM¶
马尔可夫模型 MM¶
引入时间维度
和MDP的比较:
- 每个节点是\(X_t\)这样和时间有关的状态,类似数列
- 转移概率是\(P(X_{t+1} \mid X_t)\)
- 需要提供初始概率\(P(X_1)\)
- 暂时不考虑行动action
- 稳定性假设Stationary Assumption:在任意时间,转移函数总是相同的
和BN的比较:
- 条件独立性:假设 \(\text{Past} \perp \!\!\! \perp \text{Future} \mid \text{Present}\) (或者说当前状态只和上一状态有关。称为一阶马尔可夫性,和D分离有类似之处)
- 实际上就是一个可以无限扩展的BN
递推公式
这里的转移概率是已知的,所以可以通过数学方法写出通项
这其实也是合并两个节点的BN的变量消元法。
稳态分布 Staionary Distribution¶
对于大多数的链状MM,随着时间无限推移,最后的概率会趋于稳定,而且这个收敛的值和初始状态概率无关,只和转移概率有关
这种情况可以通过求解(不动点法)
得到最后收敛情况的概率分布
这和MDP中的策略迭代算法类似,策略迭代因为有确定的策略,贝尔曼方程里没有max项,变成了线性方程组,求解最后收敛的结果即可
BN采样中提到的Gibbs Sampling也是类似的方法。
Google推出的PageRank算法实际上就是构建了个马尔可夫模型,根据网页之间超链接的情况作为转移概率,计算出稳态分布的情况,作为网页排名的依据。
隐马尔可夫模型 HMM¶
对比MM:
- 没法直接观察到\(X_t\),只能观测与\(X_t\)有关的证据\(E_t\)
- 因此多了一个概率分布\(P(E_t \mid X_t)\),这个分布也是稳定的,在任意时间都相同
- 条件独立性增加:当前观测的结果只取决于当前的状态
- 条件独立性注意:证据之间无法保证独立,可以由D分离common cause+chain推理得到
总的来说,HMM的属性是:
- 无法确定\(X_t\),只能得到\(E_t\)
- 已知的概率信息:
- 初始概率\(P(X_0)\)
- 转移概率\(P(X_{t+1} \mid X_t)\)
- 观测概率\(P(E_t \mid X_t)\)
- 稳定性假设:在任意时间,
- 转移概率总是相同的
- 观测概率总是相同的
- 条件独立性:
- 当前状态只取决于上一状态
- 当前观测的结果只取决于当前的状态
下面先介绍两个基本的计算过程,HMM的前向算法和粒子滤波都是建立在这两个基本过程上的
时间流逝更新 Time Elapse Update¶
先考虑一个简单的MM,不包含证据
假设我们知道当前状态的概率分布\(P(X_t)\),想要知道下一状态的,只需要
这个结果很符合直觉,到达下一个状态\(X_{t+1}\),需要先经历所有可能的\(x_t\)
下面考虑HMM,方法其实也类似,只是多了个证据\(e_t\)作为条件
假设我们根据当前所有的证据(用\(e_{1:t}\)表示),有一个关于当前隐藏状态的推测/信念
推进一个时间步,则下一个根据当前所有证据,下一个状态的概率是
这个结果很符合直觉,到达下一个状态\(X_{t+1}\),需要先经历所有可能的\(x_t\),再通过转移概率移动
如果按照信念概率,写成
这个结果就像信念也跟着转移在传递,由\(B(X_t)\)推测下一个时间步的\(B'(X_{t+1})\)
观测更新 Observation Update¶
当获得下一个时间步的观测结果\(e_{t+1}\),可以更新推测的信念\(B'(X_{t+1})\)
也就是
这里是成比例,因为所有的\(x_{t+1}\)都有一项相同的因子\(P(e_{t+1} \mid e_{1:t})\),最后可以归一化消掉
所以成比例不影响结果
结合:前向算法¶
先根据已有的证据推测下一步隐藏变量的情况;然后进行新的观测,更新之前的推测。结合两个更新,就是前向算法