CRF算法(Conditional Random Fields)揭秘

CRF基本介绍

在机器学习中,建模线性序列结构的方法,除了HMM算法,另一个重要的模型就是CRF。HMM为了降低模型复杂性,对观测变量做了独立假设(即隐状态之间有相关性,而观测变量之间没有相关性),这在某种程度上损害了模型的准确性;CRF弥补了这个缺陷,它同样假设类别变量之间有相关性,但没有对观测变量之间做出任何假设(即可能有相关性,也可能没有相关性)。

CRF除了和HMM形成对比,前者是判别式模型,后者是生成式模型;另一方面,CRF还可看成是对最大熵模型的扩展,即它是一个结构化学习模型,而不是单个位置的分类模型。CRF如何被因子化,CRF公式如何推导,如何建立最大熵模型和CRF的公式联系,以及如何得到CRF图表示结构是本文的几个重点。本文还会提到,一些算法,刚开始被用于HMM,稍作修改也能用于线性链CRF,比如前向-后向算法、维特比算法。另外需要指出,用于线性链CRF的训练和推理算法,不能直接用于任意结构的CRF。

背景知识:条件熵(Conditional entropy)

信息论中,条件熵用于量化描述随机变量Y所需的信息量,在另一个随机变量X已知的情况下,写作H(Y|X),具体形式如下:

  (公式1)

其中\chi表示随机变量X和Y的样本集。注意,这里有可能出现0\, log0,可以认为等于0,因为

直觉上,可以把H(Y|X)看成是某个函数f(X,Y)的期望,即H(Y|X)=E(f(X,Y)),其中f是条件概率,被定义为:

它是公式1中负号放到\Sigma求和里面后的右半部分。f函数可看成当给定变量X=x时,为描述变量Y=y需要的额外信息量。因此通过计算所有的(x,y)数据对的f期望值,条件熵H(Y|X)就能测量出要想通过X变量解码出Y变量,平均意义上需要多少信息。

现在进一步要问,以上H(Y|X)具体怎么来的?首先假设Y的概率密度函数为p_{Y}(y),那么Y的熵H(Y)就是H(Y):=E(I(Y)),具体为:

(公式2)

其中I(y_{i})是当Y取y_{i}的互信息。因此,已知X为某个取值x时求Y的熵H(Y|X=x)根据条件期望,即代入公式2有:

(公式3)

注意,H(Y|X)表示对H(Y|X=x)求关于所有不同x取值的平均。换言之,H(Y|X)是对H(Y|X=x)关于每个x的加权求和,其中权重就是概率p(x),具体如下:

(公式4)

上式第1个等号根据定义;第2个等号使用了公式3;第3个等号调整,将两个\Sigma合并简化;第4个等号利用贝叶斯公式。公式4最后得到公式1

一些基本属性H(Y|X)=0当且仅当Y完全被X控制。H(Y|X)=H(Y)当且仅当Y和X是两个独立的随机变量。

条件熵的链式规则H(Y|X)=H(X,Y)-H(X),即当X的熵H(X)已知,那么Y的条件熵H(Y|X)可通过联合熵H(X,Y)减去H(X)得到。它的推导过程如下:

(公式5)

上式第1步来自公式4;第2步把log拆成相减的两项;第3步把\Sigma拆成两项;第4步对第一项套用熵的公式得到H(X,Y),对第二项消去y变量(对y求和);第5步继续套用熵的公式,得到H(X)

公式5扩展到多个随机变量,得到:

(公式6)

可以发现公式6和概率中的链式法则类似,只不过把乘法变为了加法。

条件熵的贝叶斯规则H(Y|X)=H(X|Y)-H(X)+H(Y),证明如下:因为有H(Y|X)=H(X,Y)-H(X),以及H(Y,X)=H(X|Y)+H(Y),别忘了H(X,Y)=H(Y,X),得证。特别的当Y条件独立于Z(当给定X),那么有H(Y|X,Z)=H(Y|X)

最大熵模型(Maximum Entropy Model)

最大熵模型是一个条件概率模型,它基于最大熵原则,意思是,当我们不具备对一个概率分布的完整信息时,唯一的无偏估计假设就是均匀分布。在该假设下,最恰当的概率分布就是在给定约束下的最大化熵的分布。根据公式1,对于条件模型p(y|x),对应的条件熵H(y|x)为:

(公式一&

命名实体识别(Named Entity Recognition, NER)是自然语言处理中的一项核心任务,用于从文本中识别具有特定意义的实体类别。Masked Conditional Random Fields(MCRF)在这一任务中起着至关重要的作用,尤其是在解决传统CRF模型中的非法路径问题上。非法路径问题指的是在CRF模型中,由于模型的全局归一化特性,可能会对某些不符合数据实际分布的标签序列赋予非零概率,这会影响模型的预测准确性。 参考资源链接:[使用Masked Conditional Random Fields的序列标注技术](https://wenku.youkuaiyun.com/doc/6xxsm9w50o?spm=1055.2569.3001.10343) MCRF通过引入mask机制来解决这一问题。在训练和推断过程中,MCRF可以忽略那些不合法的路径,这样就能更准确地计算出合法序列的概率。例如,在处理含有遮蔽信息的文本序列时,MCRF可以聚焦于可见部分的数据,同时在进行条件概率计算时,忽略那些因遮蔽而无法观测到的信息,从而避免为非法路径分配概率。这种改进的模型结构使得MCRF能够在面对不完整数据时,依然能够保持序列标注的准确性。 此外,结合神经网络结构的MCRF模型能够学习到更复杂的特征表示,这为捕捉长距离依赖提供了可能,进一步提升了模型在命名实体识别任务中的表现。例如,在识别巴西整形手术数量增长的文段时,MCRF不仅可以准确识别出与地点相关的实体“Location: Brazil”,还能识别出与人物和组织相关的实体,这在传统CRF模型中可能难以实现。 为了更好地理解和掌握MCRF模型在命名实体识别中的应用,建议查阅《使用Masked Conditional Random Fields的序列标注技术》这份文档。文档中提供了详细的模型架构、算法原理以及针对非法路径问题的具体解决方案,这将帮助你深入理解MCRF在解决序列标注任务中的有效性。此外,文档还提供了应用示例,使你能够看到MCRF在实际命名实体识别任务中的表现,从而获得实践经验。 参考资源链接:[使用Masked Conditional Random Fields的序列标注技术](https://wenku.youkuaiyun.com/doc/6xxsm9w50o?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值