HMM隐马尔可夫模型,你能详细解释一下吗?
摘要:隐马尔可夫模型(Hidden Markov Model, HMM)是可用于标注问题的模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。马尔可夫链不懂的可以把本科的《概率论与数理统计》找回来看一下,并不难,就是离散状态之间的转
隐马尔可夫模型(Hidden Markov Model, HMM)是可用于标注问题的模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。马尔可夫链不懂的可以把本科的《概率论与数理统计》找回来看一下,并不难,就是离散状态之间的转换。下面直接定义基本概念,为后面的算法做准备。
基本概念
变量定义
HMM各个时期会处于各种状态,设$Q$是所有可能状态的集合;每个状态可以产生各种观测,设$V$是所有可能观测的集合。$Q,V$的定义如下:
$Q=\{q_1,q_2,\dots, q_N\},\;\;V=\{v_1,v_2,\dots,v_M\}$
其中$N$是可能的状态数,$M$是可能的观测数。注意,这里的状态和观测不一定是数字,也可以是各种具体的对象。
然后定义$S$为长度为$T$的模型状态序列,定义$O$为对应的观测序列。
$S=(s_1,s_2,\dots,s_T),\;\;O=(o_1,o_2,\dots,o_T)$
这两个序列都是整数列表,其中每个整数索引对应的状态和观测。比如:$q_{s_2}$表示模型在时刻2时的状态,$v_{o_5}$表示模型在时刻5时的观测,而$s_2,o_5$并不代表那时模型的状态和观测本身(这里先说清楚,不然后面容易混淆)。
那么这些状态是如何初始化并相互转换,观测又是如何进行的呢?下面定义三个分布:
1、初始概率分布。时间开始时,各个状态出现的概率。定义为向量$\pi$:
$\begin{aligned}&\pi = [\pi_1,\pi_2,\dots,\pi_N]^T\\ &\pi_i=P(s_1=i),\;\;i = 1,2,\dots,N \end{aligned}$
2、状态转移分布。上一时刻到下一时刻不同状态之间转换的概率。定义为矩阵$A$:
$\begin{aligned}&A = [a_{ij}]_{N\times N}\\& a_{ij} = P(s_{t+1}=j|s_t=i)\end{aligned}$
3、观测概率分布。定义某个状态下各种观测出现的概率。定义为矩阵$B$:
$\begin{aligned}&B = [b_{ij}]_{N\times M}\\& b_{ij} = P(o_t=j|s_t=i) \end{aligned}$
隐马尔可夫模型由以上三个分布决定,因此可以用一个三元符号表示:
$\lambda = (A,B,\pi)$
HMM基本假设
从定义可知,HMM做了两个基本假设:
1、齐次马尔可夫性假设。任意时刻的状态只依赖于前一时刻的状态,与其它时刻的状态及观测无关:
$P(s_t|s_{t-1},o_{t-1},\dots,s_1,o_1) = P(s_t|s_{t-1})$
注意,以上条件概率中将除$s_{t-1}$以外的条件去掉,是因为$s_{t-1}$已知,并且没有之后时刻的状态或观测作为条件。如果$s_{t-1}$未知,则可以去掉$t$时刻之前的条件中,离$t$最近的$t^-$之前的状态和观测(包含$t^-$时刻的观测)。如:
$P(s_t|s_{t-2},o_{t-2},s_{t-3},s_{t-4}) = P(s_t|s_{t-2})$
另外,假如有之后时刻的状态,计算的概率就是后验概率了,那么之后时刻的状态作为条件来说也不能去掉。但是可以去掉$t$时刻之后的条件中,离$t$最近的$t^+$之后的状态和观测(包含$t^+$时刻的观测)如:
$\begin{gather}P(s_t|s_{t-2},s_{t-1},o_{t-1},o_{t+1},s_{t+2},o_{t+2},o_{t+3}) = P(s_t|s_{t-1},o_{t+1},s_{t+2})\label{}\end{gather}$
总之,就是近的状态已知,远的状态对于计算条件概率来说就没有意义了。
2、观测独立性假设。任意时刻的观测只依赖于此刻的状态,与其它无关:
$P(o_t|s_t,o_{t-1},\dots,s_1,o_1) = P(o_t|s_t)$
这个条件概率和上面也一样,也是近的状态已知,远处的状态作为条件就无意义。
以上两个假设和马尔可夫链的“链”相符,状态条件的已知就好像把链条对应结点的外侧链条砍断(靠近$s_t$的是内侧),我觉得把这种性质称作“就近原则”也不错(留意后面很多计算都用到)。下面是$(1)$式的示意图:
其中黄色结点表示已知条件,圈在虚线中的表示会影响$(1)$式概率值的状态与观测。
