引言
  隐马尔可夫模型(Hidden Markov Model,HMM)作为一种统计分析模型,创立于20世纪70年代。80年代得到了传播和发展,成为信号处理的一个重要方向,现已成功地用于语音识别,行为识别,文字识别以及故障诊断等领域。
  基本理论
  隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察倒每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有响应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程----具有一定状态数的隐马尔可夫链和显示随机函数集。自20世纪80年代以来,HMM被应用于语音识别,取得重大成功。到了90年代,HMM还被引入计算机文字识别和移动通信核心技术“多用户的检测”。近年来,HMM在生物信息科学、故障诊断等领域也开始得到应用。
  模型的表达
  隐马尔可夫模型可以用五个元素来描述:
  1.N,模型的隐状态数目。虽然这些状态是隐含的,但在许多实际应用中,模型的状态通常有具体的物理意义
  2.M,每个状态的不同观测值的数目。
  3,A , 状态转移概率矩阵。描述了HMM模型中各个状态之间的转移概率。其中
  Aij = P(at+1 =Sj | qt=Si),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[q1 = Sj];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算法