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

理解HMM的更多相关文章

  1. 理解HMM算法

    长这样: 理解的前提: (1)状态:生成观测值的变量(上图中的"吃"和"睡"). (2)观测值:状态乘上输出概率对应的输出(上图中的橙色节点). (3)输出概率 ...

  2. [综]隐马尔可夫模型Hidden Markov Model (HMM)

    http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...

  3. 概率图模型学习笔记:HMM、MEMM、CRF

    作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  4. viterbi维特比算法和隐马尔可夫模型(HMM)

    隐马尔可夫模型(HMM) 原文地址:http://www.cnblogs.com/jacklu/p/7753471.html 本文结合了王晓刚老师的ENGG 5202 Pattern Recognit ...

  5. HMM隐马尔可夫模型来龙去脉(二)

    目录 前言 预备知识 一.估计问题 1.问题推导 2.前向算法/后向算法 二.序列问题 1.问题推导 2.维特比算法 三.参数估计问题 1.问题推导 2.期望最大化算法(前向后向算法) 总结 前言 H ...

  6. 语音激活检测(VAD)--前向神经网络方法(Alex)

    这是学习时的笔记,包含相关资料链接,有的当时没有细看,记录下来在需要的时候回顾. 有些较混乱的部分,后续会再更新. 欢迎感兴趣的小伙伴一起讨论,跪求大神指点~ VAD(ffnn神经网络)-Alex t ...

  7. NLP知识十大结构

    NLP知识十大结构 2.1形式语言与自动机 语言:按照一定规律构成的句子或者字符串的有限或者无限的集合. 描述语言的三种途径: 穷举法 文法(产生式系统)描述 自动机 自然语言不是人为设计而是自然进化 ...

  8. 信息检索及DM必备知识总结:luncene

    原文链接:http://blog.csdn.net/htw2012/article/details/17734529 有少量修改!如有疑问,请访问原作者. 一:信息检索领域: 信息检索和网络数据领域( ...

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

    作者:Yang Eninala 链接:https://www.zhihu.com/question/20962240/answer/33438846 来源:知乎 著作权归作者所有,转载请联系作者获得授 ...

随机推荐

  1. POJ 3660

    233333... Description: 就是说呢.牛是的实力室友大小之分的.然后呢.告诉你很多pair 表示任意两头牛之间的实力大小.按实力排序之后.问你一共有多少只牛的排名是确定了的. T_T ...

  2. Split的应用

    public string qu(string ss) { string s1 = "" ; string[] s = ss.Split(); for (int i = 0; i ...

  3. bzoj 2282: [Sdoi2011]消防

    #include<cstdio> #include<cstring> #include<iostream> #define N 600000 using names ...

  4. 二模 (7) day2

    第一题: 题目大意:多重背包. 解题过程: 1.二进制拆分.最慢的点0.5s. 2.单调队列优化会更快,不过我不会.. 第二题: 题目描述:给定一个n×m的矩阵,记录左上角为(1,1),右下角为(n, ...

  5. C# 子窗体点击按钮产生的新子窗体放在父窗体里

    情景展示: 父窗体Form1,左边是按钮,右边是panel(放置子窗体) 父窗体点击按钮,在panel显示第一个子窗体AA, AA有个按钮,点击按钮,是第二个子窗体ZZ, 怎样将AA的子窗体ZZ也显示 ...

  6. 5种JavaScript和CSS交互的方法

      分享   分享   分享   分享   分享   随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊.本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需 ...

  7. 精通JS 笔记

    一,javascript数据类型:undefined,null,boolean,number,string,object 五种加一种复杂类型. 注意大小写,区分大不写函数:functiontypeof ...

  8. 使用Google API 下拉刷新或者增加数据 SwipeRefreshLayout

    贴出布局代码: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" and ...

  9. idea给web项目添加tomcat

    首先,你需要新建一个web项目 生成这个样子: 我们可以新建lib文件夹用来装载必要jar,和新建classess文件夹用来存储编译后文件,这样感觉和myeclipes的项目相似. 进入项目设置,修改 ...

  10. python3使用requests发闪存

    闪存ing.cnblogs.com是博客园类似推特.饭否的服务, 我写了以下程序可以完成发闪存的操作,目的是顺便练习使用requests库. requests是一个python 轻量的http客户端库 ...