条件随机场

一:回顾
从HMM(隐马尔科夫)模型到MEMM(最大熵马尔科夫)模型
HMM是生成式模型,也就是基于联合概率建模,其中参数有
λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B)
两种前提假设:
1:齐次马尔科夫假设
2:观测独立假设
建模对象:
P ( X , Y ∣ λ ) = ∏ t p ( x t , y t ∣ λ ) P(X,Y|\lambda)=\prod_t p(x_t,y_t|\lambda) P(X,Yλ)=tp(xt,ytλ)
= ∏ t p ( y t ∣ y t − 1 , λ ) p ( x t ∣ y t , λ ) =\prod_t p(y_t|y_{t-1},\lambda)p(x_t|y_{t},\lambda) =tp(ytyt1,λ)p(xtyt,λ)
MEMM是判别式模型,打破了观测独立假设,显得更新合理,建模对象:
P ( Y ∣ X , λ ) = ∏ t p ( y t ∣ y t − 1 , x 1 − > t , λ ) P(Y|X,\lambda)=\prod_t p(y_t|y_{t-1},x_{1->t},\lambda) P(YX,λ)=tp(ytyt1,x1>t,λ)
在这里插入图片描述
从MEMM到CRF
MEMM存在的问题:label bias problem(标记偏差问题)
CRF的优势:
1:解决了标记偏差问题
2:从有向变为无向
3:打破了齐次马尔科夫性
在这里插入图片描述
条件随机场定义:
在这里插入图片描述
二:条件随机场(CRF)概率密度函数的参数形式:
在这里插入图片描述
无向图的因子分解公式:
P ( X ∣ Y ) = ∏ i t 1 Z ψ i ( X C i ) P(X|Y)=\displaystyle \prod_i^t \frac{1}{Z}\psi_i(X_{C_i}) P(XY)=itZ1ψi(XCi)
这里 Z 是 归 一 化 因 子 , ψ i 是 势 函 数 , C i 表 示 第 i 个 最 大 团 Z是归一化因子,\psi_i是势函数,C_i表示第i个最大团 ZψiCii
上式势函数通常取指数函数,展开有
P ( X ∣ Y ) = ∏ i t 1 Z e x p [ − E i ( X C i ) ] P(X|Y)=\displaystyle \prod_i^t \frac{1}{Z}exp[-E_i(X_{C_i})] P(XY)=itZ1exp[Ei(XCi)]
上式中的 E i ( X C i ) E_i(X_{C_i}) Ei(XCi)叫做能量函数,令 − E i ( X C i ) = F i ( X C i ) -E_i(X_{C_i})=F_i(X_{C_i}) Ei(XCi)=Fi(XCi)
原式等于
P ( X ∣ Y ) = ∏ i t 1 Z e x p [ F i ( X C i ) ] P(X|Y)=\displaystyle \prod_i^t \frac{1}{Z}exp[F_i(X_{C_i})] P(XY)=itZ1exp[Fi(XCi)]
= 1 Z e x p ∑ i t F i ( X C i ) =\displaystyle\frac{1}{Z}exp \sum_i^t F_i(X_{C_i}) =Z1expitFi(XCi)
由于是线性链,所以 X C i 可 以 表 示 成 为 y t − 1 , y t , x 1.. T X_{C_i}可以表示成为y_{t-1},y_t,x_{1..T} XCiyt1,yt,x1..T
= 1 Z e x p ∑ i t F i ( y t − 1 , y t , x 1.. T ) =\displaystyle\frac{1}{Z}exp \sum_i^t F_i(y_{t-1},y_t,x_{1..T}) =Z1expitFi(yt1,yt,x1..T)
又因为每个线性链结构都是一样的,所以只用一个 F F F函数即可
= 1 Z e x p ∑ i t F ( y t − 1 , y t , x T ) =\displaystyle\frac{1}{Z}exp \sum_i^t F(y_{t-1},y_t,x_T) =Z1expitF(yt1,yt,xT)
在这里插入图片描述
对于线性链,可以把
F 函 数 表 示 为 三 个 函 数 , 关 于 y t − 1 的 函 数 , 关 于 y t 的 函 数 , 关 于 边 ( y t − 1 , y t ) 的 函 数 F函数表示为三个函数,关于y_{t-1}的函数,关于y_t的函数,关于边(y_{t-1},y_t)的函数 Fyt1yt(yt1,yt)
F ( y t − 1 , y t , x T ) = Δ ( y t − 1 , x T ) + Δ ( y t , x T ) + Δ ( y t − 1 , y t , x T ) F(y_{t-1},y_t,x_T)=\Delta(y_{t-1},x_T)+\Delta(y_{t},x_T)+\Delta(y_{t-1},y_{t},x_T) F(yt1,yt,xT)=Δ(yt1,xT)+Δ(yt,xT)+Δ(yt1,yt,xT)
其中前两项称作状态函数,后项称作转移函数
又因为 Δ ( y t − 1 , x T ) , Δ ( y t , x T ) \Delta(y_{t-1},x_T),\Delta(y_{t},x_T) Δ(yt1,xT),Δ(yt,xT)函数是相同的,这里可以用一个来表示
令:
Δ ( y t − 1 , y t , x T ) = ∑ i k λ i f i ( y t − 1 , y t , x T ) \Delta(y_{t-1},y_{t},x_T)=\sum_i^k \lambda_i f_i(y_{t-1},y_{t},x_T) Δ(yt1,yt,xT)=ikλifi(yt1,yt,xT)
Δ ( y t , x T ) = ∑ i l η i g i ( y t , x T ) \Delta(y_{t},x_T)=\sum_i^l \eta_i g_i(y_{t},x_T) Δ(yt,xT)=ilηigi(yt,xT)
其中: λ i , η i 是 参 数 , f i , g i 是 特 征 函 数 \lambda_i,\eta_i是参数,f_i,g_i是特征函数 λi,ηifigi
此时原函数可以表示为:
P ( X ∣ Y ) = 1 Z e x p ∑ i k F ( y t − 1 , y t , x T ) P(X|Y)=\displaystyle\frac{1}{Z}exp \sum_i^k F(y_{t-1},y_t,x_T) P(XY)=Z1expikF(yt1,yt,xT)
= 1 Z e x p ∑ i t [ ∑ i k λ i f i ( y t − 1 , y t , x T ) + ∑ i l η i g i ( y t , x T ) ] =\displaystyle\frac{1}{Z}exp \sum_i^t[\sum_i^k \lambda_i f_i(y_{t-1},y_{t},x_T)+\sum_i^l \eta_i g_i(y_{t},x_T)] =Z1expit[ikλifi(yt1,yt,xT)+ilηigi(yt,xT)]
使用向量化表示参数,令:
在这里插入图片描述
此时原式可表示为:

