第 5 章 隐含马尔可夫模型
Last updated
Last updated
语音识别,汉英翻译等都符合通信模型。通信的过程本质上就是:发送者编码——信道传播——接收者解码。如何根据接收端的观测信号来推测信号源的发送信息呢?我们需要从所有的信息源中找到最可能产生观测信号的那一个信息。
利用贝叶斯公式,公式(5.1)可等价变换为:
要介绍隐含马尔可夫模型,还是要从马尔科夫链说起。如下图,在这个马尔科夫链中,状态m1只可能转换成状态m2;状态m2有60%概率转换成状态m3,有40%概率转换成状态m4;……以此类推。
这里然使用非常简单的天气模型来做说明。
在这个马尔可夫模型中,存在三个状态:Sunny, Rainy, Cloudy,同时图片上标的是各个状态间的转移概率。
Markov Chains in Python: Beginner Tutorial
以下三个 Table,从左往右:
Table1简单介绍 是对隐含马尔科夫模型的简单讲解。
Table2详细理解 是以经典的“掷骰子”案例对隐含马尔科夫模型进行讲解。
Table3有趣的例子 结合一些实际仔细理解隐含马尔科夫模型。
举一个经典的例子:一个东京的朋友每天根据天气{下雨,天晴}决定当天的活动{公园散步,购物,清理房间}中的一种,我每天只能在twitter上看到她发的推“啊,我前天公园散步、昨天购物、今天清理房间了!”,那么我可以根据她发的推特推断东京这三天的天气。在这个例子里,显状态是活动,隐状态是天气。
任何一个HMM都可以通过下列五元组来描述:
param obs
观测序列
states
隐状态
start_p
初始概率(隐状态)
trans_p
转移概率(隐状态)
emit_p
发射概率(隐状态表现为显状态的概率)
现在,将马尔科夫假设和独立输出假设用于通信的解码问题(5.3),即是将
(5.5),(5.6)带入(5.3)就可得(5.4)。
首先有三个基本问题:
给定一个模型,如何计算某个特定输出序列的概率;
给定一个模型和某个特定的输出序列,如何找到最可能产生这个输出的状态序列;
给定足够的观测数据,如何估算隐含马尔可夫模型的参数。
问题1可参考贾里尼克《Statistical Methods for Speech Recognition 》。
问题2使用维特比算法来解码(后面会提到)。
隐含马尔科夫模型最初应用与通信领域,继而推广到语音和语言处理中,成为连接自然语言处理和通信的桥梁。隐含马尔可夫模型也是机器学习的主要工具。几乎和所有机器学习的主要工具一样,它需要一个训练算法(鲍姆—韦尔奇算法)和使用时的解码算法(维特比算法)。 掌握了这两类算法,就基本上可以使用隐含马尔科夫模型这个工具了。
如今,隐含马尔可夫模型被广泛应用于机器翻译、拼音纠错、手写体识别、图像处理、基因序列分析以及股票预测和投资。
用概率论的语言描述,即是在已知的情况下,求得令条件概率达到终于打值的那个信息串,即:
其中是参数 Argument 的所需,表示能获得最大值的那个信息串。
其中,表示信息在传输后变成接收的信号的概率,这个可以通过训练得出;表示本身是一个在接收端合乎情理的信号的概率; 表示在发送端产生信息的概率。
为了简化问题,一旦信息产生了,就不会再改变,这时就是一个可以忽略的常数,上述公式就可等价成
马尔可夫假设为随机过程中各个状态的概率分布,只与它的前一个状态有关,即。
隐含马尔科夫模型是马尔科夫链的一个扩展:任一时刻的状态的不可见的。但隐含尔科夫模型在每个时刻会输出一个符,而且仅和相关。
假设模型在每个时刻会输出一个符,而且仅和相关(即马尔科夫假设),我们可以计算出某个特定状态序列产生输出符的概率 。则有:
如何让找到概率最大值,需运用维特比算法(后面会提到)。(注:可能会生成,即生成概率;也可能会转化为,即转移概率)。
HMM模型将会描述,系统隐性状态的转移概率。也就是大叔切换骰子的概率,下图是一个例子,这时候大叔切换骰子的可能性被描述得淋漓尽致。
当然同时也会有,隐性状态表现转移概率。也就是骰子出现各点的概率分布, (e.g. 作弊骰子1能有90%的机会掷到六,作弊骰子2有85%的机会掷到'小’). 给个图如下,
解码的过程就是在给出一串序列的情况下和已知HMM模型的情况下,找到最可能的隐性状态序列。
关于问题3,通过大量的观察信号推测模型参数的生成概率、转移概率,以寻找最可能的模型,主要使用的是鲍穆-韦尔奇算法。首先,找到能够产生序列的模型参数;然后,计算出这个模型产生的概率,以及产生的所有可能路径和产生这些路径的概率。最终,计算出一组新的模型参数,根据新的模型参数再继续寻找更好的模型参数。以此类推,直到目标函数的输出概率达到最大化。这个过程被称为期望最大化(Expectation-Maximization,即EM)。EM能保证算法收敛到一个局部最优点,却不能保证找到全局最优点。