条件随机场(Conditional Random Fields, CRF)

条件随机场(Conditional Random Fields, CRF)

本文翻译自英文博客,原文地址:https://medium.com/ml2vec/overview-of-conditional-random-fields-68a2a20fa541

概要

    CRF是一个判别模型,通常用于序列预测任务。其核心思想是:结合已经预测出的标签进行待预测信息的推测,从而提高模型的预测能力。本文从以下几点介绍CRF:

    1、什么是判别器(它和生成器有什么区别);

    2、CRF涉及的数学概念;

    3、CRF和HMM有哪些区别;

    4、CRF的应用有哪些;

1 什么是判别器

    机器学习主要有两类模型,分别是判别模型和生成模型。CRF是一种判别模型,它的功能是对类别间的决策边界进行建模。生成模型则是对数据生成进行建模,建模完成后,模型生成的数据,可用于数据分类。举个例子,朴素贝叶斯分类器,是一个典型生成器算法,逻辑斯特回归则是一个基于最大似然估计的判别器算法。下面可以看看它们如何应用于类别预测。

公式1 贝叶斯公式

    朴素贝叶斯的公式如上式所示,可以通过贝叶斯规则,展开变成条件概率公式,如以下公式所示。

公式2 贝叶斯公式展开

    逻辑回归分类器依赖于逻辑斯特回归方程,公式如下所示。

公式3 逻辑斯特回归方程

    分类器通过训练数据训练,更新分类器权重参数theta,不断优化分类器,公式如下:

公式4 逻辑斯特回归参数优化

    从上式可以看出,逻辑斯特回归是直接通过最大化条件概率求解的。通过贝叶斯规则的转换,条件概率公式可以转换得到上面所求的生成器的公式。公式如下:

公式5 贝叶斯准则应用于逻辑斯特回归

    应用贝叶斯准则后,逻辑斯特回归方程变成先验概率和最大似然概率的乘积(P(x)与结果无关,认为是常数,可忽略)。另外,可以注意到,p(x|y) * p(y) = p(x, y),即为x,y的联合概率分布,这也符合前面生成器的定义。生成模型通过学习联合概率分布,用于求输入x和标签y的联合概率分布。类似的,判别模型通过学习条件概率分布,学习出决策边界函数,直接用于分类数据。所以,对于判别器模型,给定一个输入样本,可以通过条件概率模型去预测它的类别。

    这些定义如何应用到CRF?CRF是一个判别模型,它的核心思想就是把逻辑斯特回归用于序列输入。如果你熟悉HMM的话,那么你就会发现它和CRF有一些共同之处,它们都是应用于序列输入问题。HMM是应用一个转换矩阵和输入去求发射矩阵,其核心思想和贝叶斯类似,另外,HMM也是生成模型。

2 CRF涉及的数学概念

    有了以上的信息,下面看看CRF及其如何解决序列输入问题。

    就如同上面所示的,我们建模条件概率的公式如下:

公式6 条件概率公式

    在CRF中,我们的输入数据是序列,因此在预测当前输入的输出时,需要考虑前文信息。为了能够建模前文信息,我们使用特征函数(Feature Function),它有多项输入,这些输入包括:

    1、输入序列,X;

    2、当前输入的位置信息i;

    3、前一个输入的标签;

    4、当前输入的标签;

    因此,特征函数定义如下:

公式7 特征函数

    特征函数的功能是求字符在序列中所表达的信息(强调上下文)。例如,将CRF用于词性标注任务的例子:“当L{i-1}为名词,并且L{i}是动词时,f(X, i, L{i-1}, L{i}) = 1,否则f(X, i, L{i-1}, L{i}) = 0;类似的,当L{i-1}为动词,并且L{i}是形容词时,f(X, i, L{i-1}, L{i}) = 1,否则f(X, i, L{i-1}, L{i}) = 0”

    每个特征函数都是基于前面一个词的标签和当前词预测的,其预测结果不是0,就是1。要训练一个CRF,首先需要设计特征函数和初始参数(lambda),然后通过优化算法去更新参数,相关公式如下:

公式8 CRF的概率分布函数

        模型建立好后,用最大似然概率估计(MLE)去评估函数。为了应用最大似然,我们首先需要对函数取负对数,以便计算。公式如下:

公式9 CRF的负对数似然函数

    为了得到最大似然概率函数的解,我们对lambda求导。公式如下:

公式10 求导公式

    然后可以通过梯度下降法对求解。梯度更新公式如下:

公式11 CRF梯度更新公式

    CRF的求解总结如下:

        (1)定义特征函数F;

        (2)随机初始化lambda;

        (3)应用梯度下降法更新参数直至收敛;

    我们可以看到,CRF和逻辑斯特回归非常像,它们都是求解条件概率分布。只是CRF为了解决序列输入的问题,引入了特征函数。

CRF与HMM的区别

    通过前面的分析,可以很明显的看出,虽然它们都是用于解决序列输入问题,但是CRF和HMM是两个完全不同的模型。

    它们的不同点包括:

    (1)HMM是生成模型,通过求解联合概率分布得到输出。而CRF是判别模型,通过求解条件概率分布得到输出。

    (2)CRF不依赖于独立假设(标签相互独立),避免了标签bias。

    但是从另外一方面看,HMM可以看成是CRF的一个特例(转换概率固定的一个特例)。HMM是基于朴素贝叶斯的,而朴素贝叶斯可以从逻辑斯特回归衍生出来,而CRF就是基于逻辑斯特回归的。

CRF的应用

    由于CRF在解决序列问题的优异能力,它被广泛应用于NLP的相关任务中。一个例子就是词性标注。句子中的词的词性通常依赖于前面的词,所以可以通过建模CRF解决词性标注问题。另外还包括实体命名识别、或者名词提取等。CRF可以用于任何多变量相互依赖的序列问题。另外,CRF还可以应用于图像区块识别和基因序列检测问题。

扩张阅读

    如果对CRF想进行更多的了解,可以阅读以下文献。    

https://stackoverflow.com/questions/879432/what-is-the-difference-between-a-generative-and-discriminative-algorithm [There are several answers in this post that provide a good overview of Discriminative and Generative algorithms.]

https://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf [A detailed review between the differences in Naive Bayes and Logistic Regression.]

http://homepages.inf.ed.ac.uk/csutton/publications/crftut-fnt.pdf [Section 2.2 on Discriminative and Generative classifiers, and how they apply to Naive Bayes vs Logistic Regression.]

https://prateekvjoshi.com/2013/02/23/why-do-we-need-conditional-random-fields/ and https://prateekvjoshi.com/2013/02/23/what-are-conditional-random-fields/ [These are both very good posts on introduction to Conditional Random Fields and how they differ from graphical models (like HMMs)]

http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/ [A light overview of Conditional Random Fields.]

http://www.lsi.upc.edu/~aquattoni/AllMyPapers/crf_tutorial_talk.pdf [Slide deck that goes over Conditional Random Fields, how to define feature functions, and steps on it’s derivation.]

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351