隐马尔科夫模型的组成_solityl模型

隐马尔科夫模型的组成_solityl模型隐马尔科夫模型基础_隐马尔可夫模型

  1. ​引言

      隐马尔可夫模型(Hidden Markov model, HMM)是用于序列标注的概率图模型,描述一个隐藏的马尔科夫链生成不可观测的状态序列,再由每个状态生成一个观测而产生一个观测序列的过程,是一个生成模型。隐马尔可夫模型在自然语言处理、语音识别、模式识别等领域都应用广泛。在自然语言处理中,基于字标注的分词、词性标注、句法分析、命名实体识别等领域都可以应用隐马尔可夫模型。

        虽然现在深度学习大行其道,HMM(在训练数据充足的情况下)也不如条件随机场(Conditional Random Field,CRF)强大,但是HMM依然是经典的统计分析模型,HMM包含的一些基本原理和概念,是学习其他算法的基础,比如随机采样中的马尔可夫-蒙特卡洛方法(Markov Chain Monte Carlo)用马尔科夫链产生样本序列,CRF中的随机场即马尔可夫随机场。因此,接下去我们简单的学习一下隐马尔科夫模型。

2.  隐马尔科夫模型的框架

       隐马尔可夫模型的基础内容其实非常简单,总结起来只需要记住“1、2、3”,即1个元组,2个假设,3个问题。

2.1 一个元组

        1个元组就是隐马尔可夫模型的参数元组,即组成隐马尔科夫模型的要素。一般来说是一个三元组  或者一个五元组  。五元组比三元组多了一个可能的状态集合Q和可能的观测集合V。Q和V是模型预设而不需要训练的参数(可认为是两个超参数),A,B,  是隐马尔可夫模型需要训练的参数。

        A表示状态转移概率矩阵。假设可能的状态集合Q总共有N个状态,则A是一个N*N的方阵,即A=[a_{ij}]_{N\times N}a_{ij}表示t时刻从状态i转移到t+1时刻状态j的概率:

  a_{ij}=P(i_{t+1}=q_j|i_t=q_i)

注意这里包含了一个隐含的约束,从状态i转移到所有状态(包括他自己)的概率和为1即\Sigma_{j=1}^Na_{ij}=1

        B表示符号发射概率(仿射概率)矩阵。假设可能的状态集合Q共N个状态,可能的观测集合总共由M个观测,则B是一个N*M的矩阵,即B=[b_j(k)]_{N\times M},其中b_j(k)表示t时刻从状态j生成观测k的概率:

  b_j(k)=P(o_t=v_k|i_t=q_j)

同样这里包含一个隐含约束条件\Sigma_{k=1}^Mb_j(k)=1

        \pi是初始状态概率分布向量,即在初始时刻(t=1)状态的概率分布\pi=(\pi_i),其中\pi_i=P(i_1=q_i)

2.2 两个假设

        三元组决定了隐马尔可夫模型,和A决定了如何从隐藏的马尔可夫链生成状态序列I,B决定了如何从状态序列生成观测序列O。在这个过程中隐马尔可夫模型做了两个基本假设:

1)齐次马尔可夫性假设。

     假设隐藏的马尔科夫链在时刻t的状态只依赖于其前一刻(t-1时刻)的状态而与其他时刻的状态及观测无关,也与时刻t无关:

  P(i_t|i_{t-1},o_{t-1},\cdots,i_1,o_1)=P(i_t|i_{t-1})

2)观测独立性假设。

     假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测以及状态无关:

  P(o_t|i_T,o_T,\cdots,i_{t+1},o_{t+1},i_t,i_{t-1},o_{t-1},\cdots,i_1,o_1)=P(o_t|i_t)

2.3 三个基本问题

        隐马尔科夫模型基于以上两个基本假设,生成一个长度为T的观测序列O=(o_1,o_2,\cdots,o_T)的过程如下:

       1)按照初始状态产生状态 i_1

       2)令t=1

       3)按照状态i_t的仿射概率分布生成观测o_t

       4)按照状态i_t的状态转移概率分布产生状态i_{t+1}

       5)令t=t+1,如果t小于T转到(3),否则终止;

隐马尔可夫模型的生成如下图所示:

<

今天的文章隐马尔科夫模型的组成_solityl模型分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/75856.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注