隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语音识别,自然语言处理以及生物信息等领域体现了很大的价值。到目前为止,它一直被认为是实现快速精确的语音识别系统的系统,自然语言处理过程的最成功的方法。
1. HMM引入
隐马尔可夫模型(HMM)是一个输出符号序列统计模型,具有T个状态X1,X2.......Xt-1,它按一定的周期从一个状态转移到另一个状态,每次转移时,输出一个符号(观测值)。转移到哪一个状态,转移时输出什么符号,分别由状态转移概率和转移时输出概率来决定。因为只能观测到输出符号的序列,而不能观测待状态转移序列(即模型的观测序列是通过哪个状态路径是不知道的)所以称为隐马尔可夫模型。
下面是一个简单的例子。气象学上,可通过年轮的宽窄了解各年的气候状况,利用年轮上的信息可推测出几千年来的气候变迁情况。年轮宽表示那年光照充足,风调雨顺;若年轮较窄,则表示那年温度低、雨量少,气候恶劣。 为了简单起见,我们只考虑冷(code),热(hot)两种温度。根据现代的气象知识可以知道,“冷”的一年跟着下一年为热的概率为0.4,为冷的概率为0.6;“热”的一年跟着下一年为热的概率为0.7,为冷的概率为0.3。可以简单的归纳为下面规律:
我们将树的年轮简单分为小(small),中(middle),大(large)三种,或者分别写成S,M,L。根据现代的气象知识可以知道,热的一年树木年轮为“小”,“中”,“大”的概率分别为0.1,0.4,0.5;冷的一年树木年轮为“小”,“中”,“大”的概率分别为0.7,0.2,0.1。因此,冷(C),热(H)对年轮的影响可以简单归纳为下面规律:
在这个系统中,状态序列是每年的温度--H 或者 C。因为下一年的温度只与上一年有关,所以从一个状态(温度)转移到下一个状态(温度)可以看成是一个一阶Markov process。因为无法观测过去的温度,状态序列也被称为隐藏状态。尽管我们不能观测过去的状态(温度)序列,但是可以通过树的年轮给我们提供的信息预测温度。我们的目标就是充分利用可观测的年轮序列,来预测那些年的温度序列情况(Markov 过程)。从上面规律可以得到,
状态转移矩阵A:
观测矩阵B: