第5章 隐含马尔可夫模型

以下内容学习、摘录自《数学之美》

第5章 隐含马尔可夫模型_第1张图片

隐含马尔可夫模型是一个并不复杂的数学模型,到目前为止,它一直被认为是解决大多数自然语言处理问题最为快速、有效的方法。它成功地解决了复杂的语音识别、机器翻译等问题。

虽然书中说这个并不复杂,但说实话,书中详细的数学公式还是挺烧脑的:)

隐含马尔可夫模型( Hidden Markov Model)其实并不是19世纪俄罗斯数学家马尔可夫( Andrey Markov)发明的,而是美国数学家鲍姆( LeonardE.Baum)等人在20世纪六七十年代发表的一系列论文中提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他的名字命名的。

要介绍隐含马尔可夫模型,还是要从马尔可夫链说起。到了19世纪,概率论的发展从对(相对静态的)随机变量的研究发展到对随机变量的时间序列S1,S2,S3,…,St,…,即随机过程(动态的)的研究。在哲学的意义上,这是人类认识的一个飞跃。但是,随机过程要比随机变量复杂得多。

马尔可夫为了简化问题,提出了一种简化的假设,即随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,即P(S l S1,S2,S3,…,St-1)=P(St | St-1)。比如,对于天气预报,硬性假定今天的气温只跟昨天有关而与前天无关。当然这种假设未必适合所有的应用,但是至少对以前很多不好解决的问题给出了近似解。这个假设后来被命名为马尔可夫假设。

围绕着隐含马尔可夫模型有三个基本问题:1.给定一个模型,如何计算某个特定的输出序列的概率;2.给定一个模型和某个特定的输出序列,如何找到最可能产生这个输出的状态序列;3.给定足够量的观测数据,如何估计隐含马尔可夫模型的参数。

第1个问题相对简单,对应的算法是 Forward- Backward算法,;第2个问题可以用著名的维特比算法解决;第3个问题涉及到模型训练问题,书中推荐了的是鲍姆·韦尔奇算法(Baum-Welch Algorithm)。

隐含马尔可夫模型最初应用于通信领域,继而推广到语音和语言处理中,成为连接自然语言处理和通信的桥梁。同时,隐含马尔可夫模型也是机器学习的主要工具之一。和几乎所有的机器学习的模型工具一样,它需要一个训练算法(鲍姆·韦尔奇算法)和使用时的解码算法(维特比算法),掌握了这两类算法,就基本上可以使用隐含马尔可夫模型这个工具了。

点击这里可以查看《数学之美》的其它学习笔记。

你可能感兴趣的:(第5章 隐含马尔可夫模型)