先介绍一下马尔科夫模型:html
马尔可夫模型(Markov Model)是一种统计模型,普遍应用在语音识别,词性自动标注,音字转换,几率文法等各个天然语言处理等应用领域。通过长期发展,尤为是在语音识别中的成功应用,使它成为一种通用的统计工具。算法
特征:有限视野、时间不变性工具
隐性马尔可夫模型:学习
HMM(Hidden Markov Model), 也称隐性马尔可夫模型,是一个几率模型,用来描述一个系统隐性状态的转移和隐性状态的表现几率。spa
特征:1)问题是基于序列的,好比时间序列,或者状态序列。2)问题中有两类数据,一类序列数据是能够观测到的,即观测序列;而另外一类数据是不能观察到的,即隐藏状态序列,简称状态序列。htm
HMM的定义:blog
对于HMM模型,首先咱们假设Q是全部可能的隐藏状态的集合,V是全部可能的观测状态的集合,即:get
其中,N是可能的隐藏状态数,M是全部的可能的观察状态数。博客
对于一个长度为T的序列,I对应的状态序列, O是对应的观察序列,即:数学
其中,任意一个隐藏状态it∈Q,任意一个观察状态ot∈V
HMM作出了 两个很重要的假设:
1) 齐次马尔科夫链假设。即任意时刻的隐藏状态只依赖于它前一个隐藏状态。
2) 观测独立性假设。即任意时刻的观察状态只仅仅依赖于当前时刻的隐藏状态。
HMM模型一共有三个经典的问题须要解决:
1) 评估观察序列几率。即给定模型λ=(A,B,Π)和观测序列O={o1,o2,...oT},计算在模型λλ下观测序列OO出现的几率P(O|λ)P(O|λ)。这个问题的求解须要用到前向后向算法。这个问题是HMM模型三个问题中最简单的。
2)模型参数学习问题。即给定观测序列O={o1,o2,...oT},估计模型λ=(A,B,Π)的参数,使该模型下观测序列的条件几率P(O|λ)P(O|λ)最大。这个问题的求解须要用到基于EM算法的鲍姆-韦尔奇算法。这个问题是HMM模型三个问题中最复杂的。
3)预测问题,也称为解码问题。即给定模型λ=(A,B,Π)和观测序列O={o1,o2,...oT},求给定观测序列条件下,最可能出现的对应的状态序列,这个问题的求解须要用到基于动态规划的维特比算法。这个问题是HMM模型三个问题中复杂度居中的算法。
使用条件:
1.隐性状态的转移必须知足马尔可夫性。(状态转移的马尔可夫性:一个状态只与前一个状态有关)
2. 隐性状态必须可以大概被估计。
在知足条件的状况下,肯定问题中的隐性状态是什么,隐性状态的表现可能又有哪些.
HMM适用于的问题在于,真正的状态(隐态)难以被估计,而状态与状态之间又存在联系。
参考博客:http://www.cnblogs.com/pinard/p/6945257.html