隐马尔可夫模型:引言

隐马尔可夫模型

在马尔可夫模型中,每个状态代表了一个可观察的事件,因此,马尔可夫模型又称作可视马尔可夫模型(visible Markov model,VMM)。隐马尔可夫模型(HMM)中,模型所经过的状态序列未知,只知道状态的概率函数,即观察到的事件是状态的随机函数,因此,该模型是一个双重随机过程。其中,模型的状态转换过程是不可观察的(隐蔽的),可观察事件的随机过程是隐蔽状态转换过程的随机函数。

在这里插入图片描述

在这里插入图片描述

HMM模型可表示为一个五元组μ=(S,K,A,B,π)\mu = (S, K, \mathbf{A}, \mathbf{B}, \mathbf{\pi}),其中SS为状态的集合,KK为输出符号的集合,π\mathbf{\pi}A\mathbf{A}B\mathbf{B}分别表示初始状态的概率分布、状态转移概率和符号发射概率。有时也将其简记为三元组μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi})

  1. 模型中的状态数N=SN = |S|

  2. 每个状态可能输出的符号数M=KM = |K|

  3. 状态转移概率矩阵A={aij}\mathbf{A} = \{ a_{ij} \},其中

aij=P(qt=sjqt1=si)aij0j=1Naij=11i,jN(6-6)\begin{aligned} & a_{ij} = P(q_{t} = s_{j} | q_{t - 1} = s_{i}) \\ & a_{ij} \geq 0 \\ & \sum_{j = 1}^{N} a_{ij} = 1 \\ & 1 \leq i, j \leq N \\ \end{aligned} \tag {6-6}

  1. 从状态sjs_{j}观察到符号vkv_{k}的概率分布矩阵B={bj(k)}\mathbf{B} = \{ b_{j}(k) \},其中

bj(k)=P(Ot=vkqt=sj)bj(k)0k=1Mbj(k)=11jN, 1kM(6-7)\begin{aligned} & b_{j}(k) = P(O_{t} = v_{k} | q_{t} = s_{j}) \\ & b_{j}(k) \geq 0 \\ & \sum_{k = 1}^{M} b_{j}(k) = 1 \\ & 1 \leq j \leq N, \ 1 \leq k \leq M \\ \end{aligned} \tag {6-7}

观察符号的概率又称符号发射概率(symbol emission probability);

  1. 初始状态概率分布π={πi}\mathbf{\pi} = \{ \pi_{i} \},其中,

πi=P(q1=si)πi0i=1Nπi=11iN(6-8)\begin{aligned} & \pi_{i} = P(q_{1} = s_{i}) \\ & \pi_{i} \geq 0 \\ & \sum_{i = 1}^{N} \pi_{i} = 1 \\ & 1 \leq i \leq N \\ \end{aligned} \tag {6-8}

考虑潜在事件随机地生成表面事件,假设给定HMM模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),则观察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}可以由以下步骤产生:

  1. 根据初始状态的概率分布π\mathbf{\pi},选择一个初始状态q1=siq_{1} = s_{i}

  2. t=1t = 1

  3. 根据状态sis_{i}的输出概率分布bi(k)b_{i}(k)输出Ot=vkO_{t} = v_{k}

  4. 根据状态转移概率分布aija_{ij},将当前时刻tt的状态转移到新的状态qt+1=sjq_{t + 1} = s_{j}

  5. t=t+1t = t + 1,如果t<Tt \lt T,重复执行步骤(3)、(4),否则,结束算法。

HMM的三个基本问题:

  1. 估计问题:给定观察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}和模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),计算观察序列OO的概率,即P(Oμ)P( O | \mu)

  2. 序列问题:给定观察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T}和模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi}),选择在一定意义下“最优”的状态序列Q=q1q2qTQ = q_{1} q_{2} \cdots q_{T},使得该状态序列“最好地解释”观察序列;

  3. 训练问题(参数估计问题):给定一个观察序列O=O1O2OTO = O_{1} O_{2} \cdots O_{T},根据最大似然估计计算模型参数值,即计算使P(Oμ)P(O | \mu)最大时,模型μ=(A,B,π)\mu = (\mathbf{A}, \mathbf{B}, \mathbf{\pi})的参数。

三个基本问题可通过前后向算法及参数估计解决。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章