CRF的前世今生(二)

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容