理解HMM

hidden markov model

markov model: 把一个总随机过程看成一系列状态的不断转移, 其特性主要使用转移概率来表示。

HMM:认为模型的状态是不可观测的(hidden), 能观测的只是它表现出的一些观测值。

MM 的观测序列本身就是状态序列

HMM 的观测序列不是状态序列

设有N个篮子,每个都装了许多彩色小球,小球颜色有M种.现在按下列步骤产生出一个输出符号(颜色)序列:按某个初始概率分步,随机的选定一个篮子,从中随机地取出一个球,记录球的颜色作为第一个输出符号,并把球放回原来的篮子.然后按照某个转移概率分布(与当前篮子相联系)选择一个新的篮子(也可能仍停留在当前篮子),并从中随机取出一个球,记下颜色作为第二个输出符号.

如此重复地做下去,这样便得到一个输出序列.我们能够观测到的是这个输出序列—颜色符号序列,而状态(篮子)之间的转移(状态序列)被隐藏起来了.每个状态(篮子)输出什么符号(颜色)是由它的输出概率分布(篮子中彩球数目分布)来随机决定的.选择哪个篮子(状态)输出颜色由状态转移矩阵来决定.

隐马尔科夫模型的三个基本问题:

1, evaluation:从骰子数列中推断是否使用了作弊骰子,如果知道使用了作弊骰子, 那么在投掷骰子的过程中出现这个序列的概率有多大。

2,decoding: 如果确实使用了作弊骰子, 这些序列中哪些点是有B 投掷出来的。

3, learning: 参数训练问题,

q是某个状态序列产生某个观测值的概率

P是从一个状态转移到另一个状态的概率

使用Viterbi算法。定义一个路径最优变量, 然后采取递推的方式迭代, 进而降低计算量。

HMM 在CpG island中的应用,输入DNA片段, 判断是否为CpG island.

对于一条DNA , 两种情况, 是CpG island and not CpG island.模型建立:

识别CpG区域:

识别CpG区域相当于寻找连续的C+和G+组合的区域,相

当于把生成原始序列隐状态鉴别出来,隐状态中C+和G+

连续较高的区域为CpG区域,这对应到隐马尔可夫模型的

第二个问题,译码问题。

应用HMM3类基本问题中解码问题(decoding ):

给定一个隐马尔柯夫模型M 和一个字符序列X, 在M中为X

寻找一条最优路径P*,要求使得P(X|P*)最大(Viterbi算

法)

如果找到最优路径P*,则这条路径穿过的“+” 状态将对

应于CpG岛。

更细节的问题查看保存在云盘上的PPt

时间: 2024-11-15 00:45:31

理解HMM的相关文章

让你真正理解HMM(Hidden Markov Model)的算法演示程序

HMM, 隐Markov模型, 在人脸, 步态, 语音识别等领域有着广泛的用途. 通过以Javascript语言演示其使用方法, 读者可方便地理解其计算过程(其实,并不难). 理论就不讲解了,直接看计算过程: ?<html> <head> <meta charset="UTF-8"/> <meta author="[email protected]"/> <meta published="2014-11

基于隐马尔可夫模型的有监督词性标注

代码下载:基于隐马尔可夫模型的有监督词性标注 词性标注(Part-of-Speech tagging 或 POS tagging)是指对于句子中的每个词都指派一个合适的词性,也就是要确定每个词是名词.动词.形容词或其他词性的过程,又称词类标注或者简称标注.词性标注是自然语言处理中的一项基础任务,在语音识别.信息检索及自然语言处理的许多领域都发挥着重要的作用. 词性标注本质上是一个分类问题,对于句子中的每一个单词W,找到一个合适的词类类别T,也就是词性标记,不过词性标注考虑的是整体标记的好坏,既整

理解隐马尔科夫(HMM)模型

前言 在李航的<统计学方法>第十章有对隐马尔科夫模型(Hidden Markov Model,HMM)比较详细的介绍和推导公式,我参考公式结合中文分词应用实现了隐马模型观测序列的生成.前向算法.维特比算法. 本文在此针对HMM模型在中文分词中的应用,讲讲实现原理.我尽可能的撇开公式,撇开推导.结合实际开源代码作为例子,争取做到雅俗共赏,童叟无欺. 没有公式,就没有伤害. 理解一个算法,我认为需要做到:会其意,知其形.本文回答的,其实主要是第一点.但是这一点呢,恰恰是最重要,而且很多书上不会讲的

通俗理解隐马尔科夫模型HMM(转载)

作者:Yang Eninala 链接:https://www.zhihu.com/question/20962240/answer/33438846 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 隐马尔可夫(HMM)好讲,简单易懂不好讲.我认为 @者也的回答没什么错误,不过我想说个更通俗易懂的例子.我希望我的读者不是专家,而是对这个问题感兴趣的入门者,所以我会多阐述数学思想,少写公式.霍金曾经说过,你多写一个公式,就会少一半的读者.所以时间简史这本关于物理的书和麦当娜关于性的书卖的一样

一文搞懂HMM(隐马尔可夫模型)

本文转自于:http://www.cnblogs.com/skyme/p/4651331.html 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程.其难点是从可观察的参数中确定该过程的隐含参数.然后利用这些参数来作进一步的分析,例如模式识别. 是在被建模的系统被认为是一个马尔可夫过程与未观测到的(隐藏的)的状态的统计马尔可夫模型. 下面用一个简单的例子来阐述: 假设我手里有三个不同的骰子.第一个骰子是我们平常见的骰子(称这

隐马尔可夫模型(HMM)总结

摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项(算法过程,调参等注意事项) 5.实现和具体例子 6.适用场合 内容: 1.算法概述 隐马尔科夫模型(Hidden Markov Model)是关于时序的概率模型,描述由一个隐含的马尔科夫链生成不可观测的状态序列,再由状态序列生成观测序列的过程.这种通过观测序列预测隐含的标记序列的问题叫做标注. 下图来自维基百科: 并且本文有如下符号表示: 其中就是我们需要求得的一个三元组:拿中文分词的例子来说,分词中的状态序列是{ Begi

使用python实现HMM

一直想用隐马可夫模型做图像识别,但是python的scikit-learn组件包的hmm module已经不再支持了,需要安装hmmlearn的组件,不过hmmlearn的多项式hmm每次出来的结果都不一样,= =||,难道是我用错了??后来又只能去参考网上C语言的组件,模仿着把向前向后算法“复制”到python里了,废了好大功夫,总算结果一样了o(╯□╰)o.. 把代码贴出来把,省的自己不小心啥时候删掉... 1 #-*-coding:UTF-8-*- 2 ''' 3 Created on 2

隐含马尔可夫模型HMM的中文分词器 入门-1

<pre name="code" class="sql">http://sighan.cs.uchicago.edu/bakeoff2005/ http://www.52nlp.cn/中文分词入门之资源 中文分词入门之资源 作为中文信息处理的"桥头堡",中文分词在国内的关注度似乎远远超过了自然语言处理的其他研究领域.在中文分词中,资源的重要性又不言而喻,最大匹配法等需要一个好的词表,而基于字标注的中文分词方法又需要人工加工好的分词语料

隐马尔可夫模型(HMM:Hidden Markov Models)

理论部分转载自:http://blog.csdn.net/likelet/article/details/7056068 手动计算例子转载自:http://blog.sina.com.cn/s/blog_953f8a550100zh35.html 隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值.平时,经常能接触到涉及 HMM 的相关文章,一直