0


【自然语言处理】— 隐马尔可夫模型详解、例解

【自然语言处理】— 隐马尔可夫模型

【自然语言处理】— 隐马尔可夫模型

引例

假设有三种不同的骰子,分别是立方体,正四面体,正八面体,分别有1-6,1-4,1-8,分别记作D6、D4、D8。每个面出现的概率分别是1/6,1/4,1/8。
在这里插入图片描述

在不观察的情况下,从三个骰子中随机选一个,进行抛掷,结果可能是1-8中的任意数字。依照这种方式,随机选择骰子,重复抛掷,可以得到一串数字,这串数字对我们是可见的,并且直接记录下来了,因此将这串数字记作可见状态链
在这里插入图片描述
在抛掷的过程中,被我们随机选择的骰子编号也组成了一串序列,因为我们是随机选择的骰子,因此将这串序列称为隐含状态链
在这里插入图片描述
实验过程中产生了两个数据链,隐含状态链和可见状态链,隐马尔可夫模型=隐含状态链➕可见状态链
在这里插入图片描述

隐马尔可夫模型概念

隐马尔可夫模型(Hidden Markov Model),简称HMM,它是关于时序的概率模型,该模型包含随机生成的不可观测序列,该序列被称为状态序列,使用S表示,每个不可观测状态都会产生一个可观测的结果,这样会得到一个观测序列,使用O表示。

在这里插入图片描述

每个状态和时刻都会与一个时刻进行对应,如果有t个时刻,就产生了

      s 
     
    
      1 
     
    
   
     → 
    
    
    
      s 
     
    
      t 
     
    
   
     , 
    
    
    
      o 
     
    
      1 
     
    
   
     → 
    
    
    
      o 
     
    
      t 
     
    
   
  
    s_1→s_t,o_1→o_t 
   
  
s1​→st​,o1​→ot​,相当于一次一次掷骰子,t就代表第几次掷骰子

在这里插入图片描述

在HMM中,状态序列是隐藏的,无法被观测到,因此状态变量是一个隐变量,隐藏的状态序列是由一个马尔可夫链,随机生成的

隐马尔可夫模型的关键

在隐马尔可夫模型中, 包含了四个关键因素,分别是:

  1. 隐含状态
  2. 可见状态
  3. 隐含状态转换
  4. 可见状态输出

在这里插入图片描述

各个隐含状态之间会进行转换,存在着对应的转换概率

隐含状态会输出可见状态,隐含状态和可见状态之间有一个输出概率,不同隐含状态到可见状态的输出概率可能不同

例如,隐含状态D6输出可见状态1到6概率是

       1 
      
     
       6 
      
     
    
   
  
    \cfrac{1}{6} 
   
  
61​,隐含状态D4输出可见状态1到4概率是 
 
  
   
    
     
     
       1 
      
     
       4 
      
     
    
   
  
    \cfrac{1}{4} 
   
  
41​,

在这里插入图片描述

隐马尔可夫模型的数学表示

为了进一步讨论隐马尔可夫模型,需要使用数学符号来表示HMM,其中包括隐含状态

     Q 
    
   
  
    Q 
   
  
Q和观测结果 
 
  
   
   
     V 
    
   
  
    V 
   
  
V两个集合,状态转移概率矩阵 
 
  
   
   
     A 
    
   
  
    A 
   
  
A,观测概率矩阵 
 
  
   
   
     B 
    
   
  
    B 
   
  
B,初始状态概率向量 
 
  
   
   
     π 
    
   
  
    \pi 
   
  
π,三个概率矩阵。

隐含状态与观测结果

例如,隐含状态集合

     Q 
    
   
     = 
    
   
     { 
    
    
    
      q 
     
    
      1 
     
    
   
     , 
    
    
    
      q 
     
    
      2 
     
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
    
    
      q 
     
    
      n 
     
    
   
     } 
    
   
  
    Q = \{q_1,q_2,...,q_n\} 
   
  
Q={q1​,q2​,...,qn​}包括 
 
  
   
    
    
      q 
     
    
      1 
     
    
   
     到 
    
    
    
      q 
     
    
      n 
     
    
   
     n 
    
   
  
    q_1到q_n n 
   
  
q1​到qn​n种状态

观测结果集合

     V 
    
   
     = 
    
   
     { 
    
    
    
      v 
     
    
      1 
     
    
   
     , 
    
    
    
      v 
     
    
      2 
     
    
   
     , 
    
   
     . 
    
   
     . 
    
   
     . 
    
   
     , 
    
    
    
      v 
     
    
      m 
     
    
   
     } 
    
   
  
    V=\{v_1,v_2,...,v_m\} 
   
  
V={v1​,v2​,...,vm​}包括 
 
  
   
    
    
      v 
     
    
      1 
     
    
   
     到 
    
    
    
      v 
     
    
      m 
     
    
   
     m 
    
   
  
    v_1到v_m m 
   
  
v1​到vm​m种可能的结果

在掷骰子的案例中,

     n 
    
   
     = 
    
   
     3 
    
   
         
    
    
    
      q 
     
    
      1 
     
    
   
     , 
    
    
    
      q 
     
    
      2 
     
    
   
     , 
    
    
    
      q 
     
    
      3 
     
    
   
     对应 
    
    
    
      D 
     
    
      6 
     
    
   
     , 
    
    
    
      D 
     
    
      4 
     
    
   
     , 
    
    
    
      D 
     
    
      8 
     
    
   
  
    n=3\ \ \ q_1,q_2,q_3对应D_6,D_4,D_8 
   
  
