隐马尔可夫模型属于生成模型,它在语音识别、自然语言处理、生物信息、模式识别领域有广泛的应用。隐马尔可夫模型可以用三句话概括,一个模型、两个假设、三个问题。解决了这些问题,隐马尔可夫模型也就掌握了。

一、一个模型

1.1 模型定义

先引入一些有关HMM的符号:

观测变量符号为O,O1,O2,O3.....为观测序列,它的取值集合为V={v1,v2,v3....}

状态变量符号为I,i1,i2,i3....为状态序列,它的取值集合为Q={q1,q2,q3....}

A为状态转移矩阵,A=[a_{ij}]_{N*N}  

                                  a_{ij}=P(i_{t+1}=q_{j}|i_{t}=q_{i}) i=1,2,3,4...N;j=1,2,3,4...N

B为发射矩阵(它的英文是Emission Matrix,李航老师的书中为观测矩阵,但都是一个东西)

                                B=[b_{j}(k)]_{N*M}

                                 b_{j}(k)=P(o_{t}=v_{k}|i_{t}=q_{j}) k=1,2,3...M;j=1,2,3,4...N

Π=Π_{i}Π是初始状态概率向量:Π=Π(Πi),其中,Πi=P(i1=qi),i=1,2,3,...,N

隐马尔可夫模型由初始状态概率向量Π、状态转移矩阵A和发射矩阵B决定,Π和A为状态序列,B为观测序列。因此隐马尔可夫模型可表示为:

                                λ=(A,B,Π)决定。

1.2 模型例子

下面以一个例子来说明上述的概念:

以股市的例子来说明上述的(A,B,Π),首先股市有三个状态,牛市,熊市,bear,分别用状态变量1,2,3表示,他们就是状态变量。下面的A表示的是状态转移矩阵,以第一行第一列的元素为例,表示的是这个时候处于牛市,下一个状态也处在牛市的概率。

我们知道股市会涨,跌,维持不变,这个状态就是观测变量,处于不同状态下,股市的观测变量是不一样的,例如,处于牛市,股票上升的概率就会大一点,,处于熊市,股票下降的概率会大一点。而B矩阵就是给出了处于不同状态下,观测到股票上涨,股票下降,股票不变的概率。以第一行第一列为例,表示的是处于牛市,观测到上升的概率。

二、二个假设

1>齐次性马尔可夫假设,假设隐藏的马尔可夫链在任意时刻t的状态只依赖于其前一个时刻的状态,与其他时刻的状态及观测状态无关,也与时刻t无关。

                                           P(i_{t}|i_{t-1},o_{t-1},...,i_{1},t_{1})=P(i_{t}|i_{t-1})

2>观测性独立假设,假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。

                                            P(o_{t}|i_{T},o_{T},...,i_{1},o_{1})=P(o_{t},i_{t})

三、三个问题

HMM算法主要解决以下三个问题:

1>概率计算问题:给定模型λ=(A,B,Π),计算在λ下观测序列O出现的概率P(O|λ)

2>学习问题:对于给定的观测序列O,用极大似然估计法估计模型的λ,使得该模型下观测概率P(O|λ)最大

3>预测问题:已知λ和观测序列O,求对给定的观测序列条件概率P(I|O)的最大状态序列I=(i1,i2,...,iT)

3.1 概率计算问题

对于第一个问题,先介绍直接求解的方法,说明直接求解方法比较困难。然后介绍前向算法和后向算法。

对于变量数少,我们可以直接直接求解,如下:

下面给出更一般的状态,

上面的方法用来计算的复杂度比较高,为O(N^T)所以才有了下面的前向算法和反向算法。

首先介绍前向算法

下面是李航老师书中的例子,供大家理解。

下面是后向算法的推导:

3.2 学习问题

下面是第二个问题,对于给定的观测序列O,用极大似然估计法估计模型的λ,使得该模型下观测概率P(O|λ)最大。求解λ最大的值时,含有隐变量。关于隐变量求极大似然估计法,要用EM算法。EM算法的推导详见这里这里

3.3 预测问题

下面就是第三个问题:已知λ和观测序列O,求对给定的观测序列条件概率P(I|O)的最大状态序列I=(i1,i2,...,iT)

采用维特比算法,主要用动态规划解决问题。这里就不说了。

参考资料:1>李航《统计机器学习方法》

                    2>机器学习-白板推到系列-隐马尔可夫模型

                    3>徐亦达机器学习:Hidden Markov Model 隐马尔可夫模型(HMM)【2015年版-全集】

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