隐马尔可夫模型(Hidden Markov Model)



隐马尔可夫模型(Hidden Markov Model)
1、简介
隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为快速、有效的方法。
2、马尔可夫假设
随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,即P(St|S1,S2,S3,…,St-1) = P(St|St-1)。
3、马尔可夫链

  符合马尔可夫假设的随机过程称为马尔可夫过程,也称为马尔可夫链。
在这个马尔可夫链中,四个圈表示四个状态,每条边表示一个可能的状态转换,边上的权值是转移概率。隐含马尔可夫链是上述马尔可夫链的一个扩展:
一时刻t的状态St是不可见的。所以观察者没法通过观察到一个状态序列S1,S2,S3,…,ST来推测转移概率等参数。
但是隐含马尔可夫模型在每个时刻t会输出一个符号Ot,而且Ot和St相关且仅和St相关。这称为独立输出假设。隐含马尔可夫模型的结构如下图,其中隐含的状态S1,S2,S3,…是一个典型的马尔可夫链。鲍姆把这种模型称为“隐含”马尔可夫模型。

4、隐含马尔可夫模型的三个基本问题

(1)给定一个模型,如何计算某个特定的输出序列的概率?

  Forward-Backward算法
 学习问题: Baum-Welch算法(向前向后算法) [1] 

扫描二维码关注公众号,回复: 1437025 查看本文章

(2)给定一个模型和某个特定的输出序列,如何找到最可能产生这个输出的状态序列?

  维特比算法
 解码问题: Viterbi算法

(3)给定足够量的观测数据,如何估计隐含马尔可夫模型的参数?
评估问题: 前向算法

      训练隐含马尔可夫模型更实用的方式是仅仅通过大量观测到的信号O1,O2,O3,….就能推算模型参数的P(St|St-1)和P(Ot|St)的方法(无监督训练算法),其中主要使用鲍姆-韦尔奇算法。

5、隐含马尔可夫模型的五元组


HMM是一个五元组(O , Q , O0,A , B):

  O:{o1,o2,…,ot}是状态集合,也称为观测序列。

  Q:{q1,q2,…,qv}是一组输出结果,也称为隐序列。

  Aij = P(qj|qi):转移概率分布

  Bij = P(oj|qi):发射概率分布

  O0是初始状态,有些还有终止状态。

猜你喜欢

转载自blog.csdn.net/btujack/article/details/79843659