条件随机场介绍—— An Introduction to Conditional Random Fields

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件随机场介绍—— An Introduction to Conditional Random Fields相关的知识,希望对你有一定的参考价值。

1. 引言

在许多实际应用中,能够对相互依赖的多个变量进行预测的能力非常重要。这些应用的涵盖范围很广,包括图片区域划分[49,61,69]、Go游戏中的得分评估[130]、DNA基因切分[7]、自然语言文本语法解析[144]等。这些应用所共有的特征,是在已知观测特征向量\(\mathbf{x}\)的条件下,预测随机向量输出\(\mathbf{y}=\{y_0,y_1,\cdots,y_T\}\)。以自然语言处理中的词性标注问题为例,该问题中变量\(y_s\)是位于\(s\)的词的词性标记,输入\(\mathbf{x}\)为特征向量\(\{\mathbf{x}_0,\mathbf{x}_1,\cdots,\mathbf{x}_T\}\)\(\mathbf{x}_s\)包含了第\(s\)个词的各种信息,如该词汇自身、词的前缀后缀等拼写特征、在领域词典中的隶属关系,以及在语义数据库(如WordNet)中的信息。

解决这类多元预测问题的方法之一(特别是当目标是最大化\(y_s\)中正确标记的数量时),是为每个\(s\)学习一个独立的分类器\(\mathbf{x}\mapsto y_s\)。然而,这种方法的问题在于很难描述输出变量之间复杂的依赖关系。例如,英语中形容词一般不在名词之后;计算机视觉领域中,图像相邻的相素往往具有相同的类别标记。另一个困难,是输出变量可能需要表示成复杂的结构(如解析树)。若使用独立分类器,那么在树的顶部使用什么样的语法规则会对树的其他部分会产生重大的影响。

图模型(graphical model)是一种能够自然地表示输出变量之间依赖关系的方法。图模型的类型有很多,如贝叶斯网络、神经网络、分形图、马尔可夫随机场、Ising模型等,它可以将大量变量之上的复杂分布表示为较小的变量集合之上的局部因子(local factors)的乘积。进而,能够描述给定概率密度的因子分解与该分布中的条件独立关系集合之间的一致性。这种一致性使得建模更加方便,因为我们能常能够根据领域知识做出合理的独立性假设,进而确定因子的选择。

许多图模型的研究关注生成模型(生成模型试图构建输入输出之上的联合概率分布\(p(\mathbf{y},\mathbf{x})\)),特别是在统计自然语方处理领域。尽管生成模型有许多优点,但也具有严重的不足之处。在\(\mathbf{x}\)的维度很大或者特征之间存在复杂的依赖关时,构建概率分布非常困难。若要对输入数据之间的依赖关系建模,会使模型复杂而难以处理,但是忽略它们又会降低模型的性能。

解决该问题的一种途径是采用判别模型,与逻辑回归等分类方法相似,将模型直接构建为条件分布\(p(\mathbf{y}|\mathbf{x})\)。这样做既使模型得到简化又能够满足分类任务的需要。这正是条件随机场所采用的方法。条件随机场本质上是判别分类方法和图模型两者优点的结合,它既具有对输出\(\mathbf{y}\)简洁建模的能力,又能够利用大量输入特征\(\mathbf{x}\)用于预测。条件模型的优点是,那些仅涉及到\(\mathbf{x}\)的变量依赖关系对条件模型没有任何影响,这样就使得精确的条件模型比联合模型要简单得多。生成模型与条件随机场之间的区别,与朴素贝叶斯和逻辑回归之间的区别类似。实际上,多项式逻辑回归可以看作仅有一个输出变量的最简单的条件随机场。

条件随机场已经在多问题中得到成功的应用,包括文本处理[105,124,125],生物信息[76,123],计算机视觉[49,61]等。早期应用中大都使用线性链条件随机场,最近的一些研究中使用了更为一般的结构。一般图结构的模型在预测复杂的结构,如图或树,或者放松实体间独立性假设(如关系学习[142])等方面非常有用。

本文介绍条件随机场模型的构建、推断与参数估计,对读者关于图模型的知识没有做要求,因此对很多领域的从业人员会很有用。本文首先描述了条件随机场问题(第2部分),包括线性链条件随机场,一般图结构的条件随机场,以及包含隐变量的隐条件随机场。我们还描述了条件随机场如何既被看作逻辑回归的推广,又可以被看作隐马尔可夫模型的判别化类比。

在接下来的两个部分中,我们介绍条件随机场的推断(第4部分)和学习(第5部分)。推断问题涉及到计算\(p(\mathbf{y}|\mathbf{x})\)的边缘分布,以及使似然概率最大化的\(\mathbf{y}^*=\arg\max_{\mathbf{y}}p(\mathbf{y}|\mathbf{x})\)。学习问题主要关注参数估计,确定能够使\(p(\mathbf{y}|\mathbf{x})\)与训练样本\(\{\mathbf{x}^{(i)},\mathbf{y}^{(i)}\}^N_{i=1}\)最佳拟合的参数。推断过程和学习的过程紧密相关,因为推断算法通常是学习算法的子程序。

最后,我们介绍了条件随机场与其他模型之间的关系,包括其他的结构化预测方法、神经网络,以及最大熵马尔可夫模型(MEMM)(第6部分)。

1.1 实现细节

本文中,我们尽量给出其他研究文献中常常省略掉的实现细节,例如特征工程的相关问题(第2.5部分)、推断过程中如何避免数值下溢(第4.3部分),以及条件随机场在一些基准问题上训练的可伸缩性(第5.5部分)。

下面是几个常见的条件随机场实现工具:


CRF++ http://crfpp.sourceforge.net/

MALLET http://mallet.cs.umass.edu/

GRMM http://mallet.cs.umass.edu/grmm/

CRFSuite http://www.chokkan.org/software/crfsuite/

FACTORIE http://www.factorie.cc


此外,马尔可夫逻辑网络(Markov Logic networks)软件(如Alchemy:http://alchemy.cs.washington.edu/)也可以用于构建条件随机场模型。Alchemy、GRMM和 FACTORIE 是我们知道的仅有的能够处理任意图形结构的工具包。

以上是关于条件随机场介绍—— An Introduction to Conditional Random Fields的主要内容,如果未能解决你的问题,请参考以下文章

条件随机场介绍—— An Introduction to Conditional Random Fields

条件随机场介绍—— An Introduction to Conditional Random Fields

条件随机场介绍—— An Introduction to Conditional Random Fields

条件随机场介绍—— An Introduction to Conditional Random Fields

理解条件随机场(转)

CRF条件随机场