这是一篇发布在 Nature 上面的文章,作为计算机研究僧,其实不怎么了解 Nature 那一套,然而这篇文章,仅仅是介绍什么叫 HMM ,就光荣发布了,当时距离 HMM 被提出应该也有十几二十年了吧,隔行如隔山,看来生物领域还是很需要计算机专业的人才。稍微扯一点,最近在看《未来简史》,作者在书中就有一个看法,以后人类的发展就要靠计算机和生物科学家,人脑是计算机,而计算机也是人脑。
- 文章来自 What is a hidden Markov model?
- 关于 HMM 的详细推导,在前面的博客里。
Motivation: computational sequence analysis
生物上可以检测出一系列核苷酸,通过脑海里仅剩的高中生物的知识可以知道它们是 AGCT 里面的一种。
一段核苷酸序列组成了一小段基因,基因有显性,隐性,连接子,三种类型。
现在需要标注一段核苷酸序列的类型(exons, introns, or intergenic sequence),遇到问题:
- 如何对分类结果进行评分
- 概率的解释,即对评分的信心
- 如何做一个通用的模型,而不是定制化的模型
然后需要借助于 HMM,据说HMM的在生物学上的应用有以下几类:
genefinding, profile searches, multiple sequence alignment and regulatory site identification
A toy HMM: 5′ splice site recognition
下面给出了一个例子:
已知核苷酸的类型,找到 exons(E) 和 introns(I) 序列的拼接点 (5) 的位置。
E, 5, I 是三个隐状态 state,ACGT是可观测空间状态,概率转移图如下。
要计算的是 max z P ( x , z ∣ λ ) \max_z P(x,z|\lambda) maxzP(x,z∣λ)
解决方法: Viterbi 算法
问题:
-
viterbi算法只能找到概率最大的隐序列,其他的隐序列是怎么算出来的呢?