您的位置:首页 > 其它

系统学习机器学习之随机场(二)--MRF,CRF及几种模型对比

2016-12-15 09:26 260 查看
实在没有时间整理总结,也是针对CRF的相关问题,不断增加更新网上的资料,基本这里已经覆盖了目前关于CRF的所有问题。

原文:http://blog.csdn.net/discxuwei/article/details/6331617

条件随机场(Conditional random fields),是一种判别式图模型,因为其强大的表达能力和出色的性能,得到了广泛的应用。从最通用角度来看,CRF本质上是给定了观察值集合 (observations)的马尔可夫随机场(MRF)。在这里,我们直接从最通用的角度来认识和理解CRF,最后可以看到,线性CRF和所谓的高阶CRF,都是某种特定结构的CRF。
1. 随机场
简单地讲,随机场可以看成是一组随机变量的集合(这组随机变量对应同一个样本空间)。当然,这些随机变量之间可能有依赖关系,一般来说,也只有当这些变量之间有依赖关系的时候,我们将其单独拿出来看成一个随机场才有实际意义。
2. Markov随机场(MRF)
这是加了Markov性质限制的随机场。首先,一个Markov随机场对应一个无向图。这个无向图上的每一个节点对应一个随机变量,节点之间的边表示节点对应的随机变量之间有概率依赖关系。因此,Markov随机场的结构本质上反应了我们的先验知识——哪些变量之间有依赖关系需要考虑,而哪些可以忽略。Markov性质是指,对Markov随机场中的任何一个随机变量,给定场中其他所有变量下该变量的分布,等同于给定场中该变量的邻居节点下该变量的分布。这让人立刻联想到马式链的定义:它们都体现了一个思想:离当前因素比较遥远(这个遥远要根据具体情况自己定义)的因素对当前因素的性质影响不大。

Markov性质可以看作是Markov随机场的微观属性,那么其宏观属性就是其联合概率的形式。

假设MRF的变量集合为

S={y1,…yn},

P(y1,…yn)= 1/Z * exp{-1/T * U(y1,..yn)},

其中Z是归一化因子,即对分子的所有y1,..yn求和得到。U(y1,..yn)一般称为能量函数(energy function), 定义为在MRF上所有团的势函数(clique-potential)之和。T称为温度,一般取1。什么是团势函数clique-potential呢? 就是在MRF对应的图中,每一个团(clique)对应一个函数,称为团势函数(clique-potential)。(补充:团是马尔科夫无向图中,节点的集合使得该集合中任意两个节点之间都存在一条边,不采用条件概率,在无向图中用势函数来体现局部约束,不必有概率解释,且有更大的自由度,偏爱某种局部配置,而不是其他局部配置)。这个联合概率形式又叫做吉布斯分布(Gibbs
distribution)。Hammersley and Clifford定理表达了这两种属性的等价性。

如果团势函数的定义和团在图中所处的位置无关,则称该MRF是齐次的;如果团势函数的定义和 团在图中的朝向(orientation)无关,则称该MRF是各向的。一般来说,为了简化计算,都是假定MRF即是 齐次的,也是各向的。

补充:

尽管在给定每个节点的条件下,分配给该节点一个条件概率是可能的,但条件随机场的无向性很难保证每个节点在给定它的邻接点条件下得到的条件概率和以图中其它节点为条件得到的条件概率一致。因此导致我们不能用条件概率参数化表示联合概率,而要从一组条件独立的原则中找出一系列局部函数的乘积来表示联合概率。选择局部函数时,必须保证能够通过分解联合概率使没有边的两个节点不出现在同一局部函数中。简单的局部函数是定义在图结构中的大团(clique)上的势函数(Potential
function),并且是严格正实值的函数形式。但是一组正实数函数的乘积并不能满足概率公理,则必须引入一个归一化因子Z ,这样可以确保势函数的乘积满足概率公理,且是G 中节点所表示的随机变量的联合概率分布。



其中C 为大团集合,利用 Hammersley-Clifford 定理,可以得到联合概率公式如下: 



基于条件独立的概念,条件随机场的无向图结构可以用来把关于 Υv ∈Υ 的联合分布因式化正的和实值的势函数的乘积,每个势函数操作在一个由G中顶点组成的随机变量子集上。根据无向图模型条件独立的定义,如果两个顶点间没有边,则意味着这顶点这些顶点对应的随机变量在给定图中其它顶点条件下是条件独立的。所以在因式化条件独立的随机变量联合概率时,必须确保这些随机变量不在同一个势函数中。满足这个要求的容易的方法是
要求每个势函数操作在一个图G 的大团上,这些大团由随机变量相应顶点组成。这确 保了没有边的顶点在不同的势函数中,在同一个大团中的顶点都是有边相连的。在无向图 中,任何一个全连通(任意两个顶点间都有边相连)的子图称为一个团(clique),而称不能 被其它团所包含的才为大团(maximal clique)。

