隐马尔科夫模型(Hidden Markov Models)

来源:互联网 发布:linux spi驱动移植 编辑:程序博客网 时间:2024/05/18 13:28

隐马尔科夫模型HMM(Hidden Markov Models)来源于现实社会的需求,它是为人们服务的,我们通常都习惯于寻找一个事物在一段时间内的变化规律,并能在特定情况下预测下一变化,比如预测天气等。当然HMM还有一些其他的应用,后面还会提到。

既然HMM用处是具有实际意义的,那么下面我们来学习它。

实际生活中,有的时候状态的转变是固定的,如红绿灯的变化规律,下一状态是已知的,这种模式叫确定性的生成模式,而在大多数情况下状态的改变却是不确定的,如根据今天的天气推测明天的天气,这个状态的变化是不明确的,这种模式叫非确定的生成模式,通常我们更倾向于研究非确定性生成模式,所以我们用到了HMM。这里明确一个概念,nHMM,意思是说当前的状态只与前n个状态有关,我们通常研究的是1HMM,意思是当前状态只与前一状态有关,显然这是不符合现实的一个假设,但它却非常适于分析,同时要注意HMM是与时间无关的一个模型,这也是一个与现实不符的假设。(从此可看出HMM有待改进)

HMM的核心在于思想,算法与两个矩阵。

HMM的两个矩阵为状态转移矩阵(表征状态之间的转移概率)、混淆矩阵(表征特定状态下发射符号(观察值)的概率)。

根据HMM不同的应用,有不同的算法来解决。

主要是三类问题。

①    根据已知的HMM找出一个观察序列的概率—评估

②    根据观察序列找到最有可能的隐状态序列—解码

多数情况下,我们都希望能够根据一个给定的HMM模型,根据观察状态序列找到产生这一序列的潜在的隐含状态序列。

③    从观察序列中得出HMM—学习

这是最难的HMM应用。也就是根据观察序列和其代表的隐状态,生成一个三元组HMM (P,A,B)。使这个三元组能够最好的描述我们所见的一个现象规律。

我们用forward-backward algorithm来解决在现实中经常出现的问题--转移矩阵和混淆矩阵不能直接得到的情况。

这个方向在语音处理数据库上有重要的地位。因为它可以帮助我们在状态空间很大,观察序列很长的环境下找到合适HMM模型参数:初始状态、转移概率、混淆矩阵等。


详细介绍可参考:

  • 介绍(introduction)
  • 生成模式(Generating Patterns)
  • 隐含模式(Hidden Patterns)
  • 隐马尔科夫模型(Hidden Markov Models)
  • 前向算法(Forward Algorithm)
  • 隐马尔科夫模型(Hidden Markov Models)前向算法详细实例
  • 维特比算法(Viterbi Algorithm)
  • 前向后向算法(Forward-Backward Algorithm
  • 总结
  • 隐马尔科夫模型理论介绍
  •  HMM相关文章索引
  • HMM(隐马尔可夫模型)总结
      

  
0 0
原创粉丝点击