十 条件随机场

            条件随机场(conditional random field, CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场可以用于不同的预测问题,本章主要讲述线性链(linear chain)条件随机场在标注问题的应用,这时问题变成了由输入序列对输出序列预测的判别模型,形式为对数线性模型,其学习方法通常是极大似然估计或正则化的极大似然估计。

一 概率无向图模型

概率无向图模型(probabilistic undireoted graphical model),又称为马尔可夫随机场(Markov random field),是一个可以由无向图表示的联合概率分布。

1 模型定义      

 (graph):由结点(node)及连接结点的(edge)组成的集合。结点和边分别记作 v 和 e,结点和边的集合分别记作 V 和 E,图记作G=(V,E)。无向图是指边没有方向的图。

概率图模型(probabilistic graphical model):由图表示的概率分布。设有联合概率分布P(Y),Y是一组随机变量。由无向图G=(V,E)表示概率分布P(Y),即在图G中,每个结点 v 表示一个随机变量Y_{v};每条边e表示随机变量之间的概率依赖关系。

 给定一个联合概率分布P(Y)和表示它的无向图G,有如下几个概念:

(1) 成对马尔可夫性(pairwise Markov property)

\boldsymbol{u}\boldsymbol{v}是无向图G中任意两个没有边连接的结点,结点\boldsymbol{u}\boldsymbol{v}分别对应随机变量\boldsymbol{Y_{u}}\boldsymbol{Y_{v}},其他所有结点为O,对应的随机变量组是\boldsymbol{Y_{o}}。成对马尔可夫性是指给定随机变量组\boldsymbol{Y_{o}}的条件下随机变量\boldsymbol{Y_{u}}\boldsymbol{Y_{v}}是条件独立的,即:

                                 \boldsymbol{P\left ( Y_{u}, Y_{v}|Y_{o}\right ) = P\left ( Y_{u}, |Y_{o}\right )P\left (Y_{v}|Y_{o}\right )}

                                          十 条件随机场_第1张图片

(2). 局部马尔可夫性(local)

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

                                                   \boldsymbol{P\left ( Y_{v}, Y_{o}|Y_{w}\right ) = P\left ( Y_{v}, |Y_{w}\right )P\left (Y_{o}|Y_{w}\right )}

             在\boldsymbol{P\left (Y_{o}|Y_{w}\right )> 0}时,等价地,

                                                        \boldsymbol{P\left ( Y_{v}|Y_{w}\right ) = P\left ( Y_{v}|Y_{w},Y_{o}\right )}

                                                    十 条件随机场_第2张图片

 (3).全局马尔可夫性(global)

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

                                                  \boldsymbol{P\left ( Y_{A}, Y_{B}|Y_{C}\right ) = P\left ( Y_{A}, |Y_{C}\right )P\left (Y_{B}|Y_{C}\right )}

                                  十 条件随机场_第3张图片

全局马尔可夫性是对局部的扩展,相当于把中心点扩展成了点集合

这几个定义是等价的。

2 概率无向图模型的因子分解

 团与最大团:无向图G中任何两个结点均有边连接的结点子集称为团(clique)。若C是无向图G的一个团,井且不能再加进任何一个G的结点使其成为一个更大的团,则称此C为最大团(maximal clique)。

图中\boldsymbol{Y_{1},Y_{2},Y_{3}}是一个最大团,\boldsymbol{Y_{1},Y_{2},Y_{3},Y_{4}}不是最大团。

                              十 条件随机场_第4张图片

无向图的因子分解:将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解(factorization)。

概率无向图模型的联合概率分布\boldsymbol{P\left ( Y \right )}可以表示为如下形式:

                                                P(Y)=\frac{1}{Z} \prod_{C} \psi_{C}\left(Y_C \right )

                                                Z=\sum_{Y} \prod_{C}\psi_C(Y_C)

                                                \psi_C(Y_C)=\exp\{-E(Y_C)\}

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

二 条件随机场的定义与形式

(1)条件随机场的定义

条件随机场是给定随机变量X条件下,随机变量Y的马尔可夫随机场。在条件概率模型P(Y|X)中,Y是输出变量,表示标记序列,也把标记序列称为状态序列,X是输入变量,表示需要标注的观测序列。学习时,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型;预测时,对于给定的输入序列x,求出条件概率最大的输出序列。

条件随机场:设X与Y是随机变量,P(Y | X)是在给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即:

                                             \boldsymbol{P\left ( Y_{v}|X,Y_{w},w\neq v \right )=P\left ( Y_{v}|X,Y_{w},w\sim v \right )}

对任意结点v成立,则称条件概率分布P(Y|X)为条件随机场。式中w~v表示在图G=(V,E)中与结点v有边连接的所有结点w,\boldsymbol{w\neq v}表示结点v以外的所有结点,\boldsymbol{Y_{v}}\boldsymbol{Y_{u}}\boldsymbol{Y_{w}}为结点v,u与w对应的随机变量。

现实中,一般假设X和Y有相同的图结构。线性链条件随机场的情况为:

                                \boldsymbol{G=\left ( V=\left \{ 1,2,\cdots ,n \right \},E=\left \{ \left ( i,i+1 \right ) \right \} \right )}            \boldsymbol{i=1,2,\cdots ,n-1}

                                十 条件随机场_第5张图片

 线性链条件随机场:设\boldsymbol{X=\left ( X_{1},X_{2},\cdots X_{n} \right )}\boldsymbol{Y=\left ( Y_{1},Y_{2},\cdots Y_{n} \right )}为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y I X)构成条件随机场。即满足马尔可夫性

                                      \boldsymbol{P\left ( Y_{i}|X,Y_{1},\cdots ,Y_{i-1},Y_{i+1},\cdots ,Y_{n} \right )=P\left (Y_{i}|X,Y_{i-1},Y_{i+1}\right )}  

                                                \boldsymbol{i=1,2,\cdots ,n}  (在i=1和n时只考虑单边)

