Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型

Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型

抓住尾巴,让今天也充实起来吧!

今天的内容是

【隐马尔科夫模型】

场景描述

序列标注(sequence labeling)是对一个序列的每个元素给出标签的机器学习任务。序列标注模型被应用于文本处理相关领域,包括中文分词、词性标注、语义角色标注、命名实体识别、语音识别等。我们前面已经提到过用RNN等深度学习模型解决序列标注问题,接下来我们还将回顾序列标注的一系列经典模型。

Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型

问题描述

简述如何对中文分词问题用隐马尔科夫模型进行建模,给定一批语料,如何对模型进行训练。

解答与分析

背景:隐马尔科夫模型是机器学习中一个经典的生成式模型,描述了由隐状态的马尔科夫链随机生成观测状态序列的过程,常用于解决序列标注问题,在自然语言处理、语音识别等领域有广泛的应用。

在谈隐马尔科夫模型之前,先简单谈一谈马尔科夫过程。马尔科夫过程是满足无后效性的随机过程。假设一个随机过程中,tn时刻的状态xn的条件分布,仅仅与其前一个状态xn-1有关,即P(xn|x1, xxn-1)P(xn|xn-1),则将其称为马尔科夫过程,时间和状态的取值都是离散的马尔科夫过程也称为马尔科夫链。

Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型

隐马尔科夫模型是对含有未知参数(隐状态)的马尔科夫链进行建模的生成模型。在简单的马尔科夫模型中,所有状态对于观测者都是可见的,因此在马尔科夫模型里仅仅包括状态间的转移概率,而在隐马尔科夫模型中,隐状态xi对于观测者而言是不可见的,观测者能观测到的只有每个隐状态xi对应的输出yi,而观测状态yi的概率分布仅仅取决于对应的隐状态xi。在隐马尔科夫模型中,参数包括了隐状态间的转移概率、隐状态到观测状态的输出概率、隐状态x的取值空间、观测状态y的取值空间以及初试状态的概率分布。

Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型

下面我们用一个简单的例子来说明隐马尔科夫模型的建模过程。

假设现在我们有3个不同的葫芦,每个葫芦里有好药坏药若干,现在我们从这3个葫芦中按以下规则倒出药来:

  1. 随机挑选一个葫芦

  2. 从葫芦里倒出一颗药,记录是好药还是坏药后将药放回

  3. 从当前葫芦依照一定的概率转移到下一个葫芦

  4. 重复步骤2-3

在整个过程中,我们并不知道每次拿到的是哪一个葫芦。

用隐马尔科夫模型来描述以上过程,隐状态就是当前是哪一个葫芦,隐状态的取值空间为{葫芦1,葫芦2,葫芦3},观测状态的取值空间为{好药,坏药},初始状态的概率分布就是第1步随机挑选葫芦的概率分布,隐状态间的转移概率就是从当前葫芦转移到下一个葫芦的概率,而隐状态到观测状态的输出概率就是每个葫芦里好药和坏药的概率。记录下来的药的顺序就是观测状态的序列,而每次拿到的葫芦的顺序就是隐状态的序列。

隐马尔科夫模型包括三个基本问题:概率计算问题、预测问题、学习问题。

概率计算问题:已知模型的所有参数,计算观测序列Y出现的概率。概率计算问题可使用前向和后向算法求解。

预测问题:已知模型所有参数和观测序列Y,计算最可能的隐状态序列X。可使用维特比算法来求解最可能的状态序列,维特比算法是一个经典的动态规划算法。

学习问题:已知观测序列Y,求解使得该观测序列概率最大的模型参数。 使用Baum-Welch算法进行参数的学习,Baum-Welch算法是期望最大化算法(EM algorithm)的一个特例。

上面提到的问题和算法在此不多做介绍,感兴趣的读者可以查阅相关资料。下面回到我们开头的问题。隐马尔科夫模型通常用来解决序列标注问题,因此我们也可以将分词问题转化为一个序列标注问题来进行建模。

例如可以对中文句子中的每个字做以下标注:B表示一个词的开头一个字,E表示一个词的结尾一个字,M表示一个词中间的字,S表示一个单字词,则隐状态的取值空间为{B, E, M, S},同时对隐状态的转移概率可以给出一些先验知识:B和M后面只能是M或者E,S和E后面只能是B或者S。而每个字就是模型中的观测状态,取值空间为语料中的所有中文字。

完成建模之后,使用语料进行训练可以分有监督训练和无监督训练。有监督训练即对语料进行标注,相当于得到了语料的所有隐状态信息,可以用简单的计数法来对模型进行极大似然估计。无监督训练可以用上文提到的Baum-Welch算法。


下一题预告

【自组织映射神经网络

场景描述

自组织映射算法是无监督学习方法中一类重要方法,可以用作聚类,高维可视化,数据压缩,特征提取等多种用途。在深度神经网络大为流行的今天,谈及自组织映射神经网络(Self-Organizing Map,SOM)依然是一件非常有意义的事情,这主要是由于自组织映射神经网络融入了大量人脑神经元对信号处理的特点。具体而言,在人脑的感知通道上,神经元的组织是有序排列的。 同时,大脑皮层会对外界特定时空信息的输入在特定区域产生兴奋,而且相类似的外界信息输入产生对应兴奋的大脑皮层区域也连续映像的。同时,在生物神经系统中,还存在着一种侧抑制现象,这种抑制作用会使神经细胞之间出现竞争,其结果是某些获胜,而另一些则失败。表现形式是获胜神经细胞兴奋,失败神经细胞抑制。自组织神经网络就是对上述生物神经系统功能的一种人工神经网络模拟。该模型由芬兰赫尔辛基大学教授Teuvo Kohonen于1981年提出,因此有时也称为Kohonen网络。

问题描述

自组织映射神经网络是如何工作的?它有什么样的特点?


欢迎留言提问或探讨

关注“Hulu”微信公众号

点击菜单栏“机器学习”获得更多系列文章

Hulu机器学习问题与解答系列 | 二十六:隐马尔科夫模型