= 1 Z ( x , λ , η ) e x p ∑ i k [ λ T f ( y t − 1 , y t , x T ) + η T g ( y t , x T ) ] =\displaystyle\frac{1}{Z(x,\lambda,\eta)}exp \sum_i^k[\lambda^T f(y_{t-1},y_{t},x_T)+ \eta^T g(y_{t},x_T)] =Z(x,λ,η)1expik[λTf(yt1,yt,xT)+ηTg(yt,xT)]
令:
在这里插入图片描述
原式可进一步表示为:
= 1 Z ( x , θ ) e x p ∑ i k [ θ T H ( y t − 1 , y t , x T ) ] =\displaystyle\frac{1}{Z(x,\theta)}exp \sum_i^k[\theta^T H(y_{t-1},y_{t},x_T)] =Z(x,θ)1expik[θTH(yt1,yt,xT)]

三:CRF要解决的问题:

  1. 求边缘概率 p ( y t ∣ x ) p(y_t|x) p(ytx)
  2. 参数估计 θ = a r g m a x ∏ i = 1 N P ( y i ∣ x i ) \theta=argmax \displaystyle \prod_{i=1}^NP(y^i|x^i) θ=argmaxi=1NP(yixi)

首先求边缘概率:
给定
p ( Y = y ∣ X = x ) 求 p ( y t = i ∣ x ) p(Y=y|X=x) 求 p(y_t=i|x) p(Y=yX=x)p(yt=ix)
应用无向图因式分解公式有:
P ( Y ∣ X ) = ∏ i t 1 Z ψ i ( y t − 1 , y t , x T ) P(Y|X)=\displaystyle \prod_i^t \frac{1}{Z}\psi_i(y_{t-1},y_{t},x_T) P(YX)=itZ1ψi(yt1,yt,xT)
所以:
p ( y t = i ∣ x ) = ∑ y 1 T ∑ y 2 T . . . ∑ y t − 1 T ∑ y t + 1 T . . . ∑ y T T ∏ i K ψ i ( y k − 1 , y k , x T ) p(y_t=i|x)=\displaystyle \sum_{y_1}^T\sum_{y_2}^T... \sum_{y_{t-1}}^T\sum_{y_{t+1}}^T...\sum_{y_T}^T\prod_i^K\psi_i(y_{k-1},y_k,x_T) p(yt=ix)=y1Ty2T...yt1Tyt+1T...yTTiKψi(yk1,yk,xT)
令:
Δ 左 = ∑ y 1... t − 1 T ψ 1 ( y 0 , y 1 , x T ) ψ 2 ( y 1 , y 2 , x T ) . . . ψ t − 1 ( y t − 2 , y t − 1 , x T ) ψ t ( y t − 1 , y t , x T ) \Delta 左=\sum_{y_{1...t-1}}^T \psi_1(y_0,y_1,x_T)\psi_2(y_1,y_2,x_T)... \psi_{t-1}(y_{t-2},y_{t-1},x_T)\psi_{t}(y_{t-1},y_t,x_T) Δ=y1...t1Tψ1(y0,y1,xT)ψ2(y1,y2,xT)...ψt1(yt2,yt1,xT)ψt(yt1,yt,xT)

