hmm 隐马尔可夫模型讲解

目录

讨论:什么样的问题需要HMM模型

一、预备知识

1.马尔科夫性

2.马尔科夫链

二、隐马尔可夫模型

1.两个假设

2.三个要素

3.隐马尔可夫的联合概率分布

4.隐马尔可夫定义

5.隐马尔可夫的应用


声明:本文参考自https://zhuanlan.zhihu.com/p/111899116

仅用于学习

隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。

什么样的问题需要HMM模型?

首先我们来看看什么样的问题解决可以用HMM模型。

使用HMM模型时我们的问题一般有这两个特征:

1)我们的问题是基于序列的,比如时间序列,或者状态序列。

2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。

一、预备知识

1.马尔科夫性

在某个时刻  的随机变量  与前一个时刻的随机变量  之间有条件分布  , 如果  只依赖于  ,而不是依赖于过去的随机变量  ,这一性质称为马尔可夫性,即:

                                        

马尔可夫性,可以通俗的理解为:现在决定未来。

           

2.马尔科夫链

具有马尔可夫性的随机序列

称为马尔可夫过程 (Markov process ),或称马尔可夫链 (Markov process ).

 3.计算马尔可夫链在时刻t的状态分布

马尔可夫链  在时刻  的状态分市,可以由在时刻  的状态分布以及转移概率分布  决定

则:

即:

以游戏“三仙归洞”魔术举例:

   

 

二、隐马尔可夫模型

1.两个假设

1)观测独立性假设:当前时刻观测值只与当前时刻状态值有关

2)齐马尔科夫性:当前时刻状态只与前一时刻状态有关

 (有向图模型)

2.三个要素

1)状态转移矩阵

2)观测概率矩阵(发射矩阵)

3)初始状态矩阵

3.隐马尔可夫的联合概率分布

4.隐马尔可夫定义

5.隐马尔可夫的应用

1.概率计算问题(识别问题):

 

举一个例子: 

 

 

 

此处请学习EM算法,博主不多讨论。

3.预测算法

1)维特比算法寻找最优路径:

 维特比算法原理:

维特比算法就是求所有观测序列中的最优,如下图所示,我们要求从S到E的最优序列,中间有3个时刻,每个时刻都有对应的不同观察的概率,下图中每个时刻不同的观测标签有3个。

     

 求所有路径中最优路径,最容易想到的就是暴力解法,直接把所有路径全部计算出来,然后找出最优的。这方法理论上是可行,但当序列很长时,时间复杂夫很高。而且进行了大量的重复计算,viterbi算法就是用动态规划的方法就减少这些重复计算。

 每次只需要保存到当前位置最优路径,之后循环向后走。到结束时,从最后一个时刻的最优值回溯到开始位置,回溯完成后,这个从开始到结束的路径就是最优的。

viterbi算法是每次记录到当前时刻,每个观察标签的最优序列,如下图,假设在t时刻已经保存了从0到t时刻的最优路径,那么t+1时刻只需要计算从t到t+1的最优就可以了,图中红箭头表示从t时刻到t+1时刻,观测标签为1,2,3的最优。

              

 

求例1的最优状态序列。

先求t=1,t=2时。

 接着求 t=3 时,

 例1的状态路径栅栏图。

 穷举例1的状态路径

 

我们看一下维特比算法的性能,从时间复杂度来看:

(1)穷举法:n个状态m次观测共有n的m次方条路径

例子:3个状态5次观测,即3*3*3*3*3

(2)维特比算法的路径次数m*n*n

例子:维特比算法的路径次数5*3*3。

即数据量大时,维特比算法效果明显,可以降到线性计算量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值