则称P(Y I X)为线性链条件随机场。

(2)条件随机场的参数化形式

线性链条随机场的参数化形式:设P(Y|X)为线性链条随机场,则在随机变量X取值为x的条件下,随机变量Y取值为y的条件概率具有如下形式:

                   \boldsymbol{P\left ( y|x \right )=\frac{1}{Z\left ( x \right )}exp\left ( \sum_{i,k} \lambda _{k}t_{k}\left ( y_{i-1},y_{i},x,i \right )+ \sum_{i,l} u_{l}s_{l}\left (y_{i},x,i \right )\right )}

其中:

                     \boldsymbol{Z\left ( x \right )=\sum_{y}exp\left ( \sum_{i,k} \lambda _{k}t_{k}\left ( y_{i-1},y_{i},x,i \right )+ \sum_{i,l} u_{l}s_{l}\left (y_{i},x,i \right )\right )}

式中,\boldsymbol{t_{k}}\boldsymbol{s_{l}}是特征函数,\boldsymbol{\lambda_{k}}\boldsymbol{u_{l}}是对应的权值,Z(x)是规范化因子,求和是在所有可能的输出序列上进行的。

           \boldsymbol{t_{k}}是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置,\boldsymbol{s_{l}}是定义在结点上的特征函数,称为状态特征,依赖于当前位置,\boldsymbol{t_{k}}\boldsymbol{s_{l}}都依赖于位置,是局部特征函数,通常,特征函数\boldsymbol{t_{k}}\boldsymbol{s_{l}}取值为1或0,当满足特征条件时取1,否则为0,条件随机场完全由特征函数,\boldsymbol{t_{k}}\boldsymbol{s_{l}}对应的权值\boldsymbol{\lambda_{k}}\boldsymbol{u_{l}}确定。

线性链条件随机场也是对数线性模型。对于,的理解例子如下:
十 条件随机场_第6张图片

上题的思路是:把标记y=(1,2,2)分别带入上式的t1-t5以及s1-s4的条件中判断,若满足,则该式取1,再乘以权值,则最后得到的是权值的大小,例如,y1=1,y2=2,满足条件t1,因此t1那部分式子结果为1,同理,t4 =0.2,s1=1,s2=0.5,s4=0.5,其他均为0,因此最后结果为3.2。

 

三 条件随机场的概率计算问题

条件随机场的概率计算问题是给定条件随机场P(YIX),输入序列X和输出序列Y,计算条件概率\boldsymbol{P\left ( Y_{i}=y_{i}|x \right )}\boldsymbol{P\left (Y_{i-1}=y_{i-1}, Y_{i}=y_{i}|x \right )}以及相应的数学期望的问题。可以像隐马尔可夫模型那样引进前向-后向算法。

(1)前向-后向算法

           条件概率

                                               P\left ( y|x \right )=\frac{1}{Z\left ( x \right )}\prod_{i=1}^{n+1}M_{i}\left ( y_{i-1},y_{i}|x \right )

由于序列的递推关系,从前往后推,到位置i,i位置为y_{i}关于位置i-1为y_{i-1}的条件概率为 

                                     P\left ( y|x,y_{i-1} \right )=M_{i}\left ( y_{i-1},y_{i}|x \right )P\left ( y_{i-1}|x \right )

从图11.5可以看出,