Δ 右 = ∑ y t + 1... T T ψ t + 1 ( y t , y t + 1 , x T ) . . . ψ T ( y T − 1 , y T , x T ) \Delta右=\sum_{y_{t+1...T}}^T\psi_{t+1}(y_t,y_{t+1},x_T)...\psi_T(y_{T-1},y_T,x_T) Δ=yt+1...TTψt+1(yt,yt+1,xT)...ψT(yT1,yT,xT)

所以有
p ( y t = i ∣ x ) = 1 Z Δ 左 Δ 右 p(y_t=i|x)=\displaystyle \frac{1}{Z}\Delta 左 \Delta右 p(yt=ix)=Z1ΔΔ

展开 Δ 左 的 求 和 符 号 有 \Delta 左的求和符号有 Δ

Δ 左 = ∑ y t − 1 T ψ t ( y t − 1 , y t , x T ) ∑ y t − 2 T ψ t − 1 ( y t − 2 , y t − 1 , x T ) . . . ∑ y 1 T ψ 2 ( y 1 , y 2 , x T ) ∑ y 0 T ψ 1 ( y 0 , y 1 , x T ) \Delta 左=\displaystyle \sum_{y_{t-1}}^T\psi_{t}(y_{t-1},y_t,x_T) \sum_{y_{t-2}}^T\psi_{t-1}(y_{t-2},y_{t-1},x_T)... \sum_{y_1}^T\psi_2(y_1,y_2,x_T)\sum_{y_0}^T \psi_1(y_0,y_1,x_T) Δ=yt1Tψt(yt1,yt,xT)yt2Tψt1(yt2,yt1,xT)...y1Tψ2(y1,y2,xT)y0Tψ1(y0,y1,xT)
同理
Δ 右 = ∑ y T T ψ T ( y T − 1 , y T , x T ) . . . ∑ y t T ψ t + 1 ( y t , y t + 1 , x T ) \Delta 右=\displaystyle \sum_{y_T}^T\psi_T(y_{T-1},y_T,x_T)...\sum_{y_t}^T\psi_{t+1}(y_t,y_{t+1},x_T) Δ=yTTψT(yT1,yT,xT)...ytTψt+1(yt,yt+1,xT)
递推公式:
α t − 1 ( i ) = Δ 左 \alpha_{t-1}(i)=\Delta 左 αt1(i)=Δ
则: α t ( j ) = ∑ j T ψ t ( y t − 1 = i , y t = j , x T ) α t − 1 ( i ) \alpha_t(j)=\displaystyle \sum_j^T\psi_t(y_{t-1}=i,y_t=j,x_T) \alpha_{t-1}(i) αt(j)=jTψt(yt1=i,yt=j,xT)αt1(i)
同理令: β t − 1 ( i ) = Δ 右 \beta_{t-1}(i)=\Delta 右 βt1(i)=Δ
则: β t ( j ) = ∑ j T ψ t ( y t − 1 = i , y t = j , x T ) β t − 1 ( i ) \beta_t(j)=\displaystyle \sum_j^T\psi_t(y_{t-1}=i,y_t=j,x_T) \beta_{t-1}(i) βt(j)=jTψt(yt1=i,yt=j,xT)βt1(i)

p ( y t = i ∣ x ) = 1 Z α t ( i ) β t ( i ) p(y_t=i|x)=\displaystyle \frac{1}{Z}\alpha_t(i) \beta_t(i) p(yt=ix)=Z1αt(i)βt(i)

求参数从略。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值