HMM隐马尔科夫模型

277 阅读2分钟

HMM隐马尔科夫模型(Hiden Maekov Model)

参考自李航《统计学习方法》第十章

定义

状态序列(state sequence):隐藏的马尔科夫链随机生成的状态的序列

观测序列(observation sequence):每个状态生成一个观测,而由此产生的观测的随机序列

隐马尔科夫模型是关于时序的概率模型,

描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,

再由各个状态生成一个观测从而产生观测随机序列的过程。

隐马尔科夫模型由初识概率分布、、状态转移概率分布、观测概率分布确定。

形式定义如下:

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

Q = {q_1,q_2,···,q_N}, V = {v_1,v_2,···,v_M},N是可能得状态数,M是可能得观测数。

状态转移:

I是长度为T的状态序列,O是对应的观测序列:

I = (i_1,i_2,···,i_r), O = (o_1,o_2,···,o_r)

A是状态转移概率矩阵:

A=[a_{ij}]_{N×N}

其中,a_{ij} = P(i_{t+1} = q_j | i_t = q_i), i=1,2,···,N; j = 1,2,···,N

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

生成观测

image.png

隐马尔科夫模型由初始状态概率向量π、状态转移概率矩阵A、观测矩阵B决定。

π和A决定状态序列,B决定观测序列。因此,HMM用三元符号表示,即:λ = (A, B, π)

A, B, π称为HMM的三要素。

image.png

HMM的三个基本问题

概率计算问题

给定模型 λ=(A,B,π)和观测序列O = (o_1,o_2,···,o_r),计算在模型λ下观测序列O出现的概率P(O|λ)。

  1. 直接计算法(概念可行计算不可行)

  2. 前向算法

image.png 3. 后向算法 image.png

学习算法

已知观测序列O = (o_1,o_2,···,o_r),估计模型λ=(A,B,π)参数,使得在该模型下观测序列概率P(O|λ)最大。用最大似然估计的方法估计参数。

  1. 监督学习方法

    假设已给训练数据包含S个长度相同的观测序列和对应的状态序列{(O_1,I_1)},……,(O_S,I_S),那么可以使用最大似然估计法来估计HMM的参数。

    1. 转移概率a_{ij}的估计

image.png

image.png

1.  观测概率b_j(k)的估计

   

image.png

1.  初始状态概率π_i的估计
    

image.png

  1. Baum-Welch算法

image.png > 这里EM算法暂不单独开展讲述。

image.png

预测问题

也叫解码问题。

已知模型 λ=(A,B,π)和观测序列O = (o_1,o_2,···,o_r),求给定观测序列条件概率P(I|O)最大的状态序列I = (i_1,i_2,···,i_r).即给定观测序列,求最有可能的对应的状态序列。

  1. 近似算法

image.png

  1. 维特比算法——动态规划

image.png