条件随机场

条件随机场

条件随机场(conditional random field,CRF)是给定一组随机变量条件下另一组输出随机变量的条件概率分布模型。条件随机场可以用于不同的预测问题,本文主要参考《统计学习方法》条件随机场,主要说明用于标注问题的线性链(linear chain)条件随机场。

概率无向图模型

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

模型定义

概率图模型 :由图 G=(V,E) G = ( V , E ) 表示的概率分布,图中节点 vV v ∈ V 表示一个随机变量 Yv Y v ,边 eE e ∈ E 表示随机变量之间的概率依赖关系。如果联合概率分布满足马尔科夫性,称此联合概率分布为概率无向图模型,或马尔科夫随机场。

《统计学习方法》条件随机场解释了三种马尔科夫性,成对,局部,全局马尔科夫性,这里就不赘述,核心思想为如果图中两个节点(或节点的集合)A,B之间没有直接的边相连,那么A,B关于另外的节点(或节点的集合)C条件独立,数学表示为: P(YA,YB|YC)=P(YA|YC)P(YB|YC) P ( Y A , Y B | Y C ) = P ( Y A | Y C ) P ( Y B | Y C )

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

因子 (势函数):定义在变量子集上的非负实函数,主要用于定义概率分布函数。

团(clique) :无向图中任何两个节点均有边连接的节点子集。

最大团 :若C是无向图中的一个团,并且不能再加入任何一个节点使其成为一个更大的团,则称此C为最大团(maximal clique)

将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作 ,称为因子分解(联合概率分布定义)(根据马尔科夫假设,不存在直接相连,就没有关系)

定义无向图模型G,C为G上的最大团, YC Y C 表示对应的随机变量,无向图的联合概率分布可写做最大团C上的函数 ΦC(YC) Φ C ( Y C ) ,则有:

P(Y)=1ZCΦC(YC) P ( Y ) = 1 Z ∏ C Φ C ( Y C )

Z为规范化因子, Z=YCΦC(YC) Z = ∑ Y ∏ C Φ C ( Y C ) ,保证Y构成一个概率分布。 ΦC(YC) Φ C ( Y C ) 称为势函数。要求必须为正的,因此,通常写成指数形式:

势函数

势函数 ϕQ(xQ) ϕ Q ( x Q ) 定量刻画变量集 xQ x Q 中变量之间的相关关系,它应该是非负的,在所偏号的变量取值上有较大的函数值。为了满足非负性,指数函数常被用于定义势函数,即:

ΦC(xC)=eHC(xC) Φ C ( x C ) = e − H C ( x C )

HC(xC) H C ( x C ) 是一个定义在变量 xC x C 上的实值函数,常见形式为:

HC(xC)=u,vC,uvαu,vxu,xv+vCβvxv H C ( x C ) = ∑ u , v ∈ C , u ≠ v α u , v x u , x v + ∑ v ∈ C β v x v

其中 αu,v,βv α u , v , β v 为参数。

条件随机场的定义与形式

条件随机场是在给定随机变量X条件下,随机变量Y的马尔科夫场,这里主要介绍线性链条件随机场,可以用于标注问题。

条件概率模型 P(Y|X) P ( Y | X ) ,Y是输出变量,表示标记序列,X是输入变量,表示需要标注的观察序列,标记序列也称为状态序列。利用训练数据集通过极大似然估计和正则化极大似然估计得到条件概率模型 P^(Y|X) P ^ ( Y | X )

条件随机场 :若随机变量Y构成一个由无向图 G=(V,E) G = ( V , E ) 表示的马尔科夫随机场,即:

P(Yv|X,Yw,wv)=P(Yv|X,Yw,wv) P ( Y v | X , Y w , w ≠ v ) = P ( Y v | X , Y w , w − v ) ,v只与与其直接相连的w有关,与其他变量无关

对任意节点v都成立,则称条件概率分布 P(Y|X) P ( Y | X ) 为条件随机场。

线性链条件随机场 :设 X=(X1,X2...Xn) X = ( X 1 , X 2 . . . X n ) , Y=(Y1,Y2...Yn) Y = ( Y 1 , Y 2 . . . Y n ) 均为线性链表示的随机变量序列,若给定随机变量序列X的条件下,随机变量序列Y的条件概率分布构成条件条件随机场,即:

P(Yi|X,Y1,....Yi1,Yi+1,...,Yn)=P(Yi|X,Yi1,Yi+1) P ( Y i | X , Y 1 , . . . . Y i − 1 , Y i + 1 , . . . , Y n ) = P ( Y i | X , Y i − 1 , Y i + 1 ) , i=1,2,3...n i = 1 , 2 , 3... n

则称 P(Y|X) P ( Y | X ) 为线性链条件随机场。标注问题中X观察序列,Y是标注序列。

条件随机场的参数化形式

在随机变量X取x的条件下,随机变量Y取值为y的条件概率具有

P(y|x)=1Z(x)exp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)) P ( y | x ) = 1 Z ( x ) e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) )

(指数内部加法为概率乘法)

第一项为最大团,其中 tk,sl t k , s l 为特征函数, λk,μl λ k , μ l 为对应的权值。

