作者:Ravish Chawla
编译:ronghuaiyang
导读
一个简单明了的对条件随机场的说明,给大家一个非常直观的印象,CRF到底是个什么东西,能干什么用。
条件随机场是一种用于序列预测的判别模型。它们使用来自以前标签的上下文信息,从而增加了模型做出良好预测的信息量。在这篇文章中,我将讨论一些介绍CRFs的主题。先给大家过一遍:
- 什么是判别分类器(以及它们与生成分类器的比较)
- 条件随机场的数学概述
- 条件随机场与隐马尔可夫模型有何不同
- 条件随机场的应用
什么是判别分类器
机器学习模型有两种常见的类别:生成模型和判别模型。条件随机场是一种判别分类器,它对不同类别之间的决策边界进行建模。另一方面,生成模型是对数据如何生成进行建模,这些模型在学习之后可以用来进行分类。举个简单的例子,朴素贝叶斯是一种非常简单和流行的概率分类器,是一种生成模型,而逻辑回归是一种基于最大似然估计的分类器,是一种判别模型。让我们看看这些模型如何用来计算标签预测:
朴素贝叶斯分类器是基于朴素贝叶斯算法的分类器,它的描述如下:
我们可以把分类器做出的预测表示为一个条件概率,我们使用朴素贝叶斯算法进行分解:
Logistic回归分类器是基于Logistic函数,即:
为了在Logistic回归中学习两个类之间的决策边界,分类器学习与每个数据点相关的权值(Theta值),表示为:
利用Logistic回归分类器,我们可以看到我们在最大化条件概率,利用贝叶斯规则,我们可以得到朴素贝叶斯分类器所使用的生成分类器。
将P(y | x)代入贝叶斯方程:
把它等价于先验和似然性的乘积,因为在argmax中,分母P(x)不提供任何信息。
该结果是较早得到的朴素贝叶斯算法生成分类器。
我们进一步可以看到P(x | y) * P(y)等于P(x, y),这是x和y的联合分布,这一观察结果支持了生成模型的早期定义。通过对类与类之间的联合概率分布建模,生成模型可以得到给定标签Y和联合概率分布并“生成”输入点X。同样,判别模型通过学习条件概率分布,学习了数据点之间的决策边界。所以,给定一个输入点,它可以使用条件概率分布来计算它的类。
这些定义如何应用于条件随机场?条件随机场是一种判别模型,其基本原理是对序列输入应用逻辑回归。如果你熟悉隐马尔可夫模型,你会发现它们与CRFs有一些相似之处,其中之一是它们也用于序列输入。HMMs利用过渡矩阵和输入向量来学习发射矩阵,在概念上与朴素贝叶斯相似。HMMs是一个生成模型。
条件随机场的数学介绍
在讨论了上述定义之后,我们现在将讨论条件随机场,以及如何使用它们来学习序列数据。
如前一节所示,我们对条件分布建模如下:
在CRFs中,我们的输入数据是顺序的,在对数据点进行预测时,必须考虑前面的上下文。为了对这种行为进行建模,我们将使用特征函数,它将有多个输入值,为:
- 输入向量集合X
- 我们预测的数据点的位置i
- X中数据点i-1的标签
- X中数据点i的标签
我们将特征函数定义为:
特征函数的目的是表示数据点所表示的序列的某种特征。例如,如果我们将CRFs用于词性标注,则:
f (X, i, L{i - 1}, L{i} ) = 1 如果 L{i - 1}是名词并且 L{i} 是动词. 0 其他。
同样, f (X, i, L{i - 1}, L{i} ) = 1 如果 L{i - 1} 是动词并且 L{i} 是副词. 0 其他。
每个特征函数都基于前一个单词和当前单词的标签,并且要么是0,要么是1。为了构建条件场,我们接下来为每个特征函数分配一组权重(lambda值),算法将学习这些权重:
为了估计参数(lambda),我们使用最大似然估计。为了应用该技术,我们首先对分布取负对数,使偏导数更容易计算:
要对负对数函数应用最大似然,我们将使用argmin(因为最小化负函数将产生最大似然性)。为了求最小值,我们可以求导,得到:
我们把求偏导数作为梯度下降的一个步骤。梯度下降迭代更新参数值,每次一小步,直到值收敛。CRF的最终梯度下降更新方程为:
总结一下,我们使用条件随机场,首先定义所需的特征函数,初始化随机值的权重,然后迭代地应用梯度下降,直到参数值(在本例中是lambda)收敛。我们可以看到CRFs类似于Logistic回归,因为它们使用条件概率分布,但是我们通过将特征函数作为序列输入来扩展算法。
CRFs和HMM有什么不同?
从前面几节中,条件随机场与隐马尔可夫模型的区别是显而易见的。虽然这两种方法都用于对顺序数据建模,但它们是不同的算法。
隐马尔可夫模型具有生成性,通过对联合概率分布建模给出了输出。另一方面,条件随机场具有判别性,并对条件概率分布进行了建模。CRFs不依赖于独立假设(即标签彼此独立),并且避免了标签偏差。一种理解它的方法是隐马尔可夫模型是条件随机场的一个非常特殊的例子,转移概率使用了常数。HMMs基于朴素贝叶斯,我们说它可以从逻辑回归得到,CRFs就是从逻辑回归得到的。
条件随机场的应用
由于CRFs具有对顺序数据建模的能力,因此通常会在自然语言处理中使用CRFs,并且在该领域有许多应用。我们讨论的其中一个应用是词性标记。句子的词性依靠以前的单词,并利用特征函数,利用这一点,我们可以学习如何区分句子中的哪个单词对应哪个POS。另一个类似的应用是命名实体识别,或从句子中提取专有名词。条件随机场可以用来预测任意序列中多个变量相互依赖的情况。其他应用包括图像中的局部区域识别和基因预测。
英文原文:https://medium.com/ml2vec/overview-of-conditional-random-fields-68a2a20fa541