十 条件随机场_第7张图片

Y的各节点之间是无向的,也就是y_{i}不仅依赖y_{i-1},同时也依赖y_{i+1},要确定y_{i},那么y_{i-1}y_{i+1}也需要确定。

 因此,引入前向后-后向算法,前向算法计算y_{i}y_{i-1}的依赖,后向算法计算y_{i}y_{i+1}的依赖。

以标注序列为例,p(y|x)是整个序列的概率,而实际标注过程中,每个位置上Y的可能取值的概率才是决定每个位置该标注为哪一个值的关键。我们的计算目标更多在于\boldsymbol{P\left ( Y_{i}=y_{i}|x \right )},而根据前面的依赖关系,要计算位置i为y_{i}的概率,需要先计算位置i-1和i+1各可能标注值的概率,所以,还需要计算\boldsymbol{P\left (Y_{i-1}=y_{i-1}, Y_{i}=y_{i}|x \right )}\boldsymbol{P\left (Y_{i}=y_{i}, Y_{i+1}=y_{i+1}|x \right )}

 

在前向算法中,定义 

对每个指标\boldsymbol{i=1,2,\cdots ,n+1}定义前向向量\alpha_{i}\left ( x \right ): 

递推公式 :\alpha _{i}^{t}\left ( y_{i} | x \right ) = \alpha _{i-1}^{t}\left ( y_{i-1} | x \right )M _{i}\left ( y_{i-1} ,y_{i} | x \right )         

又可表示为 :\alpha _{i}^{t}\left (x \right ) = \alpha _{i-1}^{t}\left (x \right )M _{i}\left ( x \right )       

\alpha _{i}\left ( y_{i} | x \right )表示在位置i的标记为y_{i}并且i前面的位置确定的非规范概率,\alpha_{i}\left ( x \right ) 表示位置i上Y的所有可能取值的概率,可看做是一个矩阵,如果Y的取值个数为m,那么它是m维向量。         

同样,在后向算法中,定义      

对每个指标\boldsymbol{i=1,2,\cdots ,n+1}定义前向向量\beta_{i}\left ( x \right )     

递推公式 :\beta _{i}\left ( y_{i} | x \right ) = M _{i}\left ( y_{i} ,y_{i+1} | x \right )\beta _{i-1}\left ( y_{i+1} | x \right )         

又可表示为 :\beta _{i}\left (x \right ) = M _{i}\left (x \right )\beta _{i+1}\left ( x \right )       

\beta _{i}\left ( y_{i} | x \right )表示在位置i的标记为y_{i}并且从i+1到n的后部分标记序列的非规范化概率。

根据递推关系,start和stop之间所有路径的概率和,实际上就是从start往stop推,第n位置的所有取值的概率和,因为序列最后一个包含全部可能取值,那么前面位置的所有可能全部包含在内,同理,也等同于从stop往后推,推到start,位置1的所有可能取值的概率和等同于start和stop之间的所有路径概率和。因此 

                                                  Z\left ( x \right )=\alpha _{n}^{T}\left ( x \right )\cdot 1 = 1^{T}\cdot \beta _{1}\left ( x \right ) }

其中1是元素均为1的m维向量。   

(2)概率计算

计算位置i-1和i的条件概率

                                      \boldsymbol{P\left ( Y_{i}=y_{i}|x \right )} =\frac{\alpha _{i}^{T}\left ( y_{i} | x \right )\beta _{i}\left ( y_{i} | x \right )}{Z\left ( x \right )}

                                       \boldsymbol{P\left (Y_{i-1}=y_{i-1}, Y_{i}=y_{i}|x \right )=\frac{\alpha _{i-1}^{T}\left ( y_{i-1} | x \right )M _{i}\left ( y_{i-1} ,y_{i} | x \right )\beta _{i}\left ( y_{i} | x \right )}{Z\left ( x \right )}}

(3)期望计算

在学习参数时,需要用到转移特征的期望和状态特征的期望,前面已经把转移和状态两特征函数统一成特征函数,所以,除了计算概率,还得计算特征函数的期望。 

特征函数f_{k}关于条件分布P(Y|X)的数学期望是 

               十 条件随机场_第8张图片

假设经验分布为\tilde{P}\left ( x \right ),特征函数f_{k}关于联合分布P(Y,X)的数学期望是 

 十 条件随机场_第9张图片

四 条件随机场的学习算法十 条件随机场_第10张图片

 

十 条件随机场_第11张图片

五 条件随机场的预测算法

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

                         十 条件随机场_第12张图片

       十 条件随机场_第13张图片

 

 

 

你可能感兴趣的:(十 条件随机场)