CRF代码实现及原理(一)

本文介绍了线性链条件随机场(Linear Chain CRF)的基本概念,包括其用于解决序列标注问题的原因、定义、参数化形式以及维特比算法的解码思路。通过具体的例子,解释了如何利用CRF进行词性标注,并指出在实际应用中需要考虑输入X的影响。文章最后提及将提供CRF的代码实现和BP算法的相关内容。
摘要由CSDN通过智能技术生成

CRF:条件随机场(Conditional Random Field)

代码实现链接:https://blog.csdn.net/cpluss/article/details/88825748

什么样的问题需要CRF模型

如果我们的数据是一个序列,后面的结果受到前面结果的影响,此时就需要我们使用CRF模型。例如,我们假设把一个人的日常生活拍成照片,而一张张着嘴的照片我们无法判断他是吃饭还是在唱歌(or 其他),但是如果这张照片之前有其他照片显示为餐桌、米饭等,我们则基本可以判定他在吃饭;如果显示为ktv,则基本可以判定他在唱歌。

定义

马尔科夫随机场:随机场中某一位置的赋值仅仅和其相邻的位置相关,而与不相邻的位置无关
CRF是马尔可夫随机场的特例,他假设马尔可夫随机场中只有X和Y两种变量,X是给定的,Y则是给定条件下我们的输出。例如在词性标注中,X是词语,Y是词性。若Y是一个马尔可夫随机场,则P(Y|X)是一个CRF。表示Y中变量仅仅受到X和其相邻变量的影响。

线性链条件随机场 (Linear Chain CRF)

实现的过程中,我们一般要求X和Y有相同的结构,即:
X = ( X 1 , X 2 , . . . X n ) , Y = ( Y 1 , Y 2 , . . . , Y n ) X = (X_1, X_2,...X_n), Y = (Y_1, Y_2, ..., Y_n) X=(X1,X2,...Xn),Y=(Y1,Y2,...,Yn)
由此可以得到CRF的数学定义:
P ( Y i ∣ X , Y 1 , Y 2 , . . Y i − 1 , Y i + 1 , . . . Y n ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) P(Y_i|X,Y_1,Y_2,..Y_{i-1},Y_{i+1},...Y_{n}) = P(Y_i|X,Y_{i-1},Y_{i+1}) P(YiX,Y1,Y2,..Yi1,Yi+1,...Yn)=P(YiX,Yi1,Yi+1)

Linear-CRF的参数化形式

为了将linear-CRF转化为可以学习的机器学习模型,我们定义了特征函数和权重系数。
第一类:结点特征函数这类特征函数只和当前节点有关,记为:
s l ( y i , x , i ) , l = 1 , 2 , . . . L L 是 当 前 该 节 点 i 的 结 点 特 征 函 数 的 个 数 ( 可 能 不 止 一 个 ) s_l(y_i,x,i),\quad l=1,2,...L\quad L是当前该节点i的结点特征函数的个数(可能不止一个) sl(yi,x,i),l=1,2,...LLi
第二类:转移特征函数,此函数依赖于上下文,记为:
t k ( y i − 1 , y i , x , i ) , k = 1 , 2 , . . . K , K 代 表 结 点 i 转 移 特 征 函 数 的 个 数 ( 可 能 不 止 一 个 ) t_k(y_{i-1},y_{i},x,i),\quad k=1,2,...K,K代表结点i转移特征函数的个数(可能不止一个) tk(yi1,yi,x,i),k=1,2,...KKi

以上两种特征函数,都只能取值为0或者1,因此其特点就在于他们的权重了,权重越大,说明这个函数的重要性越大。
从而得到其参数化形式:在给定x的条件下,输出y(而不是y中某一个单词)的概率
P ( y ∣ x ) = 1 Z ( x ) e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值