每日一问6.23

问题:条件随机场是怎么进行学习的?

参考了知乎文章如何轻松愉快地理解条件随机场(CRF)?

模型构建

条件概率:

P ( y = y ′ ∣ x ) = e w ⋅ F ( y ′ , x ) ∑ y e w ⋅ F ( y , x ) P(y=y'|x)=\frac{e^{\mathbb{w}\cdot F(y', x)}}{\sum_{y}e^{\mathbb{w}\cdot F(y, x)}} P(y=yx)=yewF(y,x)ewF(y,x)

其中, w = ( w 1 , ⋯   , w K ) \mathbb{w}=(w_1,\cdots, w_K) w=(w1,,wK)为待学习的参数组, F = ( f 1 ( y , x ) , ⋯   , f K ( y , x ) ) F=(f_1(y,x), \cdots, f_K(y,x)) F=(f1(y,x),,fK(y,x))为特征函数构成的向量,特征函数包含状态特征函数和转移特征函数两类,每类有若干个。

特征函数的例子

x = ( x 1 , ⋯   , x n ) , y = ( y 1 , ⋯   , y n ) x=(x_1, \cdots, x_n),y=(y_1, \cdots,y_n) x=(x1,,xn),y=(y1,,yn)

状态特征函数:

  • f ( y i , x , i ) = 1 f(y_i,x,i)=1 f(yi,x,i)=1 如果 x i x_i xi以"ly"结尾, y i = 副 词 y_i=副词 yi= (其他情况为0),此时我们应该想到对应要学习的参数 λ \lambda λ应该大于0,并且值越大表明训练集中的数据越支持"ly"结尾的单词是副词
  • f ( y i , x , i ) = 1 f(y_i,x,i)=1 f(yi,x,i)=1 如果 x x x最后一个字符是"?", i = 1 , y i = 动 词 i=1, y_i=动词 i=1,yi= (其他情况为0),此时我们应该想到对应要学习的参数 λ \lambda λ应该大于0,并且值越大表明训练集中的数据越支持问句的第一个单词是动词

转移特征函数:

  • g ( y i − 1 , y i , x , i ) = 1 g(y_{i-1},y_{i},x,i)=1 g(yi1,yi,x,i)=1 如果 y i − 1 = 名 词 , y i = 动 词 y_{i-1}=名词,y_{i}=动词 yi1=,yi=(其他情况为0),此时我们可以想到对应要学习的参数 μ \mu μ应该大于0,并且值越大表明训练集中的数据越支持名词后面接动词
  • g ( y i − 1 , y i , x , i ) = 1 g(y_{i-1},y_{i},x, i)=1 g(yi1,yi,x,i)=1 如果如果 y i − 1 = 动 词 , y i = 动 词 y_{i-1}=动词,y_{i}=动词 yi1=,yi=(其他情况为0),此时我们可以想到对应要学习的参数 μ \mu μ应该小于0,并且值越小表明训练集中的数据越反对动词后面接动词

学习算法

优化目标为:极小化负对数似然
− 1 N ∑ i = 1 N l o g P ( y = y ( i ) ∣ x = x ( i ) ) -\frac{1}{N}\sum_{i=1}^{N}logP(y=y^{(i)}|x=x^{(i)}) N1i=1NlogP(y=y(i)x=x(i))

对参数的学习,可以使用梯度下降算法,也可以使用二阶的拟牛顿算法L-BFGS,较常用的是后者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值