马尔可夫模型

数学统计学领域的统计模型

马尔可夫模型(Markov Model)是一种 统计模型 ,广泛应用在语音识别、词性自动标注、音字转换、概率文法等各个自然语言处理等应用领域,经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的统计工具。

模型简介

到目前为止,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让人们由衷地感叹 数学模型 之妙。

马尔可夫(1856~1922), 苏联 数学家。 切比雪夫 的学生。在 概率论 、 数论 、函数逼近论和 微分方程 等方面卓有成就。

人物介绍

马尔可夫是 圣彼得堡 数学学派的代表人物。以数论和概率论方面的工作著称。他的主要著作有《概率演算》等。在数论方面,他研究了连分数和二次不定式理论,解决了许多难题。在概率论中,他发展了矩法,扩大了大数律和 中心极限定理 的应用范围。马尔可夫最重要的工作是在1906~1912年间,提出并研究了一种能用数学分析方法研究自然过程的一般图式——马尔可夫链。同时开创了对一种无后效性的 随机过程 ——马尔可夫过程的研究。马尔可夫经多次观察试验发现,一个系统的状态转换过程中第n次转换获得的状态常决定于前一次(第 次)试验的结果。马尔可夫进行深入研究后指出:对于一个系统,由一个状态转至另一个状态的转换过程中,存在着转移概率,并且这种转移概率可以依据其紧接的前一种状态推算出来,与该系统的原始状态和此次转移前的马尔可夫过程无关。马尔可夫链理论与方法已经被广泛应用于 自然科学 、 工程技术 和 公用事业 中。

Markov链

因 安德烈·马尔恰诺夫 (Andrey Markov,1856-1922)得名,是数学中具有 马尔可夫性质 的离散时间 随机过程 。该过程中,在给定当前知识或信息的情况下,过去(即当前以前的历史状态)对于预测将来(即当前以后的未来状态)是无关的。

时间和状态都是离散的马尔可夫过程称为马尔可夫链, 简记为

马尔可夫链是 随机变量 X1,X2,X3…的一个 数列 。这些变量的范围,即他们所有可能取值的集合,被称为“ 状态空间 ”,而Xn的值则是在时间n的状态。如果 对于过去状态的 条件概率 分布仅是Xn的一个函数,则

这里x为过程中的某个状态。上面这个 恒等式 可以被看作是 马尔可夫性质 。

马尔可夫在1906年首先做出了这类过程。而将此一般化到可数无限状态空间是由 安德雷·柯尔莫哥洛夫 在1936年给出的。

应用领域

主要应用于 语音识别、音字转换、词性标注。

自然语言是人类交流信息的工具。很多自然语言处理问题都可以等同于 通信系统 中的解码问题--一个人根据接收到的信息,去猜测发话人要表达的意思。这其实就象通信中,人们根据接收端收到的信号去分析、理解、还原发送端传送过来的信息。比如一个典型的通信系统中:其中s1,s2,s3...表示信息源发出的信号。o1,o2, 臭氧 是接受器接收到的信号。通信中的解码就是根据接收到的信号o1,o2,o3...还原出发送的信号s1,s2,s3...。

其实人们平时在说话时,脑子就是一个信息源。人们的 喉咙 ( 声带 ),空气,就是如电线和 光缆 般的信道。听众耳朵的就是接收端,而听到的声音就是传送过来的信号。根据 声学 信号来推测说话者的意思,就是语音识别。这样说来,如果接收端是一台 计算机 而不是人的话,那么计算机要做的就是语音的自动识别。同样,在计算机中,如果我们要根据接收到的 英语 信息,推测说话者的汉语意思,就是机器翻译;如果我们要根据带有拼写错误的语句推测说话者想表达的正确意思,那就是自动纠错。那么怎么根据接收到的信息来推测说话者想表达的意思呢?人们可以利用叫做"隐含马尔可夫模型" (HiddenMarkovModel)来解决这些问题。以语音识别为例,当我们观测到语音信号o1,o2, 臭氧 时,要根据这组信号推测出发送的句子s1,s2,s3。显然,人们应该在所有可能的句子中找最有可能性的一个。用数学语言来描述,就是在已知o1,o2,o3,...的情况下,求使得 条件概率

