深入理解机器学习——概率图模型(Probabilistic Graphical Model):条件随机场(Conditional Random Field,CRF)

分类目录:《深入理解机器学习》总目录


条件随机场(Conditional Random Field,CRF)是一种判别式无向图模型,在《概率图模型(Probabilistic Graphical Model):隐马尔可夫模型(Hidden Markov Model,HMM)》中提到过,生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模,《概率图模型(Probabilistic Graphical Model):隐马尔可夫模型(Hidden Markov Model,HMM)》和《概率图模型(Probabilistic Graphical Model):马尔可夫随机场(Markov Random Field,MRF)》介绍的隐马尔可夫模型和马尔可夫随机场都是生成式模型,而条件随机场则是判别式模型。

条件随机场试图对多个变量在给定观测值后的条件概率进行建模。具体来说,若令 x = { x 1 , x 2 , ⋯   , x n } x=\{x_1, x_2, \cdots, x_n\} x={ x1,x2,,xn}为观测序列, y = { y 1 , y 2 , ⋯   , y n } y=\{y_1, y_2, \cdots, y_n\} y={ y1,y2,,yn}为与之相应的标记序列,则条件随机场的目标是构建条件概率模型 P ( y ∣ x ) P(y|x) P(yx)。需注意的是,标记变量 y y y可以是结构型变量,即其分量之间具有某种相关性。例如在自然语言处理的词性标注任务中,观测数据为语句(即单词序列),标记为相应的词性序列,具有线性序列结构,如下左图所示;在语法分析任务中,输出标记则是语法树,具有树形结构,如下右图所示。
自然语言处理的词性标注任务与语法分析
G = ( V , E ) G=(V, E) G=(V,E)表示结点与标记变量 y y y中元素一一对应的无向图, y v y_v yv表示与结点 v v v对应的标记变量, n ( v ) n(v) n(v)表示结点的邻接结点,若图 G G G的每个变量 y v y_v yv功都满足马尔可夫性,即:
P ( y v ∣ x , y v \ { v } ) = P ( y v ∣ x , y n ( v ) ) P(y_v|x,y_{v\backslash\{v\}})=P(y_v|x, y_{n(v)}) P(yvx,yv\{ v})=P(yvx,yn(v))

( y , x ) (y, x) (y,x)构成一个条件随机场。

理论上来说,图 G G G可具有任意结构,只要能表示标记变量之间的条件独立性关系即可。但在现实应用中,尤其是对标记序列建模时,最常用的仍是下图所示的链式结构,即“链式条件随机场”(Chain-structured CRF)。下面我们主要讨论这种条件随机场。
链式条件随机场描述
与马尔可夫随机场定义联合概率的方式类似,条件随机场使用势函数和图结构上的团来定义条件概率 P ( y ∣ x ) P(y|x) P(yx)。给定观测序列 x x x,上图所示的链式条件随机场主要包含两种关于标记变量的团,即单个标记变量 { y i } \{y_i\} { yi}以及相邻的标记变量 { y i − 1 , y i } \{y_{i-1}, y_i\} { yi1,yi}。选择合适的势函数,即可得到条件概率定义,在条件随机场中,通过选用指数势函数并引入特征函数(Feature Function),条件概率被定义为:
P ( y ∣ x ) = 1 Z exp ⁡ ( ∑ j ∑ i = 1 n − 1 λ j t j ( y i + 1 , y i , x , i ) + ∑ k ∑ i = 1 n μ k s k ( y i , x , i ) ) P(y|x)=\frac{1}{Z}\exp(\sum_j\sum_{i=1}^{n-1}\lambda_jt_j(y_{i+1}, y_i, x, i)+\sum_k\sum_{i=1}^{n}\mu_ks_k(y_i, x, i)) P(yx)=Z1exp(ji=1n1λjtj(yi+1,yi,x,i)+ki=1nμksk(yi,x,i))

其中 t j ( y i + 1 , y i , x , i ) t_j(y_{i+1}, y_i, x, i) tj(yi+1,yi,x,i)是定义在观测序列的两个相邻标记位置上的转移特征函数(Transition Feature Function),用于刻画相邻标记变量之间的相关关系以及观测序列对它们的影响, s k ( y i , x , i ) s_k(y_i, x, i) sk(yi,x,i)是定义在观测序列的标记位置上的状态特征函数(Status Feature Function),用于刻画观测序列对标记变量的影响, λ j \lambda_j λj μ k \mu_k μk为参数, Z Z Z为规范化因子,用于确保上式是正确定义的概率。

显然,要使用条件随机场,还需定义合适的特征函数。特征函数通常是实值函数,以刻画数据的一些很可能成立或期望成立的经验特性,以词性标注任务为例,若采用转移特征函数:
t j ( y i + 1 , y i , x , i ) = { 1 , if  y i + 1 = [ P ] , y i = [ V ] , x i = "learning" 0 , otherwise t_j(y_{i+1}, y_i, x, i)=\left\{ \begin{aligned} 1 &,\text{if} \ y_{i+1}=[P], y_i=[V], x_i=\text{"learning"}\\ 0 &,\text{otherwise} \end{aligned} \right. tj(yi+1,yi,x,i)={ 10,if yi+1=[P],yi=[V],xi="learning",otherwise

则表示第 i i i个观测值 x x x为单词“learning”时,相应的标记 y i y_i yi y i + 1 y_{i+1} yi+1很可能分别为 V V V P P P。若采用状态特征函数:
s k ( y i , x , i ) = { 1 , if  y i = [ V ] , x i = "learning" 0 , otherwise s_k(y_i, x, i)=\left\{ \begin{aligned} 1 &,\text{if} \ y_i=[V], x_i=\text{"learning"}\\ 0 &,\text{otherwise} \end{aligned} \right. sk(yi,x,i)={ 10,if yi=[V],xi="learning",otherwise

则表示观测值 x i x_i xi为单词learning时,它所对应的标记很可能为 V V V

对比上面两个特征函数可以看出,条件随机场和马尔可夫随机场均使用团上的势函数定义概率,两者在形式上没有显著区别;但条件随机场处理的是条件概率,而马尔可夫随机场处理的是联合概率。

参考文献:
[1] 周志华. 机器学习[M]. 清华大学出版社, 2016.

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/128377179
今日推荐