HMM,MEMM,CRF模型的比较(转)

来源:互联网 发布:网络直播平台搭建 编辑:程序博客网 时间:2024/05/01 14:02

这三个模型都可以用来做序列标注模型。但是其各自有自身的特点,HMM模型是对转移概率和表现概率直接建模,统计共现概率。而MEMM模型是对转移 概率和表现概率建立联合概率,统计时统计的是条件概率。MEMM容易陷入局部最优,是因为MEMM只在局部做归一化,而CRF模型中,统计了全局概率,在 做归一化时,考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置的问题。

举个例子,对于一个标注任务,“我爱北京天安门“,

                                  标注为" s s  b  e b c e"

对于HMM的话,其判断这个标注成立的概率为 P= P(s转移到s)*P('我'表现为s)* P(s转移到b)*P('爱'表现为s)* ...*P().训练时,要统计状态转移概率矩阵和表现矩 阵。

对于MEMM的话,其判断这个标注成立的概率为 P= P(s转移到s|'我'表现为s)*P('我'表现为s)* P(s转移到b|'爱'表现为s)*P('爱'表现为s)*..训练时,要统计条件状态转移概率矩阵和表现矩阵。

对于CRF的话,其判断这个标注成立的概率为 P= F(s转移到s,'我'表现为s)....F为一个函数,是在全局范围统计归一化的概率而不是像MEMM在局部统计归一化的概率。

 

优点:

(1)CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样) ————与HMM比较

(2)同时,由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。 ­­————与MEMM比较

(3)CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。

————与ME比较

缺点:训练代价大、复杂度高



凡事都有两面,正由于这些优点,CRF需要训练的参数更多,与MEMM和HMM相比,它存在训练代价大、复杂度高的缺点。

那么,究竟什么是标记偏置问题呢?还是看个实际例子吧!

基于上图各边上的转移概率简单进行计算可得每条路径的概率如下:

  • 路径1-1-1-1的概率:0.4*0.45*0.5=0.09
  • 路径2-2-2-2的概率:0.2*0.3*0.3=0.018
  • 路径1-2-1-2的概率:0.6*0.2*0.5=0.06
  • 路径1-1-2-2的概率:0.4*0.55*0.3=0.066

由此,可知最优路径为1-1-1-1. 然而,仔细观察可发现上图中stat1 中每个结点都倾向于转移到stat2,这明显是和直觉不相符的。这就是所谓的标注偏置问题。实际上,造成这一问题的根本原因是每个节点分支数不同,由于MEMM的局部归一化特性,使得转出概率的分布不均衡,最终导致状态的转移存在不公平的情况。

怎么解决这种问题呢?先介绍一个最直观的最粗暴的解决方法,由于我们知道是因为概率分布不均导致的,可以简单把每个节点转出概率和为1的限制去掉,比如我们简单把上图中stat2中每个结点出发的边的概率值×10,重新计算每条路径的概率如下:

  • 路径1-1-1-1的概率:0.4*0.45*0.5=0.09
  • 路径2-2-2-2的概率:2*3*3=18
  • 路径1-2-1-2的概率:0.6*2*5=6
  • 路径1-1-2-2的概率:0.4*0.55*3=0.66

由此可得最优路径是2-2-2-2, 这就解决了MEMM的标记偏置问题。当然这个方法太粗暴了,CRF则是利用一种全局的优化思路来定向解决的。

至此,这三个算法的区别和联系基本算讲清楚了。下面从机器学习中的概率图角度来看如何区分三者的区别呢?下面这三个图非常清晰地展示了之间的区别和联系。

上图很好诠释了HMM模型中存在两个假设:一是输出观察值之间严格独立,二是状态的转移过程中当前状态只与前一状态有关(一阶马尔可夫模型)。

上图说明MEMM模型克服了观察值之间严格独立产生的问题,但是由于状态之间的假设理论,使得该模型存在标注偏置问题。

上图显示CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设。当然,模型相应得也变复杂了。





HMM模型将标注看作马尔可夫链,一阶马尔可夫链式针对相邻标注的关系进行建模,

其中每个标记对应一个概率函数。HMM是一种产生式模型,定义了联合概率分布 ,

其中x和y分别表示观察序列和相对应的标注序列的随机变量。为了能够定义这种

联合概率分布,产生式模型需要枚举出所有可能的观察序列,这在实际运算过程

中很困难,因为我们需要将观察序列的元素看做是彼此孤立的个体即假设每个元

