隐马尔科夫模型
隐马尔科夫模型定义
隐马尔可夫模型 (hidden Markov model,HMM)
是关于 时序 的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列 (state sequence)
;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列 (observation sequence)
。序列的每一个位置又可以看作是一个时刻。
隐马尔科夫模型的数学表达
设 $ Q $ 是所有可能的状态的集合,$ V $ 是所有可能的观测的集合。
$$ Q=\lbrace q_1,q_2,\cdots,q_N \rbrace, V=\lbrace v_1,v_2,\cdots,v_M\rbrace $$
其中,$ N $ 是可能的状态数,$ M $ 是可能的观测数。状态 $ q $ 是不可见的,观测 $ v $ 是可见的。
$I$ 是长度为 $T$ 的状态序列,$O$ 是对应的观测序列。
$$ I=\lbrace i_1,i_2,\cdots,i_T\rbrace,O=\lbrace o_1,o_2,\cdots,o_T\rbrace $$
$A$ 为状态转移概率矩阵:
$$ A = \begin{bmatrix} a_{ij} \end{bmatrix}_{N \times N} $$
其中:
$ a_{ij} = P(i_{t+1}=q_j|i_t=q_i),i=1,2,\cdots,N;j=1,2,\cdots,N $ 是在时刻 $t$ 处于状态 $q_i$ 的条件下在时刻 $t$+1 转移到状态 $q_j$ 的概率。
B是观测概率矩阵:
$$ B = \begin{bmatrix} b_j(k) \end{bmatrix}_{N \times M} $$
其中,
$ b_j(k)=P(o_t=v_k|i_t=q_j),k=1,2,\cdots,M;j=1,2,\cdots,N $ 是在时刻t处于状态 $q_j$ 的条件下生成观测 $v_k$ 的概率(也就是所谓的“发射概率”),在其它资料中,常见到的生成概率与发射概率其实是一个概念。
$\pi$ 是初始状态概率向量:$\pi=(\pi_i)$
其中,$ \pi_i=P(i_1=q_i),i=1,2,\cdots,N $ 是 $t$=1时刻处于状态 $q_i$ 的概率。
隐马尔可夫模型由初始状态概率向量 $π$、状态转移概率矩阵 $A$ 和观测概率矩阵 $B$ 决定。$π$ 和 $A$ 决定状态序列,$B$ 决定观测序列。因此,隐马尔可夫模型可以用三元符号表示,即
$$ \lambda=(A,B,\pi) $$
$A,B,\pi$ 称为隐马尔可夫模型的三要素。如果加上一个具体的状态集合 $Q$ 和观测序列 $V$,构成了 HMM
的五元组,这也是隐马尔科夫模型的所有组成部分。