隐式马尔可夫链

1. 原理简述

隐式马尔可夫链,是对状态与观测序列之间关系的建模,其基于两个简单的假设:

  1. 当前状态只受前一个状态影响;
  2. 当前观测只受当前状态影响。

下图说明了这种关系:

隐式马尔可夫链 简化图

上图中,y1~y3是状态,x1~x3是观测序列。基于隐马假设,y2只受y1影响,y3只受y2影响,x1只受y1影响,x2只受y2影响…,如此类推。

隐马结构非常简单,从上图可以了解到,要想确定隐马模型,只需要确定三个矩阵即可,分别是描述初始状态的矩阵、描述从\(y_{i}\) 到\(y_{i+1}\) 状态转移矩阵,以及描述从\(y_{i}\) 到\(x_{i}\) 的矩阵。

以上三个矩阵,分别称为初始状态概率向量π,状态转移矩阵A,以及发射概率矩阵B,下面对其进行描述:

  • 假设y有N种可能的取值,则向量π=(π1,…,πN),0≤πi≤1, \(\sum_{i=1}^{N}{\pi _{i}} =1\) 是概率分布的参数向量,称为初始状态概率向量(向量就是行为1的矩阵);
  • 假设y有N种状态,则状态\(s_{i}\)到\(s_{j}\)可构成一个N*N的方阵,称为状态转移概率矩阵A,状态转移矩阵决定了\(y_{i}\) 到\(y_{i+1}\) 的转移概率;
  • 假设y有N种状态,观测序列x有M种可能的值,则状态与其对应的观测序列可构成N*M的矩阵,称为发射概率矩阵B。

有了以上三个矩阵,则可以确定隐式马尔可夫链了。

在进行中文分词中,我们一般用BEMS表示状态y,对应的字符集作为观测序列x(假设字符集为1000),则状态转移概率矩阵A为4*4的矩阵,而发射概率矩阵B大小为4*1000的矩阵。可见B是非常大的矩阵。

2.隐马模型训练

2.1初始状态概率向量估计π

初始状态概率向量估计,即统计y1的所有状态的概率。这里假设y1所有取值的频次记作向量c,则π中的每个元素πi取值为:\(\pi_{i}=\frac{c_{i}}{\sum_{i=1}^{N}c_{_{i}}}\)

发表评论

邮箱地址不会被公开。