素彼此独立,任何时刻的观察结果只依赖于该时刻的状态。

HMM模型的这个假设前提在比较小的数据集上是合适的,但实际上在大量真实语

料中观察序列更多的是以一种多重的交互特征形式表现,观察元素之间广泛存在

长程相关性。在命名实体识别的任务中,由于实体本身结构所具有的复杂性,利

用简单的特征函数往往无法涵盖所有的特性,这时HMM的假设前提使得它无法使

用复杂特征(它无法使用多于一个标记的特征。

最大熵模型可以使用任意的复杂相关特征,在性能上最大熵分类器超过了Byaes

分类器。但是,作为一种分类器模型,这两种方法有一个共同的缺点:每个词都

是单独进行分类的,标记之间的关系无法得到充分利用,具有马尔可夫链的HMM

模型可以建立标记之间的马尔可夫关联性,这是最大熵模型所没有的。

最大熵模型的优点:首先,最大熵统计模型获得的是所有满足约束条件的模型中

信息熵极大的模型;其次,最大熵统计模型可以灵活地设置约束条件,通过约束条

件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度;再次,它还

能自然地解决了统计模型中参数平滑的问题。

最大熵模型的不足:首先,最大熵统计模型中二值化特征只是记录特征的出现是否,

而文本分类需要知道特征的强度,因此,它在分类方法中不是最优的;其次,由于

算法收敛的速度较慢,所以导致最大熵统计模型它的计算代价较大,时空开销大;

再次,数据稀疏问题比较严重。

最大熵马尔科夫模型把HMM模型和maximum-entropy模型的优点集合成一个产生式

模型,这个模型允许状态转移概率依赖于序列中彼此之间非独立的特征上,从而将

上下文信息引入到模型的学习和识别过程中,提高了识别的精确度,召回率也大大

的提高,有实验证明,这个新的模型在序列标注任务上表现的比HMM和无状态的最

大熵模型要好得多。

CRF模型的特点:首先,CRF在给定了观察序列的情况下,对整个的序列的联合概率

有一个统一的指数模型。一个比较吸引人的特性是其 损失函数 的凸面性。其次,

条件随机域模型相比较改进的隐马尔可夫模型可以更好更多的利用待识别文本中所

提供的上下文信息以得更好的实验结果。条件随机域在中文组块识别方面有效,并

避免了严格的独立性假设和数据归纳偏置问题。条件随机域(CRF)模型应用到了中文

名实体识别中,并且根据中文的特点,定义了多种特征模板。并且有测试结果表明:

在采用相同特征集合的条件下,条件随机域模型较其他概率模型有更好的性能表现。

再次,词性标注主要面临兼类词消歧以及未知词标注的难题,传统隐马尔科夫方法

不易融合新特征,而最大熵马尔科夫模型存在标注偏置等问题。论文引入条件随机域

建立词性标注模型,易于融合新的特征,并能解决标注偏置的问题。

   CRFs具有很强的推理能力,并且能够使用复杂、有重叠性和非独立的特征进行训练

和推理,能够充分地利用上下文信息作为特征,还可以任意地添加其他外部特征,使得模型能

够获取的信息非常丰富。同时,CRFs解决了最大熵模型中的“label bias”问题。CRFs与

最大熵模型的本质区别是:最大熵模型在每个状态都有一个概率模型,在每个状态转

移时都要进行归一化。如果某个状态只有一个后续状态,那么该状态到后续状态的跳

概率即为1。这样,不管输入为任何内容,它都向该后续状态跳转。而CRFs是在所有的

状态上建立一个统一的概率模型,这样在进行归一化时,即使某个状态只有一个后续

状态,它到该后续状态的跳转概率也不会为1,从而解决了“labelbias”问题。因此,

从理论上讲,CRFs非常适用于中文的词性标注。

CRF模型的优点:首先,CRF模型由于其自身在结合多种特征方面的优势和避免了标记

偏置问题。其次,CRF的性能更好,CRF对特征的融合能力比较强,对于实例较小的

时间类ME来说,CRF的识别效果明显高于ME的识别结果。

CRF模型的不足:首先,通过对基于CRF的结合多种特征的方法识别英语命名实体的分析

发现在使用CRF方法的过程中,特征的选择和优化是影响结果的关键因素,特征选择问题

的好与坏,直接决定了系统性能的高低。其次,训练模型的时间比ME更长,且获得的模型

很大,在一般的PC机上无法运行。

#统计模型