n=3   q1​,q2​,q3​对应D6​,D4​,D8​

 
  
   
   
     m 
    
   
     = 
    
   
     8 
    
   
         
    
    
    
      v 
     
    
      1 
     
    
   
     到 
    
    
    
      v 
     
    
      8 
     
    
   
     对应数字 
    
   
     1 
    
   
     到 
    
   
     8 
    
   
  
    m=8 \ \ \ v_1到v_8对应数字1到8 
   
  
m=8   v1​到v8​对应数字1到8

在这里插入图片描述

状态转移矩阵

状态转移的概率矩阵

     A 
    
   
  
    A 
   
  
A是一个是一个 
 
  
   
   
     N 
    
   
     ∗ 
    
   
     N 
    
   
  
    N*N 
   
  
N∗N的矩阵

在这里插入图片描述

其中

      a 
     
     
     
       i 
      
     
       j 
      
     
    
   
  
    a_{ij} 
   
  
aij​代表了状态 
 
  
   
    
    
      q 
     
    
      i 
     
    
   
  
    q_i 
   
  
qi​转移到状态 
 
  
   
    
    
      q 
     
    
      j 
     
    
   
  
    q_j 
   
  
qj​的概率

在这里插入图片描述
具体地,

      a 
     
     
     
       i 
      
     
       j 
      
     
    
   
     等于在 
    
    
    
      s 
     
    
      t 
     
    
   
     = 
    
    
    
      q 
     
    
      i 
     
    
   
     的条件下, 
    
    
    
      s 
     
     
     
       t 
      
     
       + 
      
     
       1 
      
     
    
   
     = 
    
    
    
      q 
     
    
      j 
     
    
   
     的概率 
    
   
  
    a_{ij}等于在s_t = q_i的条件下,s_{t+1}=q_j的概率 
   
  
aij​等于在st​=qi​的条件下,st+1​=qj​的概率

在这里插入图片描述
例如,3个骰子,选择任意骰子的概率都是

       1 
      
     
       3 
      
     
    
   
  
    \cfrac{1}{3} 
   
  
31​,那么就得到了 
 
  
   
   
     3 
    
   
     ∗ 
    
   
     3 
    
   
  
    3*3 
   
  
3∗3的状态转移概率矩阵,其中的每个元素都是 
 
  
   
   
     0.33 
    
   
  
    0.33 
   
  
0.33,

在这里插入图片描述

观测概率矩阵

观测概率矩阵为

     B 
    
   
  
    B 
   
  
B,由于每一个状态 
 
  
   
   
     q 
    
   
  
    q 
   
  
q都可以输出一个观测结果 
 
  
   
   
     v 
    
   
  
    v 
   
  
v,因此B是一个 
 
  
   
   
     N 
    
   
     ∗ 
    
   
     M 
    
   
  
    N*M 
   
  
N∗M的矩阵

在这里插入图片描述
其中

      b 
     
    
      i 
     
    
   
     j 
    
   
  
    b_ij 
   
  
bi​j代表了在时刻 
 
  
   
   
     t 
    
   
  
    t 
   
  
t,状态 
 
  
   
    
    
      q 
     
    
      i 
     
    
   
  
    q_i 
   
  
qi​输出观测结果 
 
  
   
    
    
      v 
     
    
      j 
     
    
   
  
    v_j 
   
  
vj​的概率。

例如,在掷骰子时,根据三种骰子的输出,可以得到一个

     3 
    
   
     ∗ 
    
   
     8 
    
   
  
    3*8 
   
  
3∗8的概率矩阵,第一行对应六面骰子,输出1到6的概率是1/6,输出7和8的概率是0,而第二行和第三行,分别代表投掷四面骰子和八面骰子的输出1到8的概率

在这里插入图片描述

初始状态概率向量

初始状态的概率向量是

     π 
    
   
  
    \pi 
   
  
π,它是一个 
 
  
   
   
     N 
    
   
     ∗ 
    
   
     1 
    
   
  
    N*1 
   
  
N∗1的列向量, 
 
  
   
    
    
      π 
     
    
      i 
     
    
   
  
    \pi_i 
   
  
πi​代表在时刻 
 
  
   
   
     t 
    
   
     = 
    
   
     1 
    
   
  
    t=1 
   
  
t=1时,状态为 
 
  
   
    
    
      q 
     
    
      i 
     
    
   
  
    q_i 
   
  
qi​的概率,例如,掷骰子时,三种骰子的概率都是1/3

在这里插入图片描述

小结

     π 
    
   
     和 
    
   
     A 
    
   
  
    \pi和A 
   
  
π和A确定了隐藏的马尔可夫链,也就是如何生成不可观测的状态序列 
 
  
   
   
     S 
    
   
  
    S 
   
  
S, 
 
  
   
   
     B 
    
   
  
    B 
   
  
B确定了如何从隐藏状态产生观测状态序列 
 
  
   
   
     O 
    
   
  
    O 
   
  
O,隐马尔可夫模型由 
 
  
   
   
     A 
    
   
     、 
    
   
     B 
    
   
     、 
    
   
     π 
    
   
  
    A、B、\pi 
   
  
A、B、π共同决定,使用三元符号 
 
  
   
   
     λ 
    
   
     = 
    
   
     ( 
    
   
     A 
    
   
     , 
    
   
     B 
    
   
     , 
    
   
     π 
    
   
     ) 
    
   
  
    λ=(A,B,\pi) 
   
  
λ=(A,B,π)表示。

在这里插入图片描述

参考视频:什么是HMM隐马尔可夫模型,自然语言处理中的最基础算法之一_哔哩哔哩_bilibili


本文转载自: https://blog.csdn.net/weixin_56462041/article/details/133816129
版权归原作者 之墨_ 所有, 如有侵权,请联系我们删除。

“【自然语言处理】— 隐马尔可夫模型详解、例解”的评论:

还没有评论