隐式马尔科夫模型

来源:互联网 发布:伴奏软件 编辑:程序博客网 时间:2024/05/18 19:42

基本理论:

隐马尔可夫模型(Hidden Markov models,HMM)是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程,具有一定状态数的隐马尔可夫链和显示随机函数集。其中马尔科夫链描述了状态的转移, 一般用转移概率矩阵描述;而一般随机过程描述状态和观测序列间的关系,用观察概率矩阵描述。
自20世纪80年代以来,HMM被应用于语音识别,取得重大成功。到了90年代,HMM还被引入计算机文字识别和移动通信核心技术“多用户的检测”。近年来,HMM在生物信息科学、故障诊断等领域也开始得 到应用。


模型的表达:
隐马尔可夫模型可以用五个元素来描述:
1.N,模型的隐状态数目。虽然这些状态是隐含的,但在许多实际应用中,模型的状态通常有具体的物理意义
2.M,每个状态的不同观测值的数目。
3.A , 状态转移概率矩阵。描述了HMM模型中各个状态之间的转移概率。其中
A_{IJ}= P(A_{T+1} =S_{J} | Q_{T}=S_{I}),1≤I,J≤N. (1)
式(1)表示在T时刻、状态为SI的条件下,在T+1时刻状态是SJ的概率。
4. B ,观测概率矩阵。其中
BJ(K) = P[VK(T) | QT = SJ]; 1≤J≤N,1≤K≤M.
表示在T时刻、状态是SJ条件下,观察符号为VK(T)的概率。
5.π 初始状态概率矩阵 π={π_{J}| π_{J}= P[Q_{1} = S_{J}];1≤J≤N.
表示在初始T=1时刻状态为SJ的概率。
一般的,可以用λ=(A,B,π)来简洁的表示一个隐马尔可夫模型。给定了N,M,A,B,π后,隐马尔可夫模型可以产生一个观测序列 O=O1O2O3…OT
HMM需要解决三个基本问题:
*1 评估问题:
给定观测序列 O=O1O2O3…OT和模型参数λ=(A,B,π),怎样有效计算某一观测序列的概率.
*2 解码问题
给定观测序列 O=O1O2O3
OT和模型参数λ=(A,B,π),怎样寻找某种意义上最优的状态序列.
*3 学习问题
怎样调整模型参数λ=(A,B,π),使其最大?
基本算法
针对以上三个问题,人们提出了相应的算法
*1 评估问题: 向前向后算法
*2 解码问题: VITERBI算法
*3 学习问题: BAUM-WELCH算法