tk t k 是定义在观测序列的两个相邻标记位置上的转移特征函数(transition feature function),用于刻画相邻标记变量之间的相关关系以及观测序列对它们的影响

sl s l 是定义在观察序列的标记位置i上的状态特征函数(status feature function),用于刻画观察序列对标记变量的影响

tksl t k , s l 都依赖于位置,是局部特征。通常取0或1,满足条件取1,否则取0。

条件随机场完全有特征函数和权值决定。

条件随机场的简化形式

同一个特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,从而将条件随机场写成权值向量与特征向量的内积的形式,设有 K1 K 1 个转移特征, K2 K 2 个状态特征, K=K1+K2 K = K 1 + K 2

fk(yi1,yi,x,i)={tk(yi1,yi,x,i),k=1,2,...K1sl(yi,x,i),k=K1+l;l=1,2...K2 f k ( y i − 1 , y i , x , i ) = { t k ( y i − 1 , y i , x , i ) , k = 1 , 2 , . . . K 1 s l ( y i , x , i ) , k = K 1 + l ; l = 1 , 2... K 2

一个特征函数对于一个权值,因此可以将转移和状态特征在各个位置i求和,记作:

fk(y,x)=ni=1fk(yi1,yi,x,i) f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k=1,2...K k = 1 , 2... K

wk w k 表示特征 fk(y,x) f k ( y , x ) 的权值,即:

wk={λk,k=1,2...K1μl,k=K1+l;l=1.2...K2 w k = { λ k , k = 1 , 2... K 1 μ l , k = K 1 + l ; l = 1.2... K 2

于是条件随机场的形式可以表示为

P(y|x)=1Z(X)exp(Kk=1wkfk(y,x)) P ( y | x ) = 1 Z ( X ) e x p ( ∑ k = 1 K w k f k ( y , x ) )

Z(x)=yexp(Kk=1)wkfk(y,x) Z ( x ) = ∑ y e x p ( ∑ k = 1 K ) w k f k ( y , x )

权值向量 : w=(w1,w2...wK)T w = ( w 1 , w 2 . . . w K ) T

全局特征向量 F(y,x)=(f1(y,x),f2(y,x)...fK(y,x))T F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) . . . f K ( y , x ) ) T

则条件随机场可以写出向量的w与 F(y,x) F ( y , x ) 的内积形式。

Pw(y|x)=exp(w.F(y,x))Zw(x) P w ( y | x ) = e x p ( w . F ( y , x ) ) Z w ( x )

Zw(x)=yexp(w.F(y,x)) Z w ( x ) = ∑ y e x p ( w . F ( y , x ) )

条件随机场的矩阵形式

引进特殊的起点和终点状态标记 y0=start,yn+1=stop y 0 = s t a r t , y n + 1 = s t o p ,可 以用矩阵表示条件随机场。

在观测序列x的每个位置 i=1,2,...n+1 i = 1 , 2 , . . . n + 1 ,定义一个m阶矩阵(m是 yi y i 取值的个数)

Mi(x)=[Mi(yi1,yi|x)] M i ( x ) = [ M i ( y i − 1 , y i | x ) ]

Mi(x)[j,k] M i ( x ) [ j , k ] 表示 yi1=j,yi=k y i − 1 = j , y i = k 的特征函数加权和的指数。

Mi(yi1,yi|x)=exp(Wi(yi1,yi|x)) M i ( y i − 1 , y i | x ) = e x p ( W i ( y i − 1 , y i | x ) )

表示同一个位置,不同特征函数之和

Wi(yi1,yi|x)=Kk=1wkfk(yi1yi,x,i) W i ( y i − 1 , y i | x ) = ∑ k = 1 K w k f k ( y i − 1 y i , x , i )

P(y|x)=1Z(x)exp(n+1i=1(Kk=1wkfk(yi1,yi,x,i)))=1Z(x)exp(n+1i=1Wi(yi1,yi|x))=1Z(x)n+1i=1Mi(yi1yi,x,i) P ( y | x ) = 1 Z ( x ) e x p ( ∑ i = 1 n + 1 ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) ) = 1 Z ( x ) e x p ( ∑ i = 1 n + 1 W i ( y i − 1 , y i | x ) ) = 1 Z ( x ) ∏ i = 1 n + 1 M i ( y i − 1 y i , x , i )

Zw(x)=(M1(x)M2(x)...Mn+1(x))startstop Z w ( x ) = ( M 1 ( x ) M 2 ( x ) . . . M n + 1 ( x ) ) s t a r t s t o p

条件概率的概率计算问题

条件随机场的概率计算问题,是给定条件随机场 P(Y|X) P ( Y | X ) ,输入序列为x和输出序列y,计算条件概率 P(Yi=yi|x) P ( Y i = y i | x ) P(Yi1=yi1,Yi=yi|x) P ( Y i − 1 = y i − 1 , Y i = y i | x ) 以及相应的数学期望问题。

前向-后向算法

αi(yi|x) α i ( y i | x ) 表示在位置i的标记是 yi y i 的前部分标记序列的非规范化概率, yi y i 取值可能又m个,为一个m维列向量。

α0(y|x)={1,y=start0,otherwise α 0 ( y | x ) = { 1 , y = s t a r t 0 , o t h e r w i s e

αTi(x)=αTi1(x)Mi(x) α i T ( x ) = α i − 1 T ( x ) M i ( x )

同理定义后向概率

βi(yi|x) β i ( y i | x ) 表示位置i的标记为 yi y i ,从i+1到n的后半部分标记序列的非规范化概率。

βn+1(yn+1|x)={1,yn+1=end0,otherwise β n + 1 ( y n + 1 | x ) = { 1 , y n + 1 = e n d 0 , o t h e r w i s e

βi(x)=Mi+1(x)βi+1(x) β i ( x ) = M i + 1 ( x ) β i + 1 ( x )

Z(x)=αTn(x).1=1T.β1(x) Z ( x ) = α n T ( x ) .1 = 1 T . β 1 ( x )

概率计算

标记序列在位置i是 yi y i 的条件概率

P(Yi=yi|x)=αTi(yi|x)βi(yi|x)Z(x) P ( Y i = y i | x ) = α i T ( y i | x ) β i ( y i | x ) Z ( x )

在位置 i1 i − 1 ​ 和位置 i i ​ ,标记为 yi1,yi y i − 1 , y i ​ 的条件概率为:

P(Yi=yi,Yi1=yi1|x)=αTi1Mi(yi1,yi|x)(yi|x)βi(yi|x)Z(x) P ( Y i = y i , Y i − 1 = y i − 1 | x ) = α i − 1 T M i ( y i − 1 , y i | x ) ( y i | x ) β i ( y i | x ) Z ( x )

条件随机场的学习算法

已知训练集,可以得到经验概率分布 P~(X,Y) P ~ ( X , Y ) ,可以通过极大化训练数据的对数似然函数来求模型参数:

L(a)=x,yP~(x,y)logP(y|x)=ni=1Kk=1wkfk(yj,xj)ni=1logZ(x) L ( a ) = ∑ x , y P ~ ( x , y ) l o g P ( y | x ) = ∑ i = 1 n ∑ k = 1 K w k f k ( y j , x j ) − ∑ i = 1 n l o g Z ( x )

上述问题为关于 wi w i 的无约束最优化问题,因此,可以直接采用梯度下降法就行求解,由于上式为凸函数,因此,可以采用更快速的牛顿法或拟牛顿法进行求解。

条件随机场的预测算法

条件随机场的预测问题是给定条件随机场 P(Y|X) P ( Y | X ) 和输入序列x,求条件概率最大的输出概率 y y ∗ 的问题。

y=argmaxyP(y|x)=argmaxyexp(w.F(y,x))Z(x)=argmaxyexp(w.F(y,x))=argmaxyw.F(y,x) y ∗ = a r g m a x y P ( y | x ) = a r g m a x y e x p ( w . F ( y , x ) ) Z ( x ) = a r g m a x y e x p ( w . F ( y , x ) ) = a r g m a x y w . F ( y , x )

w=(w1,w2....wK)T w = ( w 1 , w 2 . . . . w K ) T 不同特征函数的权重

F(y,x)=(f1(y,x),f2(y,x)....fK(y,x))T F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) . . . . f K ( y , x ) ) T

因此

y=ni=1wFi(yi1,yi,x) y ∗ = ∑ i = 1 n w F i ( y i − 1 , y i , x )

其中 Fi(yi1,yi,x)=(f1(yi1,yi,x,i),f2(yi1,yi,x,i),f3(yi1,yi,x,i),...fK(yi1,yi,x,i),) F i ( y i − 1 , y i , x ) = ( f 1 ( y i − 1 , y i , x , i ) , f 2 ( y i − 1 , y i , x , i ) , f 3 ( y i − 1 , y i , x , i ) , . . . f K ( y i − 1 , y i , x , i ) , )

同一个位置,不同特征函数组成的向量。

由于上式满足最优子结构,因此可以采用动态规划方法进行求解。

初始化

求出位置1标记为j=1,2…m的非规范化概率

δ1(j)=w.F1(y0=start,y1=j,x) δ 1 ( j ) = w . F 1 ( y 0 = s t a r t , y 1 = j , x )

递归公式

δi(l)=max1jm(δi1(j)+w.Fi(yi1=j,yi=l,x)) δ i ( l ) = m a x 1 ≤ j ≤ m ( δ i − 1 ( j ) + w . F i ( y i − 1 = j , y i = l , x ) ) l =1,2…m

Φi(l)=argmax1jm(δi1(j)+w.Fi(yi1=j,yi=l,x)) Φ i ( l ) = a r g m a x 1 ≤ j ≤ m ( δ i − 1 ( j ) + w . F i ( y i − 1 = j , y i = l , x ) )

yn=argmax1jmδn(j) y n ∗ = a r g m a x 1 ≤ j ≤ m δ n ( j )

回溯

yI=ϕi+1(yi+1) y I ∗ = ϕ i + 1 ( y i + 1 ∗ ) , i=n1,...1 i = n − 1 , . . .1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值