八、总结(Summary)

  通常,模式并不是单独的出现,而是作为时间序列中的一个部分——这个过程有时候可以被辅助用来对它们进行识别。在基于时间的进程中,通常都会使用一些假设——一个最常用的假设是进程的状态只依赖于前面N个状态——这样我们就有了一个N阶马尔科夫模型。最简单的例子是N = 1。
  存在很多例子,在这些例子中进程的状态(模式)是不能够被直接观察的,但是可以非直接地,或者概率地被观察为模式的另外一种集合——这样我们就可以定义一类隐马尔科夫模型——这些模型已被证明在当前许多研究领域,尤其是语音识别领域具有非常大的价值。
  在实际的过程中这些模型提出了三个问题都可以得到立即有效的解决,分别是:
  * 评估:对于一个给定的隐马尔科夫模型其生成一个给定的观察序列的概率是多少。前向算法可以有效的解决此问题。
  * 解码:什么样的隐藏(底层)状态序列最有可能生成一个给定的观察序列。维特比算法可以有效的解决此问题。
  * 学习:对于一个给定的观察序列样本,什么样的模型最可能生成该序列——也就是说,该模型的参数是什么。这个问题可以通过使用前向-后向算法解决。
  隐马尔科夫模型(HMM)在分析实际系统中已被证明有很大的价值;它们通常的缺点是过于简化的假设,这与马尔可夫假设相关——即一个状态只依赖于前一个状态,并且这种依赖关系是独立于时间之外的(与时间无关)。
  关于隐马尔科夫模型的完整论述,可参阅:
  L R Rabiner and B H Juang, `An introduction to HMMs', iEEE ASSP Magazine, 3, 4-16.

  全文完!

  后记:这个翻译系列终于可以告一段落了,从6月2日起至今,历史四个多月,期间断断续续翻译并夹杂些自己个人的理解,希望这个系列对于HMM的学习者能有些用处,我个人也就很满足了。接下来,我会结合HMM在自然语言处理中的一些典型应用,譬如词性标注、中文分词等,从实践的角度讲讲自己的理解,欢迎大家继续关注52nlp。

本文翻译自:http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html
部分翻译参考:隐马尔科夫模型HMM自学

转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:https://www.52nlp.cn/hmm-learn-best-practices-eight-summary

作者 52nlp

《HMM学习最佳范例八:总结》有66条评论
  1. 刚接触NLP,就遇到了这么好的网站~很幸运,也向辛苦的博主表达我最诚挚的感谢!

    [回复]

  2. 博主辛苦了,真心谢谢你的工作,翻译得很到位,也很精彩,讲解通俗易懂,一份很有价值的教程!

    [回复]

  3. 你好,我想问一下关于动态轨迹的训练的问题,如果,5个状态,12个观测值,那么每个样本的序列长度T若是25的话,
    ForwardWithScale(phmm, T, O, alpha, scale, &logprobf);中循环就会出现问题了,对于alpha[][]行数最大为12,但上面是以T为循环的,所以序列长度和观测值的个数会互相有影响吗?
    但是,将T与观测值的个数相等后,又没有办法准确的表现轨迹的状态了。。。求教啊

    [回复]

  4. 您好,多个训练样本应该怎么训练一个HMM模型

    [回复]

    Loong 回复:

    你好,我也遇到了同样的问题,我有多个训练样本,而且维度不同,在训练HMM时遇到了困难。能否交流一下?

    [回复]

  5. 看了HMM整个序列,虽然似懂非懂,但感觉非常棒,感谢楼主的无私奉献!

    [回复]

发表回复

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