隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)

本文详细介绍了隐马尔科夫模型(HMM),包括其模型结构、概率模型、马尔科夫假设以及在序列数据建模中的应用。文章重点讲解了HMM的三个基本问题:评估观察序列概率、参数学习和预测问题,分别对应的前向后向算法、鲍姆-韦尔奇算法和维特比算法,并给出了这些算法的基本思想和实现流程。
摘要由CSDN通过智能技术生成

隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)

 概率图模型是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的变表是变量间的概率相关关系。根据边的性质不同,可以将概率图模型分为两类:一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网;另一类是使用无向图表示变量间的相关关系,称为无向图模型或马尔科夫网。

  隐马尔科夫模型(简称HMM)是结构最简单的动态贝叶斯网,是一种著名的有向图模型,主要用于时间序数据建模,在语音识别,自然语言处理,生物信息,模式识别中有着广泛的应用,虽说随着RNN和LSTM的崛起,HMM的地位有所下降,但很多时候依然是处理序列问题的好用的算法。

 

1、隐马尔科夫模型

  隐马尔科夫模型的图结构如下

  

  从上图中主要有两个信息:一是观测变量xi 仅仅与与之对应的状态变量yi 有关;二是当前的状态变量yi 仅仅与它的前一个状态变量yi-1 有关。

  隐马尔科夫模型是由初始概率分布,状态转移概率分布,以及观测概率分布确定的。设Q是所有可能的状态的集合,V是所有可能的观测的集合(注意:这里的状态集合和观测集合中的个数和序列的长度T是不一样的,每个时间端的状态和观测值都是依照概率生成的,也就意味着在一个序列里面会存在状态和观测值相同的情况)。具体集合表达式如下,其中N是可能的状态数,M是可能的观测数:

  

  假设此时存在一个长度为T的序列,I为其状态序列,O为其观测序列(在HMM模型中每个序列都会包含状态序列和观测序列),序列的表达式如下:

  

  在这里我们引入三组参数来描述我们的模型:

  状态转移概率矩阵,,状态转移概率矩阵A的表达式如下(矩阵的维度和状态集合的个数是一样的

  

  其中aij 描述的是在t 时刻从状态qi 转移到t+1 时刻的状态qj 的概率,其条件概率表达式如下

  

  观测概率矩阵,观测概率矩阵B的表达式如下(矩阵的行数和状态集合的个数相等,列数和观测集合的个数相等

  

  其中bj(k) 描述的是在t 时刻处于状态qj 的条件下生成观测值vk 的概率(在某一时刻下,从状态输出观测值的可能性有k种),其表达式如下

  

  初始状态概率,初始状态概率π 的表达式如下(整个模型的入口是从确定状态i开始的,因此需要初始化该值

   

   

  其中π就是在t = 1 时刻处于状态qi 的概率

  给出了上述三个参数之后,隐马尔科夫模型λ 就可以用它们来表示

  

  在隐马尔科夫模型中作出了两个假设来简化模型:

  1)齐次马尔科夫性假设,即假设隐藏的马尔科夫链在任意时刻t 的状态只和前一时刻状态有关,与其他时刻的状态无关(而在深度模型中都会假设和前面多个时刻的状态有关,如LSTM;或者和之前的所有状态相关,如RNN。事实上很多应用场景中都不止是和前一个状态相关),这也就简化了模型的复杂度,因此我们可以获得如下的表达式

  

  2)观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测和状态无关,因此可以获得如下表达式

  

  结合上面两个假设,我们可以将我们的模型中所有变量的联合概率分布给出,这就是所谓的 “马尔科夫链”

  

  当确定了模型的三个参数后,我们可以按照如下规则生成观测值序列

  输入的是HMM的模型λ=(ABπ),观测序列的长度T

  输出是观测序列O={ o1o2..oT}

  生成的过程如下:

  1)根据初始状态概率分布π,生成隐藏状态i1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值