隐马尔可夫模型(Hidden Markov Model,HMM)

1. 引言

隐马尔可夫模型是结构最简单的动态贝叶斯网络。是一种有向图模型,主要用于时序数据建模,在语音识别,自然语言处理(NLP),生物信息,模式识别等领域有广泛的应用。HMM是关于时序的概率模型,描述一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再有各个状态生成一个观测而产生观测随机序列的过程。

2. HMM变量

在这里插入图片描述
HMM中的变量可分为两组。第一组是状态变量 { y 1 , y 2 , y 3 , . . . , y n } \{y_1,y_2,y_3,...,y_n\} 其中 y i ϵ Y y_i\epsilon Y 表示第 i i 时刻的系统状态。通常这个状态是隐藏的,不可观测的,因此状态变量也称为隐变量。第二组是观测变量 { x 1 , x 2 , . . . , x n } \{x_1,x_2,...,x_n\} ,其中 x i ϵ X x_i\epsilon X 表示在第 i i 时刻的观测值,在HMM中,系统通常在多个状态 { s 1 , s 2 , . . . , s N } \{s_1,s_2,...,s_N\} 之间切换,因此状态变量 y i y_i 的取值范围 y y 称为状态空间通常是由N个可能取值的离散空间,观测变量可以是连续的,也可以是离散的。在这里假定观测变量 x x { a 1 , a 2 , . . . , a M } \{a_1,a_2,...,a_M\}

3. HMM的结构

箭头表示为变量间的依赖关系,在任一时刻观测变量的取值仅依赖于状态变量,即 x t x_t y t y_t 确定,与其他状态变量即观测变量无关。同时t时刻的状态 y t y_t 仅依赖于 t 1 t-1 时刻的状态 y t 1 y_{t-1} 以其他 t 2 t-2 之前状态无关。这就是所谓的马尔科夫链:即 系统下一时刻的状态仅有当前状态决定,不依赖于过往的任何状态,基于这种依赖关系,所有变量的联合分布概率为 P ( x 1 , y 1 , . . . , x n , y n ) = P ( y 1 ) P ( x 1 y 1 ) i = 2 n P ( y i y i 1 ) P ( x i y i ) P(x_1,y_1,...,x_n,y_n)=P(y_1)P(x_1|y_1)\prod_{i=2}^nP(y_i|y_{i-1})P(x_i|y_i)

4. HMM的参数

  • 状态转移概率:模型在各个状态间转移的概率,通常记为矩阵 A = [ a i j ] N × N A=[a_{ij}]_{N×N} 其中 a i j = P ( y t + 1 = s j y t = s i ) , i i , j N a_{ij}=P(y_{t+1}=s_j|y_t=s_i),i\leq i,j\leq N 表示在任意时刻t,到下一时刻t+1,即 s t s t + 1 s_t \rightarrow s_{t+1} 的概率。
  • 输出观测概率:模型根据当前状态获得各个观测值的概率,通常记为矩阵 B = [ b i j ] N × M B=[b_{ij}]_{N×M} 其中 b i j = P ( x t = o j y t = s i ) , 1 i N , 1 j M b_{ij}=P(x_t=o_j|y_t=s_i),1 \leq i\leq N,1 \leq j\leq M 表示在任意时刻t,若状态为 s i s_i 观测值为 o j o_j 被获取的概率。
  • 初始状态概率:模型在初始时刻各状态出现的概率,通常记为 π = { π 1 , π 2 . . . , π N } π=\{π_1,π_2...,π_N\} 其中 π i = P ( y i = s i ) , 1 i N π_i=P(y_i=s_i),1 \leq i\leq N 表示为模型初始状态为 s i s_i 的概率。
    通过以上的结构和参数就可以确定一个HMM

5. HMM的生成步骤

(1)设置t=1,并根据初始状态概率π选择初始状态 y 1 y_1
(2)根据状态 y t y_t 和输出观测概率B选择观测变量取值 x t x_t ;
(3)根据状态 y t y_t 和状态转移矩阵A转移模型状态,即确定 y t + 1 y_{t+1} ;
(4)若t<n,设置t=t+1,并转移到第二步,否则停止。

猜你喜欢

转载自blog.csdn.net/H_hei/article/details/84488945