美文网首页
CRF的前世今生(二)

CRF的前世今生(二)

作者: 机器学习与自然语言处理 | 来源:发表于2019-10-07 14:51 被阅读0次

    CRF在本质上是属于log linear model,在log linear model中有两类比较重要的模型:

    1. logistic regression
    2. conditional random field
      image.png
      首先看一下log linear model 的标准书写方法
      image.png
      左边是判别模型的条件概率,右式是这个条件概率的计算方法,其中,F_j(x,y)是feature function,表示x和y之间的某种关系,更通俗的理解方式可以将这个整体看作是j个特征,针对具体的数据集来说,F_j(x,y)是已知的。w_j是这个模型的参数,是需要估计和训练的,分母中的z(x,w)可是看作是归一化项。
      multinomial logistic regression为例
      image.png
      在这里,定义
      F_j(x,y)=x_i ·I(y=c),x∈R^d, y∈ \{1,2,…,c\}
      c表示分类的类别,x表示一个d维的向量,I(y=c)是一个indicator fuction,满足条件时为1,不满足条件时为0,假设x有d种不同的取值,类别的数量c = 3,所以j有 3 * d种取值. 同时只有当y = c 时,有I_{(y=c)}=1,否则为0。所以有:
      image.png
      y=1带入上面的公式有
      image.png
      进一步,将w按照类别分成3个部分有:
      image.png

    以上的推到就是一个多元逻辑回归的推导过程,通过定义一个feature function,就可以得到一个特定的模型,如果我们改一下定义featurefunction的方式,是不是模型也就变了。
    既然feature function这么重要,就再讨论一下feature function


    将上面这个feature fuction 拆分成两部分,,前者只考虑从数据角度如何提取特征,后者只分析label,比如x 可以有如下取值
    image.png
    前面讨论了离散特征的处理方法,如果输入的数据是一个序列,我们应该如何处理呢?再回到最开始的公式中,以词性标注为例,
    其中,x表示一个可观测的序列,y表示这个序列的标签。为了让特征函数更能体现时序的性质,将feature function进行一步改写:
    image.png
    这样将时刻,时刻,输入都联系在了一起。用一个图来表示就是这个样子
    image.png
    在这个图中,可以看到当前时刻的y和上一时刻的y,以及输入x之间的特征函数的值,
    接下来看crf中两个主要的问题:
    • inference problem
      给定参数\{w\}和x\求解最合适的y
      image.png
      在求解最大值的方法上,可以继续使用维特比算法,
      image.png
    • Estimation of W
      首先回顾一下log linear model 的条件概率
      P(y|x_i, w) = \frac{1}{Z(x,w)} exp{\sum^{J}_{j=1}}w_jF_j(x,y),为了求解其中的参数w,祭出最常用的方法梯度下降法,所以对w_j求偏导
      image.png
    image.png
    接下来就有:
    image.png
    红框中标注的部分可以通过crf的前向算法和后向算法求出。这些都可以计算出来
    所以的梯度可以通过以下方式计算
    image.png

    相关文章

      网友评论

          本文标题:CRF的前世今生(二)

          本文链接:https://www.haomeiwen.com/subject/pqfmpctx.html