第11章 条件随机场
条件随机场(conditional random field, CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场可以用于不同的预测问题,本章主要讲述线性链(linear chain)条件随机场在标注问题的应用,这时问题变成了由输入序列对输出序列预测的判别模型,形式为对数线性模型,其学习方法通常是极大似然估计或正则化的极大似然估计。
11.1 概率无向图模型
概率无向图模型(probabilistic undireoted graphical model),又称为马尔可夫随机场(Markov random field),是一个可以由无向图表示的联合概率分布。
模型定义
图(graph)是由结点(node)及连接结点的边(edge)组成的集合。结点和边分别记作 v 和 e,结点和边的集合分别记作 V 和 E,图记作
G=(V,E)。无向图是指边没有方向的图。
概率图模型(probabilistic graphical model)是由图表示的概率分布。设有联合概率分布P(Y),Y是一组随机变量。由无向图G=(V,E)表示概率分布P(Y),即在图G中,每个结点 v 表示一个随机变量Yv;每条边e表示随机变量之间的概率依赖关系。
给定一个联合概率分布P(Y)和表示它的无向图G。首先定义无向图表示的随机变量之间存在的成对马尔可夫性(pairwise Markov property)、局部马尔可夫性(local Markov properly)和全局马尔可夫性(global Markov property)。
成对马尔可夫性:设u和v是无向图G中任意两个没有边连接的结点,结点u和v分别对应随机变量Yu和Yv,其他所有结点为O,对应的随机变量组是YO。成对马尔可夫性是指给定随机变量组YO的条件下随机变量Yu和Yv是条件独立的,即

局部马尔可夫性:设v是无向图G中任意一个结点,W是与v有边连接的所有结点,O是v, W以外的其他所有结点。分别表示随机变量Yv,以及随机变量组YW和YO。局部马尔可夫性是指在给定随机变量组YW的条件下随机变量Yv与随机变量组YO是独立的,即

全局马尔可夫性:设结点集合A, B是在无向图G中被结点集合C分开的任意结点集合,如图11.2所示。结点集合A, B和C所对应的随机变量组分别是YA,YB和YC。全局马尔可夫性是指给定随机变量组YC条件下随机变量组YA,YB是条件独立的,即


上述成对的、局部的、全局的马尔可夫性定义是等价的。
定义11.1(概率无向图模型) 设有联合概率分布P(Y)由无向图G=(V,E)表示,在图G中,结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型(probability undirected graphical model),或马尔可夫随机场C Markovrandom field )。
对给定的概率无向图模型,我们希望将整体的联合概率写成若干子联合概率的乘积的形式,也就是将联合概率进行因子分解,这样便于模型的学习与计算。事实上,概率无向图模型的最大特点就是易于因子分解。
概率无向图模型的因子分解
定义11.2 (团与最大团) 无向图G中任何两个结点均有边连接的结点子集称为团(clique)。若C是无向图G的一个团,井且不能再加进任何一个G的结点使其成为一个更大的团,则称此C为最大团(maximal clique)。例,

图11.3表示由4个结点组成的无向图。图中由2个结点组成的团有5个:{Y1,Y2,Y3,Y4},{Y2,Y3},{Y3,Y4},{Y4,Y2}和{Y1,Y3}。有2个最大团{Y1,Y2,Y3}和{Y2,Y3,Y4}。而{Y1,Y2,Y3,Y4}不是一个团,因为Y1和Y4没有边连接.
将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解(factorization)。
给定概率无向图模型,设其无向图为G,C为G上的最大团,YC表示C对应的随机变量。那么概率无向图模型的联合概率分布P(Y)可写作图中所有最大团C上的函数
的乘积形式,即


其中,Z是规范化因子(normalization factor),

规范化因子保证P(Y)构成一个概率分布,函数
称为势函数(potenrial function),要求是严格正的,通常定义为指数函数:


定理11.1 (Hammersley-CIifford定理) 概率无向图模型的联合概率分布P(Y)可以表示为如下形式:

C是无向图的最大团,YC是C的结点对应的随机变量,
是C上定义的严格正函数,乘积是在无向图所有的最大团上进行的。

