阅读原文

在了解条件随机场的时候,一开始被各种各样的定义和公式吓倒,抽象晦涩。查阅了一些资料也任然很困惑。废了很多功夫终于算是明白了一些,希望这篇文章能帮一些人少走一点弯路,哪怕一个也是极好的。自然,这文章也是错误百出的。

CRF 综述

简单而又直白的讲,线性条件随机场,是只考虑 概率图中相邻变量是否满足特征函数 的一个模型。

例如在词性标注任务中,两个动词相连我们可以给负分:转移特征函数 ; 把 a 标注成不定冠词可以给正分:状态特征 函数 。 条件随机场的参数化定义为:

当我们给每个特征函数不同的权重 ,把转移特征 ,和状态特征 同一写成 后,亦可以从条件随机场的简化形式看出条件随机场模型是如何工作的:

由此,我们可以窥一豹。条件随机场模型在统计语料库中相邻词是否满足特征函数的频数,并依此给出 。在给定的 ,满足的特征函数越多,模型认为 越大。

特征函数便是图中的 conditional。

以下是简单的说明,综合概述 Naive Bayes,Logistic Regression, HMM, Linear-chain CRF 之间的关系。

Naive Bayes:

统计训练资料里所有 个数得到 ,统计所有 个数得到 。所以得到训练数据里 的概率,也是先验概率 。照此方法我们也可以得到成对出现的 的先验概率 。至此可以根据贝叶斯公式 得到模型 。就可以拿 开心做预测啦。

Logistic Regression,:

狭义的多项逻辑回归参数化定义为:

是不是和 CRF 的定义式有一点像了? ?我们是不是可以把逻辑回归中的 看作是特征函数?

当我们把逻辑回归拓展成最大熵模型时,得到‘广义的逻辑回归模型’:

1.统计训练集中的先验

2.设计特征函数 满足某种关系取 1,不满足取 0。(当然可以取其他值,比如之前举的例子,两个动词一起出现时就取-1)

3.训练数据集上符合特征的期望: 。这个式子的意思是,假设我们只有一个特征函数 ,特定的 在总数为 10 的训练集上出现过 1 次,且刚好满足着唯一的特征函数,那么训练数据上的 为 0.1.

4.若模型学到了 ,我们便可以认为 。至此,我们已经在 Naive Bayes 的基础上融入了特征函数,也就是 conditional。

5.实际上这是满足条件的模型有很多,我们选一个可以让熵最大的模型。经过一系列数学步骤(拉格朗日对偶,求偏导,使偏导数为 0),我们得到最大熵模型 ,天啊,简直和 CRF 最后的模型一样一样的。

逻辑回归模型(最大熵模型)统计的是训练集中的各种数据满足特征函数的频数(conditional),而贝叶斯模型统计的是训练集中的各种数据的频数。

逻辑回归模型(最大熵模型)统计的是训练集中的各种数据满足特征函数的频数,而 CRF 统计的是训练集中相关数据 (比如说相邻的词,不相邻的词不统计) 满足特征函数的频数。

图 + 比方说明 HMM

白箱里有 2 个红球,8 个蓝球;黑箱里有 7 个红球,3 个蓝球。有放回取球。即白箱的观测概率 ,黑箱的观测概率

设定规则,当我从白箱取球时,下一次继续从白箱取球的概率是 0.4,从黑箱取球的概率是 0.6。当我从黑箱取球时,下一次继续从黑箱取球的概率是 0.7,从白箱取球的概率是 0.3。即白箱的状态转移概率 , 黑箱的状态转移概率

从哪个箱子里取球不可观测,只能观测取出球的颜色。HMM 从可观测的球的序列中进行推测。请自行推断 HMM 与 CRF 之间的 conditional 关系。

概率图模型

简单的来说,不向连的变量直接毫之间无关系。

定义(概率无向图模型):设有联合概率分布 ,由无向图 表示。图 中,节点表示随机变量,边表示随机变量之间的以来关系。如果联合概率分布满足成对,局部