隐马尔可夫模型简介
假设
对于一个随机事件,有一个观察值序列:O1,…,OT 该事件隐含着一个状态序列:X1,…,XT
假设1:马尔可夫假设(状态构成一阶马尔可夫链)
p(Xi|Xi-1…X1) = p(Xi|Xi-1)
假设2:不动性假设(状态与具体时间无关)
p(Xi+1|Xi) = p(Xj+1|Xj),对任意i,j成立
假设3:输出独立性假设(输出仅与当前状态有关)
p(O1,…,OT | X1,…,XT) = Π p(Ot | Xt)
定义
一个隐马尔可夫模型 (HMM) 是一个五元组: (ΩX , ΩO, A, B, π )
其中:
ΩX = {q1,…qN}:状态的有限集合
ΩO = {v1,…,vM}:观察值的有限集合
A = {aij},aij = p(Xt+1 = qj |Xt = qi):转移概率
B = {bik},bik = p(Ot = vk | Xt = qi):输出概率
π = {πi}, πi = p(X1 = qi):初始状态分布
问题
令 λ = {A,B,π} 为给定HMM的参数, 令 σ = O1,…,OT 为观察值序列, 隐马尔可夫模型(HMM)的三个基本问题:
1.评估问题:对于给定模型,求某个观察值序列的概率p(σ|λ) ;
2.解码问题:对于给定模型和观察值序列,求可能性最大的状态序列;
3.学习问题:对于给定的一个观察值序列,调整参数λ,使得观察值出现的概率p(σ|λ)最大。
算法
评估问题:向前算法
- 定义向前变量
- 采用动态规划算法,复杂度O(N2T)
解码问题:韦特比(Viterbi)算法
- 采用动态规划算法,复杂度O(N2T)
学习问题:向前向后算法
- EM算法的一个特例,带隐变量的最大似然估计
例子:病情转化
假设:某一时刻只有一种疾病,且只依赖于上一时刻疾病
一种疾病只有一种症状,且只依赖于当时的疾病
症状(观察值):发烧,咳嗽,咽喉肿痛,流涕
疾病(状态值):感冒,肺炎,扁桃体炎
转移概率:从一种疾病转变到另一种疾病的概率
输出概率:某一疾病呈现出某一症状的概率
初始分布:初始疾病的概率
解码问题:某人症状为:咳嗽→咽喉痛→流涕→发烧
请问:其疾病转化的最大可能性如何?
应用
语音识别
音字转换
词性标注(POS Tagging)
组块分析
基因分析
一般化:任何与线性序列相关的现象
总结
HMM模型可以看作一种特定的Bayes Net
HMM模型等价于概率正规语法或概率有限状态自动机
HMM模型可以用一种特定的神经网络模型来模拟
优点:研究透彻,算法成熟,效率高,效果好,易于训练
作者:刘群
其实完全不懂。收藏而已。
有点相关的文章
- 生物信息学:努力在数据的海洋里畅游 (0.500)
- 本地blast的详细用法 (0.500)
- 本地blast下载 (0.500)
- NCBI资源介绍及使用手册(不断更新,索引页面) (0.500)
- NCBI(美国国立生物技术信息中心)简介 (0.500)
- 简并引物的在线设计工具: GeneFisher (RANDOM - 0.500)