条件随机场(CRF)

 

从宏观上讲,条件随机场就是给出一个序列 X = (x1, x2 ... xn) 得到 另一个序列 Y = (y1 , y2 ... yn)。

这两个序列有着一些独特的特性,满足马尔可夫随机场,我理解的满足马尔可夫随机就是 当前的状态 yi 只与 与它相连的状态(即yi-1, yi+1 )和 对应的xi相关,也即符合下图

 

对于一个输入序列X,可以得到很多的输出序列Y,其中的一条输出序列Y可以这样求

1.先求这个序列第i个位置的输出标签y 

$f_{k}(y,x)$表示特征函数,特征函数包括两种,分别与上面说讲的满足马尔可夫随机的条件相对应,转移函数和状态函数,可以把它进行合并,分子就是在特征函数下生成y的概率,y是一个标签可以有很多取值,分子是其中一个的取值,而分母就是归一化因子,表示所有y。

为什么取指数?

2、整个序列的输出概率

$L(y1, y2...yn;X) =  \prod_{i=1}^{n}p(yi; X)$ ,这个可以进行推导(详见)成  $\prod_{l=1}^{L}p(l;X)^{p(l)}$, n表示序列长度,L表示标签种类,这个由对序列每个位置累乘变成了对标签种类进行累成了,底数是预测出标签 l 的概率,指数是这个标签 l 的在实际数据的概率,最大化这个概率,变成了对数似然

也就是求解 这k个w

  • 迭代尺度法

 

  • 拟牛顿法

 

 

 

 

reference:

1、 https://applenob.github.io/crf.html

2、http://www.hankcs.com/ml/conditional-random-field.html

posted @ 2018-10-26 20:36  zhaop  阅读(249)  评论(0编辑  收藏  举报