条件随机场CRF(一): 条件随机场的三种表示

1. 条件随机场简述

1.1 条件随机场定义

设X,Y为两个随机变量,若由Y构成的无向图(随机变量为结点,变量之间的依赖关系为边)满足全局马尔科夫性(即构成马尔科夫随机场),即
P ( Y v ∣ X , Y w : w ≠ v ) = P ( Y v ∣ X , Y w : w ∼ v ) P(Y_v|X,Y_w:w\neq v) = P(Y_v|X,Y_w : w \sim v ) P(YvX,Yw:w=v)=P(YvX,Yw:wv)对有所结点v成立,则条件概率P(Y|X)为条件随机场。
理解:从左至右看就是每个结点基于图中其他结点的条件概率,等于这个结点基于他的相邻结点的条件概率。换句话说就是,每个结点的概率只与他的邻居有关。

线性链条件随机场便是给定的X,Y的长度相同(假设X={x1,x2,…,xn}, Y={y1,y2,…,yn})是的特殊情况下的条件随机场,为方便计算,我们后面都是以线性链条件随机场为例。

2. 条件随机场的参数化形式(LinearCRF为例)

设P(Y|X)为线性链条件随机场,y,x分别为Y,X的取值,则有:
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 ) ) P(y|x) = \frac {1}{Z(x)} exp(\sum_{i,k}\lambda_k~t_k(y_{i-1},y_i,x,i) +\sum_{i,l}\mu_l~s_l(y_i,x,i)) P(yx)=Z(x)1exp(i,kλk tk(yi1,yi,x,i)+i,lμl sl(yi,x,i))
其中 Z ( x ) = ∑ y e x p ( ∑ i , k λ k   t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l   s l ( y i , x , i ) ) Z(x)=\sum_y exp(\sum_{i,k}\lambda_k~t_k(y_{i-1},y_i,x,i) +\sum_{i,l}\mu_l~s_l(y_i,x,i)) Z(x)=yexp(i,kλk tk(yi1,yi,x,i)+i,lμl sl(yi,x,i))

我们一个一个来理解。CRF有两个特征:
一个特征是本身的状态, 所以我们有第一个特征函数: s l ( y i , x , i ) s_l(y_i,x,i) sl(yi,x,i)
一个特征是对前一个状态的依赖,所以我们有第二个特征函数: t k ( y i − 1 , y i , x , i ) t_k(y_{i-1},y_i,x,i) tk(yi1,yi,x,i)

λ k   ,   μ l \lambda_k ~,~\mu_l λk , μl显然就是每个特征函数对应的权重参数,也是我们要学习的参数。

e x p ( ) exp() exp()是一个加法乘法转换的常规操作, Z(x)是一个规范化因子,作用是限制P(y|x)为1。

3. 条件随机场简化形式

第一个特征函数为 t k ( y i − 1 , y i , x , i ) t_k(y_{i-1},y_i,x,i) tk(yi1,yi,x,i),我们叫它“转移特征”(从i-1转移到i),设其特征数量为 K 1 K_1 K1
第二个特征函数为 s l ( y i , x , i ) s_l(y_i,x,i) sl(yi,x,i),我们叫它“状态特征”( i 时刻的状态), 设其特征数量为 K 2 K_2 K2
总特征数量为 K = K 1 + K 2 K=K_1+K_2 K=K1+K2
原来的条件随机场的参数形式有两个特征函数,现在我们将他们合并一个新的特征函数(其实就是直接concate):
f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) f_k(y,x) = \sum_{i=1}^{n}f_k(y_{i-1},y_i,x,i) fk(y,x)=i=1nfk(yi1,yi,x,i)
其中n为序列的长度
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 f_k(y_{i-1},y_i,x,i) = \begin{cases}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\end{cases} fk(yi1,yi,x,i)={tk(yi1,yi,x,i):k=1,2,...,K1sl(yi,x,i):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 w_k=\begin{cases}\lambda_k:k=1,2,...,K_1\\ \mu_l: k=K_1+l,~l=1,2,...,K_2\end{cases} wk={λk:k=1,2,...,K1μl:k=K1+l, l=1,2,...,K2
合并后的参数和相应权重就构成了新的表达形式:
P ( y ∣ x ) = 1 Z ( x ) e x p ( ∑ k = 1 K w k f k ( y , x ) ) P(y|x) = \frac {1}{Z(x)} exp(\sum_{k=1}^{K}w_kf_k(y,x)) P(yx)=Z(x)1exp(k=1Kwkfk(y,x))
其中
Z ( x ) = ∑ y e x p ( ∑ k = 1 K w k f k ( y , x ) ) Z(x)=\sum_y exp(\sum_{k=1}^{K}w_kf_k(y,x)) Z(x)=yexp(k=1Kwkfk(y,x))

我们以 w w w表示权重向量, F ( y , x ) F(y,x) F(y,x)表示全局特征向量:
w = ( w 1 . w 2 , . . . , w K ) T w = (w_1.w_2,...,w_K)^T w=(w1.w2,...,wK)T F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , . . . , f K ( y , x ) ) T F(y,x)=(f_1(y,x),f_2(y,x),...,f_K(y,x))^T F(y,x)=(f1(y,x),f2(y,x),...,fK(y,x))T
便可表达成向量内积形式,也就是我们最终的简化形式:
P w ( y ∣ x ) = e x p ( w ⋅ F ( y , x ) ) Z w ( x )   其 中 Z w ( x ) = ∑ y e x p ( w ⋅ F ( y , x ) ) P_w(y|x) = \frac{exp(w\cdot F(y,x))}{Z_w(x)} ~其中 Z_w(x)=\sum_y exp(w\cdot F(y,x)) Pw(yx)=Zw(x)exp(wF(y,x)) Zw(x)=yexp(wF(y,x))

4. 条件随机场的矩阵形式

我们设一个线性链条件随机场 P w ( y ∣ x ) P_w(y|x) Pw(yx),在长度为n的标记序列y的首尾添加标记 y 0 = s t a r t , y n + 1 = e n d y_0=start,y_{n+1}=end y0=start,yn+1=end,现在我们尝试用一个m阶矩阵来表示一个x取值的可能的状态(所以m为所有y可能的取值个数):
M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] = [ e x p ( W i ( y i − 1 , y i ∣ x ) ) ] = [ e x p ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) ] M_i(x)=[M_i(y_{i-1},y_i |x)]=[exp(W_i(y_{i-1},y_i|x))]=[exp(\sum_{k=1}^Kw_kf_k(y_{i-1},y_i,x,i))] Mi(x)=[Mi(yi1,yix)]=[exp(Wi(yi1,yix))]=[exp(k=1Kwkfk(yi1,yi,x,i))]
这是什么?
给定的观测序列x和标记序列y, M i ( y i − 1 , y i ∣ x ) M_i(y_{i-1},y_i|x) Mi(yi1,yix)实际上是 y i y_i yi基于x的未规范化的条件概率,也不难得出序列y基于序列x的条件概率:
P w ( y ∣ x ) = ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) Z w ( x ) P_w(y|x) = \frac {\prod ^{n+1}_{i=1} M_i(y_{i-1},y_i|x)}{Z_w(x)} Pw(yx)=Zw(x)i=1n+1Mi(yi1,yix)
其中 Z w ( x ) = ( M 1 ( x ) M 2 ( x ) . . . M n + 1 ( x ) ) s t a r t , s t o p Z_w(x)=(M_1(x)M_2(x)...M_{n+1}(x))_{start,stop} Zw(x)=(M1(x)M2(x)...Mn+1(x))start,stop

参考资料:
统计学习方法 李航

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值