达到最大值的那个句子s1,s2,s3,...

当然,上面的概率不容易直接求出,于是人们可以间接地计算它。利用 贝叶斯定理 并且省掉一个常数项,可以把上述公式等价变换成

其中

表示某句话 被读成 的可能性,而

表示字串 本身能够成为一个合乎情理的句子的可能性,所以这个公式的意义是用发送信号为 这个 数列 的可能性乘以 本身可以一个句子的可能性,得出概率。

(读者读到这里也许会问,你现在是不是把问题变得更复杂了,因为公式越写越长了。别着急,就来简化这个问题。)人们们在这里做两个假设:

第一, 是一个马尔可夫链,也就是说,si只由 决定(详见系列一);

第二,第i时刻的接收信号oi只由发送信号si决定(又称为独立输出假设,即

那么人们就可以很容易利用算法Viterbi找出上面式子的最大值,进而找出要识别的句子 。

满足上述两个假设的模型就叫隐含马尔可夫模型。我们之所以用“隐含”这个词,是因为状态 是无法直接观测到的。

隐含马尔可夫模型的应用远不只在语音识别中。在上面的公式中,如果我们把 当成中文,把 当成对应的英文,那么人们就能利用这个模型解决机器翻译问题;如果我们把 当成扫描文字得到的图像特征,就能利用这个模型解决 印刷体 和 手写体 的识别。

根据应用的不同而又不同的名称,在语音识别中它被称为“ 声学模型 ”( AcousticModel ),在机器翻译中是“翻译模型”( Translation Model) 而在拼写校正中是“纠错模型”( CorrectionMode l)。而 就是我们在系列一中提到的 语言模型 。

在利用隐含马尔可夫模型解决语言处理问题前,先要进行模型的训练。常用的训练方法由伯姆( Baum )在60年代提出的,并以他的名字命名。隐含马尔可夫模型在处理语言问题早期的成功应用是语音识别。七十年代,当时 IBM 的 FredJelinek ( 贾里尼克 )和 卡耐基·梅隆大学 的 JimandJanetBaker (贝克夫妇, 李开复 的师兄师姐)分别独立地提出用隐含马尔可夫模型来识别语音,语音识别的错误率相比 人工智慧 和模式匹配等方法降低了三倍(从 到 )。八十年代李开复博士坚持采用隐含马尔可夫模型的框架,成功地开发了世界上第一个大词汇量连续语音识别系统 Sphinx 。

马尔可夫模型的使用方法

它可以用来预测具有等时间隔(如一年)的时刻点上各类人员的分布状况。

它是根据历史数据,预测等时间间隔点上的各类人员分布状况。此方法的基本思想上根据过去人员变动的规律,推测未来人员变动的趋势。步骤如下:

①根据历史数据推算各类人员的转移率,迁出转移率的 随机矩阵 ;

②统计作为初始时刻点的各类人员分布状况;

③建立马尔科夫模型,预测未来各类人员供给状况;

使用马尔科夫模型进行人力资源供给预测的关键是确定出人员转移率矩阵表,而在实际预测时,由于受各种因素的影响,人员转移率是很难准确确定出来的,往往都是一种大致的估计,因此会影响到预测结果的准确性。

相关扩展

在人力资源管理概论中,马尔科夫模型是用来预测等时间间隔点上(一般为一年)各类人员分布状况的一种动态预测技术,是从 统计学 中借鉴过来的一种定量预测方法。它的基本思路是:找出过去 人力资源 流动的比例,以此来预测未来人力资源供给的情况。

相关假设

在给定时期内从低一层次向高一层次的转移人数,或从某一类型向另一类型转移的人数是起始时刻低层次总人数或某一类型总人数的一个比例,这个比例称为人员转移率。