11.2条件随机场的定义与形式
条件随机场的定义
条件随机场(conditional random field)是给定随机变量X条件下,随机变量Y的马尔可夫随机场。这里主要介绍定义在线性链上的特殊的条件随机场,称为线性链条件随机场(linear chain conditional random field )。在条件概率模型P(Y|X)中,Y是输出变量,表示标记
序列,也把标记序列称为状态序列,X是输入变量,表示需要标注的观测序列。学习时,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型;预测时,对于给定的输入序列x,求出条件概率最大的输出序列。
定义11.3 (条件随机场) 设X与Y是随机变量,P(Y | X)是在给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即

对任意结点v成立,则称条件概率分布P(Y|X)为条件随机场。式中w~v表示在图G=(V,E)中与结点v有边连接的所有结点w,w != v表示结点v以外的所有结点,Yv,Yu与Yw为结点v,u与w对应的随机变量。
现实中,一般假设X和Y有相同的图结构。线性链条件随机场的情况为

在此情况下,最大团是相邻两个结点的集合。如下图所示

定义11.4(线性链条件随机场) 设X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y I X)构成条件随机场。即满足马尔可夫性

则称P(Y I X)为线性链条件随机场。
条件随机场的参数化形式
即因子分解式,各因子是定义在相邻两个结点上的函数。
定理11.2(线性链条件随机场的参数化形式) 设P(Y}X)为线性链条件随机场,则在随机变量X取值为x的条件下,随机变量Y取值为Y的条件概率具有如下形式:


式中,tk和sl是特征函数,
和ul是对应的权值.Z(x)是规范化因子,求和是在所有可能的输出序列上进行的..

上式是线性链条件随机场模型的基本形式,表示给定输入序列x,对输出序列y预测的条件概率。tk是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置,sl是定义在结点上的特征函数,称为状态特征,依赖于当前位置。两者,都依赖于位置,是局部特征函数。通常,特征函数tk和sl取值为1或0;当满足特征条件时取值为1,否则为0。条件随机场完全由特征函数和对应的权值确定。
条件随机场的简化形式
可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。
首先将转移特征和状态特征及其权值用统一的符号表示。设有K1个转移特征,K2个状态特征,K=K1 + K2,,记

然后,对转移与状态特征在各个位置i求和,记作

对应的权值为,

条件随机场为,

以向量形式表示为,


则条件随机场的向量形式为


条件随机场的矩阵形式
引进特殊的起点和终点状态标记y0 =start , yn+1=stop。对观测序列x的每一个位置i,定义一个m阶矩阵(m是标记yi取值的个数)

条件概率为


注意,y0 =start , yn+1=stop表示开始状态与终止状态,Zw(x)是以start为起点stop为终点通过状态的所有路径y1,y2,...,yn的非规范化概率
之和。

11.3 条件随机场的概率计算问题
条件随机场的概率计算问题是给定条件随机场P(YIX),输入序列x和输出序列Y,计算条件概率P(Yi=yi | x ),P(Yi-1=yi-1,Yi=yi | x)以及相应的数学期望的问题。
前向-后向算法
对每个指标i = 0,1,...,n + 1,定义前向向量



ai(yi | x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,yi可取的值有m个,所以ai是m维列向量。
定义后向向量



表示在位置i的标记是yi并且从i+1到n的后部分标记序列的非规范化概率。
可以得到

按照前向-后向向量的定义,很容易计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:


利用前向-后向向量,可以计算特征函数关于联合分布P(X,Y)和条件分布P(Y I X)的数学期望。


对于给定的观测序列x与标记序列Y,可以通过一次前向扫描和一次后向扫描计算所有的概率和特征的期望。
11.4 条件随机场的学习算法
条件随机场模型实际上是定义在时序数据上的对数线形模型,其学习方法包括极大似然估计和正则化的极大似然估计。
改进的迭代尺度法
通过极大化训练数据的对数似然函数来求模型参数。
条件随机场模型的训练数据的对数似然函数为
改进的迭代尺度法通过迭代的方法不断优化对数似然函数改变量的下界,达到极大化对数似然函数的目的。
条件随机场模型的训练数据的对数似然函数为

推导可得,关于转移特征的更新方程为

关于状态特征的更新方程为

T(x,y)是在数据(x,y)中出现所有特征数的总和:


拟牛顿法
对于条件随机场模型,学习的优化目标函数是

其梯度函数是


11.5 条件随机场的预测算法
条件随机场的预测问题是给定条件随机场P(Y | X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列) y*,即对观测序列进行标注。
根据条件随机场的向量形式,

于是,条件随机场的预测问题成为求非规范化概率最大的最优路径问题


根据维特比算法进行求解。
