隐马模型
基本概念
HMM定义
- 隐马尔科夫模型(HMM,Hidden Markov Model)可用标注问题,在语音识别、NLP、生物信息、模式识别等领域内被实践证明是有效的算法。
- HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。
- 隐马尔科夫模型随机生成的状态随机序列,称为状态序列,每个状态生成一个观测,由此产生的观测随机序列,称为观测序列。序列里的每个位置可以看做一个时刻。
隐马尔科夫模型的贝叶斯网络
基本函数
HMM的确定
HMM共有三个函数确定,初始概率分布π、状态转移概率分布A以及观测概率分布B确定。
lameda=(A,B,π)
HMM的参数
- Q是所有可能的状态的集合
- N是可能的状态数
- V是所有可能的观测集合
- M是可能的观测数
Q={q1,q2,....qn}
V={v1,v2,v3,....vm}
I是长度为T的状态序列,O是对应的观测序列
I={i1,i2,...it}
O={o1,o2,...oT}
A 是状态转移概率矩阵
A=[aij]N∗N
- M是可能的观测数
- 其中aij = P(it+1 = qj | it= qi)
- aij是在时刻t处于状态qi的条件下时刻t+1转移到状态qj的概率
B是观测概率矩阵 B = [bik]N*M
bik 是在时刻t处于状态qi的条件下生成观测vk的概率
π是初始状态概率向量:π = (πi)
其中:πi = P(i1 = qi),πi是时刻t=1处于状态qi的概率。
HMM参数总结
HMM由初始概率分布π(向量)、状态转移概率分布A(矩阵)以及观测概率分布B(矩阵)确定。π和A决定状态序列,B决定观测序列。因此HMM可以用三元符号表示,称为HMM的三要素。
HMM的两个基本性质
HMM举例
HMM的三个基本问题
- 概率计算问题:前向-后向算法——动态规划
- 给定模型lameda = (A,B,π),和观测序列O = {o1,o2,…ot},计算模型lameda下观测序列O出现的概率;
- 学习问题:Baum-Welch算法(状态未知)——EM
- 已知观测序列O={o1,o2,…ot},估计模型lameda=(A,B,π)的参数,使得在该模型下观测序列P(O|lameda)最大
- 预测问题:Viterbi算法——动态规划
- 解码问题:已知模型lameda=(A,B,lameda)和观测序列O={O1,O2,…Ot},求给定观测序列条件概率P(I|O,lameda)最大的状态序列I
概率计算的问题
直接算法:暴力计算