Advertisement

隐马尔可夫模型

阅读量:

一、基本思想

隐马尔科夫模型遵循时序的概率分布Π,A,B ,由初始状态概率向量Π、状态转移概率矩阵A以及观测概率矩阵B组成。它假设当前状态仅依赖于前一时刻的状态(马尔可夫性质),并且假设观测结果仅依赖于当前状态

  1. 齐次马尔可夫性质假定:当前状态仅由前一状态决定
  2. 观测独立性假定:观测仅依赖当前状态

隐马尔科夫模型主要用来解决三个问题:

  1. 概率计算问题 :给定模型λ=(Π,A,B)和观察序列O,求在模型λ下观测序列O出现的概率P(O|λ)
  2. 学习问题 :已知观察序列O,求模型λ的三个参数 ,使得P(O|λ)最大
  3. 预测(解码)问题 :给定模型λ=(Π,A,B)和观察序列O,求在给定观察序列O的基础上,最有可能对应的状态序列I,即P(I|O)

二、算法流程

1. 概率计算问题

1)前向算法

图来源《统计学习方法》

其中,在时间步t时生成观测序列\{o_1, o_2, o_3, \dots, o_t\}且处于状态i的概率即为前向概率\alpha_t(i)

公式 10.15 描述了在给定状态下观测序列为 {o₁} 的联合概率。
其中方括号中的内容表明,在状态 i 下观测序列为 {o₁, o₂, o₃, ..., o_t} 的联合概率,并将其与 b_i(o_{t+1}) 结合使用以获得在状态 i 下观测序列为 {o₁, o₂, o₃, ..., o_{t+1}} 的联合概率。
公式 10.17 表明通过将所有可能的状态 i 与其对应的观测序列 {o₁, o₂, o₃, ..., o_T} 的联合概率进行求和运算可以得到观测序列 O 在模型 λ 下出现的概率 P(O | λ)。

2)后向算法

图来源《统计学习方法》

其中后向概率\beta_t(i)表示t+1时刻到T时刻产生观察序列o_{t+1},o_{t+2},o_{t+3}...o_T且t时刻的状态为i的概率。
后向算法的思路与前向算法的思路是相似的,只不过前向算法是从第一个观察状态开始往后算,后向算法是从最后一个观察状态开始往前算。
区别:

前向算法
后向算法

2. 学习问题

Baum-Welch算法(EM算法)

  1. EM算法的E步:求Q函数
    累加对数似然函数logP(O,I|λ)

  2. EM算法的M步:极大化Q函数
    通过拉格朗日乘子法求参数A,B,Π

  3. 不断迭代,最后得到满足终止条件的的三个参数A,B,Π

3. 预测问题

维特比算法

用动态规划求最优路径(一条路径对应一个状态序列)

图来源《统计学习方法》

其中\delta_t(i) denotes the joint probability at time step t for an observation sequence o_1, o_2, \dots, o_t and state i, while \varphi_t(i) stores the state with the highest probability at time step t−1.

三、应用实现

维特比算法实现

给定矩阵A=\begin{bmatrix}0.5& & & & & & &\cdots\end{bmatrix}等信息下

复制代码

全部评论 (0)

还没有任何评论哟~