CRF的模型参数学习问题

当一个CRF条件随机场模型参数确定后,基于CRF进行状态序列预测问题,比如给定中文语句观测序列,来预测整个中文语句当中每个词的词性,实质问题就是预测每个句子的隐含词性状态问题,在相关条件转移矩阵等模型参数给定的条件下,利用维特比算法,就能预测出概率最大的隐含状态,从而实现词性识别,本文主要是讨论CRF 的另一个问题,条件随机场的模型参数学习问题。参考了两篇博客以及<统计机器学习>书中关于条件随机场的相关概念介绍,链接地址如下:

http://blog.****.net/dashuye4/article/details/24852273#reply

https://www.cnblogs.com/xueyinzhe/p/7141838.html


首先给出CRF的模型:

CRF的模型参数学习问题

公式(1) 给出的在给定观测序列的条件下,求状态序列的条件概率分布,就是一个条件随机场模型,f(x,y)表示特征函数,具体含义可以参考另一篇博客中基于CRF 预测中文词性的概率的介绍中,特征函数的具体意义。

给定了模型函数后,我们来给出模型的目标优化函数,在这种场景下, 我们可以通过MLE 极大似然估计算法, 求得P(y|x)的最大概率估计,类似于逻辑回归模型,我们给出式(4)中的对数似然目标函数,条件似然函数的公式推导可参考条件熵的公式推导,将(1)中的模型函数带入(4)后 就得到(3)中的对数似然函数表达式,也是我们最终需要优化的目标函数:

CRF的模型参数学习问题

CRF的模型参数学习问题

改进的迭代尺度优化算法:

改进的迭代尺度法(Improved Iterative Scaling),在很多模型求解中用到,比如最大熵、CRFs等,对模型是对数线性模型的似然都适用。这个算法的思想也很简单,通俗的理解就是通过两个不等式变形优化下界,从而迭代到收敛的算法, 有两个比较重要的不等式 后面会涉及到:

CRF的模型参数学习问题

迭代尺度算法具体流程:

CRF的模型参数学习问题

从而得到:

CRF的模型参数学习问题

CRF的模型参数学习问题

CRF的模型参数学习问题

CRF的模型参数学习问题


以上就是CRF 模型参数学习的一个大致说明,其中还是有些不明白的点,尤其是<统计机器学习>关于条件随机场的介绍,理解起来还是有点困难,后续需要进一步去整理 体会,接下来准备将CRF应用到NLP领域当中,比如基于TensorFlow 构建BiLSTM + CRF 来实现分词以及词性标注等NLP任务,目前也是有许多开源的项目,因此需要去进一步分析其中的源码