3.从Markov随机场到CRF

现在,如果给定的MRF中每个随机变量下面还有观察值,我们要确定的是给定观察集合下,这个MRF的分布,也就是条件分布,那么这个MRF就称为 CRF(Conditional Random Field)。它的条件分布形式完全类似于MRF的分布形式,只不过多了一个观察集合x,即P(y1,..yn|x) = 1/Z(x) * exp{ -1/T * U(y1,…yn,x)。U(y1,..yn,X)仍旧是click-potential之和。

来点正式的:

关联数据有两个特点:第一,我们准备建立模型的实体之间存在统计依赖性,第二,每个实体自身具有丰富的有利于分类的特征例如,当Web文档进行分类时候,网页上的文本类标签提供了很多信息,但超链接定义的页面之间的关系,可以进一步提高分类的准确度,图模型很自然的建立了实体之间的结构化关系。通常来讲,图模型已被用于表示联合概率分布P(Y,X),其中的变量y代表我们希望预测的属性,输入变量X代表获得的实体信息。利用关系数据中的局部特征对联合分布建模非常困难,因为这需要对包含复杂依赖关系的P(X)建模,引入数据之间的关系是把双刃剑,如果模型中引入它,导致模型非常复杂,如果忽略它,那么模型的准确性就会受到影响.对于分类问题来说,直接模拟的条件分布P(Y|X)条件随机场就是这么做的。条件随机场是关联这一个图结构的条件分布P(Y|
X),因为直接对条件概率建模,输入变量X之间的关联不需要显示的表达出来

通常我看到一个模型,我总是会试着和我所知道的一些模型去进行比较。CRF算是机器学习模型中比较复杂的一个模型。同输入输出角度, CRF从数据空间来看是一个序列化的输入和序列化的输出, 从函数空间角度,就是一个指数函数,和逻辑回归函数形式一致,只是他的输出是一个序列(一条句子)或者一个矩阵(一副图像),损失函数是cross entropy,优化算法一般采用梯度下降类算法(LBFGS),但是在优化的过程中伴随着复杂的inference过程。

判别式模型和产生式模型

朴素贝叶斯和逻辑回归模型之间的一个重要区别是,朴素贝叶斯是产生式模型,它基于联合分布P(X,Y)建模,而逻辑回归是判别式模型,它直接对条件分布P(Y|X)建模,这一段中我们讨论产生式模型和判别式模型的区别和判别式模型在很多应用中的优点,具体来说,我们会集中以朴素贝叶斯和逻辑回归为例,但是这些区别可以推广到一般的产生式模型和判别式模型。

对条件分布p(Y| X)建模,不包括对P(X) 建模(P(X)对分类来说无关紧要),对P(X)建模非常困难,因为P(X)包含很多相互依赖的特征,比如在 NER应用中,HMM只依赖一个特征,这个词本身,但是很多词,特别是一些特定的名字可能没有出现在训练集合中,因此词本身这个特征是未知的,为了标注未登陆词,我们需要利用词的其他的特征,如词性,相邻词,前缀和后缀等。

在产生式模型中包含相互依赖的特征有两种方式,加强模型来表达输入数据之前的关联,或者简单的做独立性假设,比如朴素贝叶斯假设,第一种方法通常很难在提高模型复杂度的同时仍然保持模型优化的简便,比如我们很难建立词性和词的后缀之间的关系,而实际上我们也不是特别愿意去这么做,第二种方法,对输入数据做独立性假设会使得准确性降低,尽管朴素贝叶斯在文本分类应用中表现出其的好,但是在很多其他的应用中都比逻辑回归要逊色虽然朴素贝叶斯的分类准确率较高,但是在概率估计应用方便表现较差。

线性链式CRF模型

模型定义

线性链式的条件随机场如下所示



样本级的归一化函数



从HMM到CRF

我们已经看到了判别式模型和序列模型的有点,而线性链式条件随机场综合了这两点,我们从HMM引入线性链式CRF,然后在讨论模型的参数估计

通常HMM表达式如下



可以进一步表示成下面这种形式





为分布的参数,通过引入特征函数的概念来紧凑的来表达,每个特征函数都表达成


, 需要一个特征函数


来表达转移概率(i,j),另外一个特征函数


来表达发射概率(i,o),这样可以重写HMM如下所示



最后从HMM导出条件概率模型如下:



这个条件概率是线性链式条件随机场,只是特征只包括词本身这一个,当然线性链式条件随机场可以包含很多其他的特征。

我们已经看到当联合分布为HMM的形式时,相应的条件概率分布为线性链式的CRF,在HMM中状态i 到状态j的转移概率总是相同的,和当前的输入无关,但是在CRF中,我们可以通过加入特征


来使得状态i到状态j的转移概率和当前输入有关。                                                                                                                                                                                         

模型优化

这一节我们来讨论如何估计CRF的参数


给定独立同分布的训练数据




为序列化输入,


为序列化输出

优化采用的是带惩罚项的极大似然估计,注意也基于样本独立这个假设,然后通过也通过对数运算把累积问题转换为累加问题。



展开之后得到了下面的形式:



假设参数的先验分布为高斯分布,得到下式,即加上了一个正则化项:



优化最重要的就是梯度的计算了,梯度本身就是对各参数的求导过程(下式)。求导的过程可以抛开对各样本梯度的求和,只需要关注一个样本,然后再求和即可,比较难理解的应该是第二项的求导了,


可以这样理解,注意概率是样本级的和位置t无关,log(z(xi)) = z(xi)'/z(xi), z(xi)’是z(xi)基于参数的导数,注意这个导数是三阶导数,最后一步是对exp里面的线性部分求导,得到fk 这项,前面的部分是一个概率,由于只针对第i个样本,第t个节点,因此和他相关的label只有两个,因此对y的求和变成了对yt和yt-1的求和,注意在label独立看待时,他是和位置无关的(不带位置t),因此可以把yt和yt-1的情况聚在一起,得到概率项目,不过这时候yt 和yt-1 改为 y和 y'来表示了。这个公式其实就是最大熵,特征基于训练样本的分布和特征基于测试样本的分布一致,通过下面这个梯度来调整参数,最后可做到这点。



第一项是特征函数在先验分布(样本)上的期望,第二项是特征函数在当前模型参数下的期望,忽略正则项的情况下,当梯度为零的时候,两项相等。也就是线性链式CRF的梯度计算,等价于最大熵模型约束等式。

推理(inference)

对CRF来说通常两类推理问题,

第一,在训练阶段,计算梯度需要每条边的边缘分布


;

第二,在测试阶段,求概率最大的标号序列(viterbi)


在CRF中要做的事情就是在上面那个梯度的公式中求出在当前样本及当前的参数下,各个label状态出现的条件概率。然后基于这个分布来计算特征在当前参数下的期望。注意这个计算是对每个样本进行计算。在图像数据中,inference通常只是求近似解,但是在一维问题中可以求的精确解的,HMM中有个问题是在给定参数之后求解最可能的序列和每个序列的概率,,同样





的定义如下:



表示从头部开始分析,当前节点标号为j的概率,如下式所示







初始状态



可以看出




表示表示从尾部开始分析,当前节点标号为i的概率





初始状态



可以看出


条件概率如下,



推广到线性链式CRF,


的定义如下所示



MEMM模型(最大熵马尔科夫)

补充:

最大熵模型(Maximum Entropy Models, MEMs)是基于大熵理论的统计模型, 广泛应用于模式识别和统计评估中。最大熵原理有一个很长的历史,其中最大熵理论方面的先驱 E.T.Jaynes 在 1990 年给出了最大熵原理的基本属性:最大熵概率分布服从我们已知的不完整信息的约束。主要思想是,在用有限知识预测未知时,不做任何有偏的假设。根据熵的定义,一个随机变量的不确定性是由熵体现的,熵最大时随机变量最不确定,对其行为做准确预测最困难。最大熵原理的实质是,在已知部分知识前提下,关于未知分布最合理的推断是符合已知知识的最不确定或最随机的推断,这是我们可以做出的唯一不偏不倚的选
择。最大熵的原理可以概括为,将已知事件作为约束条件,求得可使熵最大化的概率分布作为正确的概率分布。对于最大熵的约束条件,应用在熵的计算公式时,我们希望找到能同时满足多个约束条件的最均匀模型。也就是在约束条件下,熵取得最大值。如何在给定约束集条件下,求得最优最大熵模型?

这里,我们直接给出最大熵模型的约束条件:

经验期望和模型期望相等,即模型的约束等式。

满足约束条件的模型很多。模型的目标是产生在约束集下具有均匀分布的模型,条件熵 H( X|Y)作为条件概率P(y|x)均匀性的一种数学测度方法。为了强调熵对概率分布 p 的依赖,我们用H(P)代替H(Y|X):



对于任意给定的约束集C ,能找到唯一的P*使H(p)取得大值,如何找到p*, 是一个约束最优化问题。我们给出p* 的等式:



对于简单的约束条件,我们能用解析的方法找到最优的概率分布,但对于一般性问题, 这种方法是不可行的。为解决一般性约束最优化问题,我们应用了约束最优化理论中的 Lagrange 乘子定理解决这个问题,具体推导这里不补充了。类似SVM的对偶求解。

利用最大熵模型建模时,我们只需集中精力选择特征,而不需要花费精力考虑如何使用这些特征。该模型的另一个优点是特征选择灵活,且不需要额外的独立性假设或内在约束。 但大熵模型时空开销大,存在严重的数据稀疏问题,需要进行平滑处理,且对语料库的依赖性大。

给定观测序列



通过最大化


得到标号序列


在MEMM模型中,概率


表示成了马尔可夫转移概率的连乘,



转移概率都可以通过


对于前一个标号


的所有状态,当前标号


的概率表示成为最大分类器的形式





是连续数值或者类别的特征函数,


是归一化项,保证概率分布的和为1

这个形式的分布满足最大熵概率分布,及满足特征的先验分布的期望等于特征在给定(训练好的)模型下的期望,即对于所有的i满足


标记偏置

假设序列



开始状态


,读入


转入状态





的概率相同,


本身只有一个转移状态





则有





两个状态,这时发生的情况是





转移概率为1,











的转移概率小于1,他们之和为1,这就存在了不合理性,因为可能读入








转移概率本来很小,但是由于只有一个状态就归一化为1了,而











的转移概率就算概率很大也被归一成了小于1的数,由于归一时并没有考虑到所有前一的转移状态的归一,而是只考虑了由前一个状态转移的状态进行的归一,这就使得向着转移状态少的方向进行了选择。

最大熵模型

假设 x 观测数据,y为标号,


为n维的参数向量







,


为m维的输入特征向量

当y为不同的标号状态时候,对应的


不一样,因此有 m*k维的参数向量,即下面的形式(逻辑回归模型(softmax regression))



模型比较

优点:

(1)和HMM相比,CRF直接对后验概率建模,因而可以容纳任意的上下文信息。特征设计灵活,

(2)和MEMM相比,由于CRF计算全局最优输出节点的条件概率,MEMM只是由前一个状态转移的状态进行的归一,而是对序列的所有可能组合进行归一,克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点

(3)和ME相比,CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,考虑标号序列之间的关系,而不是把假设标注之间独立,

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

4.训练

通过一组样本,我们希望能够得到CRF对应的分布形式,并且用这种分布形式对测试样本进行分类。也就是测试样本中每个随机变量的取值。

在实际应用中,clique-potential主要由用户自己定义的特征函数组成,即用户自己定义一组函数,这些函数被认为是可以用来帮助描述随机变量分布的。而这些特征函数的强弱以及正向、负向是通过训练得到的一组权重来表达的,这样,实际应用中我们需要给出特征函数以及权重的共享关系(不同的特征函数可能共享同一个权重),而clicque-potential本质上成了对应特征函数的线性组合。这些权重就成了CRF的参数。因此,本质上,图的结构是用户通过给出特征函数的定义确定的(例如,只有一维特征函数,对应的图上是没有边的)还有,CRF的分布成了对数线性形式。

看到这个分布形式,我们自然会想到用最大似然准则来进行训练。对其取log之后,会发现,表达式是convex的,也就是具有全局最优解——这是很让人振奋的事情。而且,其梯度具有解析解,这样可以用LBFGS来求解极值。
此外,也可以使用最大熵准则进行训练,这样可以用比较成熟的GIS和IIS算法进行训练。由于对数线性的分布形式下,最大熵准则和最大似然准则本质上是一样的,所以两者区别不是很大。
此外,由于前面两种训练方法在每一轮迭代时,都需要inference,这样会极大地降低训练速度。因此普遍采用另一种近似的目标函数,称为伪似然。它用每个随机变量的条件分布(就是给定其他所有随件变量的分布)之积来替代原来的似然函数,根据markov性质,这个条件分布只和其邻居有关(Markov Blanket),这样在迭代过程中不需要进行全局的inference,速度会得到极大的提升。我自己的经验表明,当特征函数很多取实数值时,伪似然的效果跟最大似然的差不多,甚至略好于后者。但对于大量二元特征(binary-valued),伪似然的效果就很差了。

5.推断

如前所述,训练的过程中我们需要概率推断,分类的时候我们需要找出概率最大的一组解,这都涉及到推断。这个问题本质上属于图模型上的概率推断问题。对于最简单的线性框架的结构,我们可以使用Viterbi算法。如果图结果是树形的,可以采用信念传播(belief propogation),用sum-product得到概率,用max-product得到最优的configuration.但是对于任意图,这些方法就无效了。一种近似的算法,称为loopy-belief propogation,就是在非树形结构上采用信念传播来进行推断,通过循环传播来得到近似解。这么做据说在某些场合下效果不错。但是,在训练时如果采用近似推断的话,可能会导致长时间无法收敛。

基于任意图上的概率推断算法称为 junction  tree。这个算法能够保证对任意图进行精确推理。它首先把原来的图进行三角化,在三角化的图上把clique按照某种方式枚举出来作为节点(实际上就是合并特征函数),clicque之间如果有交集,对应的节点之间就有边,这样就得到一个新的图,通过对这个图求最大生成树,就得到了Junction tree. 最后在junction tree上进行信念传播可以保证得到精确解。

本质上这3中算法都属于动态规划的思想。Viterbi的想法最直观,信念传播首先将特征函数都转换为factor,并将其与随机变量组合在一起形成 factor-graph, 这样在factor-graph上用动态规划的思想进行推断(即做了一些预处理)。junction tree的做法是通过合并原有的特征函数, 形成一种新的图,在这个图上可以保证动态规划的无后效性,于是可以进行精确推理。(做了更为复杂的预处理)

值得注意的是,junction tree虽然极大地避开了组合爆炸,但由于它要合并特征函数并寻找clique, 用户的特征函数如果定义的维数过大,它得到新的clique也会很大,这样在计算的时候还是会很低效,因为在推断的过程中它需要遍历所有clique中的配置,这和clique的大小是呈指数级的。所以,用户要避免使用维数过高的特征。

与其他算法的比较

优点:

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

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

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

­­ ————与ME比较

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

HMM,MEMM,CRF模型的比较

这三个模型都可以用来做序列标注模型。但是其各自有自身的特点,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在局部统计归一化的概率。

机器学习方法的两种分类:产生式模型和判别式模型
假定输入x, 类别标签y
—产生式模型(生成模型)估计联合概率 P(x, y), 因可以根据联合概率来生成样本 —: HMMs

—判别式模型(判别模型)估计条件概率 P(y|x), 因为没有x的知识,无法生成样本,只能判断分类: SVMs,CRF,MEM

一个举例:

(1,0), (1,0), (2,0), (2, 1)

产生式模型:

p(x, y):

P(1, 0) = 1/2, P(1, 1) = 0, P(2, 0) = 1/4, P(2, 1) = 1/4.
判别式模型:

P(y|x):

P(0|1) = 1, P(1|1) = 0, P(0|2) = 1/2, P(1|2) = 1/2

—o和s分别代表观察序列和标记序列

—产生式模型

—     构建o和s的联合分布p(s,o)

—判别式模型

—     构建o和s的条件分布p(s|o)

—产生式模型中,观察序列作为模型的一部分;

—判别式模型中,观察序列只作为条件,因此可以针对观察序列设计灵活的特征。

产生式模型:无穷样本==》概率密度模型 = 产生模型==》预测

判别式模型:有限样本==》判别函数 = 预测模型==》预测

    一般认为判别型模型要好于生成型模型,因为它是直接根据数据对概率建模,而生成型模型还要先求两个难度相当的概率
补充下标记偏置问题:

原文:http://blog.csdn.net/zhoubl668/article/details/7787690





路径1-1-1-1的概率:0.4*0.45*0.5=0.09

路径2-2-2-2的概率:0.018

路径1-2-1-2:0.06

路径1-1-2-2:0.066
由此可得最优路径为1-1-1-1




而实际上,在上图中,状态1偏向于转移到状态2,而状态2总倾向于停留在状态2,这就是所谓的标注偏置问题,由于分支数不同,概率的分布不均衡,导致状态的转移存在不公平的情况。

PS:标注偏置问题存在于最大熵马尔可夫模型(MEMM)中,虽然MEMM解决了HMM输出独立性假设的问题,但是只解决了观察值独立的问题,状态之间的假设则是标注偏置问题产生的根源,CRF则解决了标注偏置问题,是HMM模型的进一步优化。



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机上无法运行。
再补充一点:
实际上,网上大多数资料中CRF主要用在词性标注问题上,也就是解码过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: