隐马尔可夫链介绍

基本概念

隐马尔可夫链模型是关于时序的概率模型,描述有一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再有各个状态随机生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态序列,称为状态序列;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。序列的每个位置又可以看做是一个时刻1

隐马尔可夫链模型由3个概率构成,分别是:

  1. 初始概率分布
  2. 状态转移概率分布
  3. 观测概率分布

例子

假设有4个盒子,每个盒子装有红白两种颜色的球,盒子中的红白球数见下表:

盒子 1 2 3 4
白球数 5 3 6 8
红球数 5 7 4 2

按照下面的方法抽球,产生一个球的颜色的观测序列:

  • 开始,从4个盒子中随机选择1个盒子,从这个盒子中随机抽出1个球,记录颜色并放回;
  • 然后,从当前盒子随机转移到下一个盒子,规则是:如果当前盒子是1,那么下一个盒子一定是盒子2;如果当前盒子是盒子2或3,那么分别以概率0.4和0.6转移到左边或者右边盒子;如果当前盒子是盒子4,那么各以0.5的概率停留在盒子4或者转移到盒子3;
  • 确定转移盒子后,再从这个合租里随机抽出一个球,记录其颜色,放回;
  • 如此下去,重复进行5次,得到一个球的颜色的观测序列:

O=(红,红,白,白,红)

在这个过程中,观察者只能观察到球的颜色,观测不动球是从哪个盒子取出的,即观测不动盒子的序列。

在这个例子中有两个随机序列,一个是盒子的序列(状态序列),一个是球的颜色序列(观测序列)。前者是隐藏的,只有后者是可观测的。这是一个典型的隐马尔可夫链的例子。根据所给条件,可以明确状态集合、观测集合、序列长度以及模型的三要素。

盒子对应的状态,状态集合是:

Q={盒子1,盒子2,盒子3,盒子4}, N=4

球的颜色对应的观测,观测集合是:

V={红, 白}, M=2

状态序列和观测序列的长度T=5, 初始概率分布为:

\pi = (0.25,0.25,0.25,0.25)^T

状态转移概率分布为:

A = \left[ \begin{matrix} 0 & 1 & 0 & 0\\ 0.4 & 0 & 0.6 & 0 \\ 0 & 0.4 & 0 & 0.6 \\ 0 & 0 & 0.5 & 0.5 \end{matrix} \right]

观测概率矩阵:

B = \left [ \begin{matrix} 0.5 & 0.5 \\ 0.3 & 0.7 \\ 0.6 & 0.4 \\ 0.8 & 0.2 \end{matrix} \right]

模型的描述

Q是所有可能的状态集合,V是所有可能的观测集合:

Q= {q_1,q_2, \cdots, q_N} , V={v_1, v_2, \cdots, v_M}

其中N是可能的状态数,M是可能的观测数。
I是长度为T的状态序列,O是长度为T的观测序列:

I = (i_1, i_2, \cdots, i_T) , O = (o_1, o_2, \cdots, o_3)

A是状态转移矩阵:

A = [a_{ij}]_{N \times N}

其中

a_{ij} = P(i_{t+1} = q_j | i_t = q_i), i,j= 1,2,\cdots,N

是在时刻t处于状态q_i的条件下在时刻t+1转移到状态q_j的概率。

B是观测概率矩阵:

B=[ b_j(k) ]_{N \times M}

其中,

b_j(k) = P(o_t = v_t | 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的概率。由此已经介绍完了隐马尔可夫链的三要素即:

\lambda = (A, B, \pi)

我们再回到例子中,首先要确定从哪个盒子中抽取球,选择盒子的概率即为初始概率分布\pi。选择好盒子以后,抽取球就得到时序为t=1q_1状态,查看到这个球的颜色,就是得到了观测态o1,接着需要选择第二个盒子就是状态转移,所有的状态转移概率,就构成了状态转移概率矩阵。

两个基本假设

从定义可以看出,隐马尔可夫链做了两个基本假设:
1. 齐次马尔可夫性假设,即假设隐藏的马尔可夫链在任意时刻的状态只依赖与前一个时刻的状态,与其他时刻的状态及观测态无关,也与时刻无关。

P(i_t|i_{t-1},o_{t-1},\cdots,i_1, o_1) = P(i_t|i_{t-1})

  1. 观测独立性假设,即假设任何时刻的观测只依赖于改时刻的马尔可夫链的状态,与其他观测及状态无关:

P(o_t|i_T,o_T,i_{T-1},o_{T-1}, \cdots, i_{t+1},o_{t+1},\cdots, i_1, o_1) = P(o_t|i_t)

三个基本问题

隐马尔可夫链模型有3个基本问题:
1. 概率计算问题
给定模型\lambda=(A,B,\pi)和观测序列O=(o_1,O_2, \cdots,o_T,计算在模型\lambda下观测序列O的出现概率P(O|\lambda)
2. 学习问题
已知观测序列O,估计模型\lambda参数,使得该模型在观测序列概率P(O|\lambda)最大。即用极大似然估计的方法估计参数。
3. 预测问题
也成为解码问题。已知模型\lambda和观测序列O,求对给定观测序列的条件概率P(I|O)最大的状态序列I。即给定观测序列求最有可能的状态序列。

参考文献


  1. 李航.统计学习方法(第2版)[M].北京:清华大学出版社,2019:193-197 ↩︎
关注机器学习和算法的码农,喜欢编程和读书
文章已创建 66

一个回复在 “隐马尔可夫链介绍

发表评论

电子邮件地址不会被公开。

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部