上一节介绍了条件随机场的建模对象——条件概率 P ( I ∣ O ) \mathcal P(\mathcal I \mid \mathcal O) P(I∣O)参数形式和向量形式的表示。本节将介绍条件随机场面对的任务,并针对推断任务进行介绍。
条件随机场(Condition Random Field,CRF)是一种结合了最大熵模型(Maximum Entropy Model)和隐马尔可夫模型(Hidden Markov Model,HMM)特点的无向图模型。其概率图结构表示如下:

并且,它是一个概率判别模型,它的建模对象是关于隐变量的条件概率
P
(
I
∣
O
)
\mathcal P(\mathcal I \mid \mathcal O)
P(I∣O):
P
(
I
∣
O
)
=
1
Z
exp
[
∑
t
=
1
T
−
1
∑
m
=
1
M
λ
m
⋅
s
m
(
i
t
+
1
,
i
t
,
O
)
+
∑
t
=
1
T
∑
l
=
1
L
η
l
⋅
g
l
(
i
t
,
O
)
]
=
1
Z
(
O
,
θ
)
exp
⟨
θ
,
H
(
i
t
+
1
,
i
t
,
O
)
⟩
{
θ
=
(
λ
1
,
⋯
,
λ
M
,
η
1
,
⋯
,
η
L
)
T
H
(
i
t
+
1
,
i
t
,
O
)
=
(
∑
t
=
1
T
−
1
s
(
i
t
+
1
,
i
t
,
O
)
∑
t
−
1
T
g
(
i
t
,
O
)
)
P(I∣O)=1Zexp[T−1∑t=1M∑m=1λm⋅sm(it+1,it,O)+T∑t=1L∑l=1ηl⋅gl(it,O)]=1Z(O,θ)exp⟨θ,H(it+1,it,O)⟩{θ=(λ1,⋯,λM,η1,⋯,ηL)TH(it+1,it,O)=(∑T−1t=1s(it+1,it,O)∑Tt−1g(it,O))
P(I∣O)=Z1exp[t=1∑T−1m=1∑Mλm⋅sm(it+1,it,O)+t=1∑Tl=1∑Lηl⋅gl(it,O)]=Z(O,θ)1exp⟨θ,H(it+1,it,O)⟩⎩⎪⎪⎪⎨⎪⎪⎪⎧θ=(λ1,⋯,λM,η1,⋯,ηL)TH(it+1,it,O)=⎝⎛∑t=1T−1s(it+1,it,O)∑t−1Tg(it,O)⎠⎞
并且,条件随机场打破了齐次马尔可夫假设和观测独立性假设,虽然没有脱离动态模型的范畴,但针对的目标是时间/序列状态转移过程有限的情况。例如:一条文本句子,一条蛋白质序列。
其中 s m ( i t + 1 , i t , O ) s_m(i_{t+1},i_t,\mathcal O) sm(it+1,it,O)被称作转移特征函数(Transition Feature Function), g l ( i t , O ) g_l(i_t,\mathcal O) gl(it,O)被称作状态特征函数(State Feature Function)。以词性标注的角度为例,描述这两个特征函数。
一个句子由词语组成,这些词语的词性在句子中存在关联关系。例如: The boy knocked at the watermelon \text{The boy knocked at the watermelon} The boy knocked at the watermelon(男孩敲了敲西瓜)。
我们需要定义合适的特征函数,来刻画数据的一些可能成立或者期望成立的经验特性。
当
t
=
3
t=3
t=3时,此时的观测变量
o
3
o_3
o3为
knocked
\text{knocked}
knocked,而下一时刻的词语是介词
at
\text{at}
at。在条件随机场——背景介绍中提到特征函数通常是实值函数,因此当前时刻的状态特征函数
g
l
(
i
3
,
O
)
g_l(i_3,\mathcal O)
gl(i3,O)表示如下:
这里忽略‘时态’的影响,并且[
V
\mathcal V
V]表示动词;[
P
\mathcal P
P]表示介词。
g
l
(
i
3
,
O
)
=
{
1
if
i
3
=
[
V
]
and
o
3
=
′
knock
′
0
otherwise
g_l(i_3,\mathcal O) = {1if i3=[V] and o3=′knock′0otherwise
gl(i3,O)={1if i3=[V] and o3=′knock′0otherwise
很明显,
i
3
=
[
V
]
and
o
3
=
′
knock
′
i_3 = [\mathcal V] \text{ and } o_3 = '\text{knock}'
i3=[V] and o3=′knock′描述了一种既定事实,只要满足该事实条件,
g
l
(
i
3
,
O
)
g_l(i_3,\mathcal O)
gl(i3,O)才有它的存在价值。同理,关于两个隐变量共同作用的转移特征函数
s
m
(
i
4
,
i
3
,
O
)
s_m(i_4,i_3,\mathcal O)
sm(i4,i3,O)表示如下:
和状态特征函数类似,当“当前词语的词性是动词”且“下一个词语的词性是介词”,并且当前单词是
knock
\text{knock}
knock时,该特征函数被启用。对应产生价值的大小由对应特征函数的参数
λ
m
,
η
l
\lambda_m,\eta_l
λm,ηl决定。
s
m
(
i
4
,
i
3
,
O
)
=
{
1
if
i
4
=
[
P
]
,
i
3
=
[
V
]
and
o
3
=
′
knock
′
0
otherwise
s_m(i_4,i_3,\mathcal O)= {1if i4=[P],i3=[V] and o3=′knock′0otherwise
sm(i4,i3,O)={1if i4=[P],i3=[V] and o3=′knock′0otherwise
条件随机场作为一个概率图模型,其主要任务主要分为两个部分:
学习任务(Learning),主要针对模型参数进行求解。(Parameter Estimation)
对于条件随机场的学习任务,可以将其理解为:给定训练数据集
D
\mathcal D
D:
样本/标签维度均是
T
T
T,即样本维度和条件随机场建模的‘序列/时间长度相同’。不要和‘转置符号’弄混;从真实样本的角度观察,样本
x
(
i
)
x^{(i)}
x(i)可能是某一个句子,一个序列,而不是一个单词,一个氨基酸;对应的标签
y
(
i
)
y^{(i)}
y(i)可能是‘每个单词的词性标注组成的序列’。各样本之间属于‘独立同分布’,各样本之间不存在关联关系。对应图像示例如下:

对于最优参数
θ
^
\hat {\theta}
θ^的估计表示如下:
其朴素思想在于:希望预测的标签序列
y
y
y能够与对应的样本
x
x
x最大程度的匹配,即
P
(
y
∣
x
)
\mathcal P(y \mid x)
P(y∣x)越大越好。并且各样本之间独立同分布,因此在学习过程中,模型参数的评价标准就是对‘数据集合内’的所有样本的
P
(
y
∣
x
)
\mathcal P(y \mid x)
P(y∣x)都达到最大。
θ
^
=
arg
max
θ
∏
i
=
1
N
P
(
y
(
i
)
∣
x
(
i
)
)
ˆθ=argmaxθN∏i=1P(y(i)∣x(i))
θ^=θargmaxi=1∏NP(y(i)∣x(i))
对于未知变量的推断任务(Inference):
在概率图模型——推断基本介绍中提到过关于推断的描述。
齐次马尔可夫假设~
条件随机场的边缘概率分布求解可以总结为:
这里假定每一时刻的隐状态
y
t
(
i
)
(
t
=
1
,
2
,
⋯
,
T
)
y_t^{(i)}(t=1,2,\cdots,T)
yt(i)(t=1,2,⋯,T)的取值均为‘离散型随机变量’,其中每一种取值均有对应的概率结果,从而构成概率分布。
Given Model
(
θ
)
,
P
(
Y
=
y
(
i
)
∣
X
=
x
(
i
)
)
→
P
(
y
t
(
i
)
=
j
∣
x
(
i
)
)
\text{Given Model}(\theta) ,\mathcal P(\mathcal Y = y^{(i)} \mid \mathcal X = x^{(i)}) \to \mathcal P(y_t^{(i)} = j \mid x^{(i)})
Given Model(θ),P(Y=y(i)∣X=x(i))→P(yt(i)=j∣x(i))
回顾条件随机场的概率图表示,它是一个包含
T
T
T个极大团的马尔可夫随机场:
由于模型已知,因而各极大团的势函数也是已知项。
P
(
y
(
i
)
∣
x
(
i
)
)
=
P
(
y
1
(
i
)
,
y
2
(
i
)
,
⋯
,
y
T
(
i
)
∣
x
1
:
T
(
i
)
)
=
1
Z
∏
t
=
1
T
−
1
ψ
t
(
y
t
(
i
)
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
P(y(i)∣x(i))=P(y(i)1,y(i)2,⋯,y(i)T∣x(i)1:T)=1ZT−1∏t=1ψt(y(i)t,y(i)t+1,x(i)1:T)
P(y(i)∣x(i))=P(y1(i),y2(i),⋯,yT(i)∣x1:T(i))=Z1t=1∏T−1ψt(yt(i),yt+1(i),x1:T(i))
在求解某一项
y
t
(
i
)
(
t
=
1
,
2
,
⋯
,
T
)
y_t^{(i)}(t=1,2,\cdots,T)
yt(i)(t=1,2,⋯,T)时,需要将其他无关项积分掉:
P
(
y
t
(
i
)
∣
x
1
:
T
(
i
)
)
=
∑
y
1
(
i
)
,
⋯
,
y
t
−
1
(
i
)
,
y
t
+
1
(
i
)
,
⋯
,
y
T
(
i
)
P
(
y
(
i
)
∣
x
(
i
)
)
=
∑
y
1
(
i
)
,
⋯
,
y
t
−
1
(
i
)
∑
y
t
+
1
(
i
)
,
⋯
,
y
T
(
i
)
1
Z
∏
t
=
1
T
−
1
ψ
t
(
y
t
(
i
)
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
P(y(i)t∣x(i)1:T)=∑y(i)1,⋯,y(i)t−1,y(i)t+1,⋯,y(i)TP(y(i)∣x(i))=∑y(i)1,⋯,y(i)t−1∑y(i)t+1,⋯,y(i)T1ZT−1∏t=1ψt(y(i)t,y(i)t+1,x(i)1:T)
P(yt(i)∣x1:T(i))=y1(i),⋯,yt−1(i),yt+1(i),⋯,yT(i)∑P(y(i)∣x(i))=y1(i),⋯,yt−1(i)∑yt+1(i),⋯,yT(i)∑Z1t=1∏T−1ψt(yt(i),yt+1(i),x1:T(i))
观察上式,这里假设隐状态
y
t
(
i
)
y_t^{(i)}
yt(i)的取值方式集合为
K
\mathcal K
K,集合中的每一种取值方式均需要执行
T
−
1
T-1
T−1次连乘操作,并且上式中一共包含
T
−
1
T-1
T−1个连加项,它的时间复杂度表示为:
∣
K
∣
|\mathcal K|
∣K∣表示为‘取值集合中的元素数量’。
O
(
∣
K
∣
T
−
1
)
⋅
O
(
T
−
1
)
=
O
[
(
T
−
1
)
∣
K
∣
T
−
1
]
O(|\mathcal K|^{T-1}) \cdot O(T-1) = O\left[(T-1) |\mathcal K|^{T-1}\right]
O(∣K∣T−1)⋅O(T−1)=O[(T−1)∣K∣T−1]
这种包含指数的复杂度是极难求解的。
回顾上式,观察连乘部分:
∏
t
=
1
T
−
1
ψ
t
(
y
t
(
i
)
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
=
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
⋯
ψ
T
−
1
(
y
T
−
1
(
i
)
,
y
T
(
i
)
,
x
1
:
T
(
i
)
)
\prod_{t=1}^{T-1} \psi_t(y_t^{(i)},y_{t+1}^{(i)},x_{1:T}^{(i)}) = \psi_1(y_1^{(i)},y_2^{(i)},x_{1:T}^{(i)}) \cdots \psi_{T-1}(y_{T-1}^{(i)},y_T^{(i)},x_{1:T}^{(i)})
t=1∏T−1ψt(yt(i),yt+1(i),x1:T(i))=ψ1(y1(i),y2(i),x1:T(i))⋯ψT−1(yT−1(i),yT(i),x1:T(i))
发现:连乘中的每一项均只和两个相邻的隐状态相关,和其他隐状态无关。因此,可以将原式中的连加项带入到连乘部分的各项中。
其中
k
k
k是隐状态取值集合
K
\mathcal K
K的一种取值。
P
(
y
t
(
i
)
∣
x
1
:
T
(
i
)
)
=
1
Z
[
∑
y
1
(
i
)
,
⋯
,
y
t
−
1
(
i
)
∏
t
=
1
t
−
1
ψ
t
(
y
t
(
i
)
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
]
⋅
[
∑
y
t
+
1
(
i
)
,
⋯
,
y
T
(
i
)
∏
t
=
t
T
−
1
ψ
t
(
y
t
(
i
)
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
]
=
1
Z
[
∑
y
1
(
i
)
,
⋯
,
y
t
−
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
⋯
ψ
t
−
1
(
y
t
−
1
(
i
)
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
]
⋅
[
∑
y
t
+
1
(
i
)
,
⋯
,
y
T
(
i
)
ψ
t
(
y
t
(
i
)
=
k
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
⋯
ψ
T
−
1
(
y
T
−
1
(
i
)
,
y
T
(
i
)
,
x
1
:
T
(
i
)
)
]
P(y(i)t∣x(i)1:T)=1Z[∑y(i)1,⋯,y(i)t−1t−1∏t=1ψt(y(i)t,y(i)t+1,x(i)1:T)]⋅[∑y(i)t+1,⋯,y(i)TT−1∏t=tψt(y(i)t,y(i)t+1,x(i)1:T)]=1Z[∑y(i)1,⋯,y(i)t−1ψ1(y(i)1,y(i)2,x(i)1:T)⋯ψt−1(y(i)t−1,y(i)t=k,x(i)1:T)]⋅[∑y(i)t+1,⋯,y(i)Tψt(y(i)t=k,y(i)t+1,x(i)1:T)⋯ψT−1(y(i)T−1,y(i)T,x(i)1:T)]
P(yt(i)∣x1:T(i))=Z1⎣⎢⎡y1(i),⋯,yt−1(i)∑t=1∏t−1ψt(yt(i),yt+1(i),x1:T(i))⎦⎥⎤⋅⎣⎢⎡yt+1(i),⋯,yT(i)∑t=t∏T−1ψt(yt(i),yt+1(i),x1:T(i))⎦⎥⎤=Z1⎣⎢⎡y1(i),⋯,yt−1(i)∑ψ1(y1(i),y2(i),x1:T(i))⋯ψt−1(yt−1(i),yt(i)=k,x1:T(i))⎦⎥⎤⋅⎣⎢⎡yt+1(i),⋯,yT(i)∑ψt(yt(i)=k,yt+1(i),x1:T(i))⋯ψT−1(yT−1(i),yT(i),x1:T(i))⎦⎥⎤
首先观察第一个中括号项
Δ
l
e
f
t
\Delta_{left}
Δleft,针对这种 积分项与函数匹配的情况,使用变量消去法的方式进行化简:
变量消去法是精确推断的一种化简方式,欢迎回去考古。
Δ
l
e
f
t
=
∑
y
1
(
i
)
,
⋯
,
y
t
−
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
⋯
ψ
t
−
1
(
y
t
−
1
(
i
)
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
=
∑
y
2
(
i
)
,
⋯
,
y
t
−
1
(
i
)
ψ
2
(
y
2
(
i
)
,
y
3
(
i
)
,
x
1
:
T
(
i
)
)
⋯
ψ
t
−
1
(
y
t
−
1
(
i
)
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
∑
y
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
Δleft=y1(i),⋯,yt−1(i)∑ψ1(y1(i),y2(i),x1:T(i))⋯ψt−1(yt−1(i),yt(i)=k,x1:T(i))=y2(i),⋯,yt−1(i)∑ψ2(y2(i),y3(i),x1:T(i))⋯ψt−1(yt−1(i),yt(i)=k,x1:T(i))y1(i)∑ψ1(y1(i),y2(i),x1:T(i))
此时,
∑
y
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
\sum_{y_1^{(i)}} \psi_1(y_1^{(i)},y_2^{(i)},x_{1:T}^{(i)})
∑y1(i)ψ1(y1(i),y2(i),x1:T(i))会将
y
1
(
i
)
y_1^{(i)}
y1(i)积分掉,最终返回一个仅关于
y
2
(
i
)
y_2^{(i)}
y2(i)的函数:
m
1
(
y
2
(
i
)
,
x
1
:
T
(
i
)
)
m_{1}(y_2^{(i)},x_{1:T}^{(i)})
m1(y2(i),x1:T(i))表示链式条件随机场中‘第
1
1
1个极大团将’
y
1
(
i
)
y_1^{(i)}
y1(i)积分掉后的函数结果。
∑
y
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
=
m
1
(
y
2
(
i
)
,
x
1
:
T
(
i
)
)
\sum_{y_1^{(i)}} \psi_1(y_1^{(i)},y_2^{(i)},x_{1:T}^{(i)}) = m_{1}(y_2^{(i)},x_{1:T}^{(i)})
y1(i)∑ψ1(y1(i),y2(i),x1:T(i))=m1(y2(i),x1:T(i))
最终, Δ l e f t \Delta_{left} Δleft继续表示为如下形式:
将第
m
1
(
y
2
(
i
)
,
x
1
:
T
(
i
)
)
m_{1}(y_2^{(i)},x_{1:T}^{(i)})
m1(y2(i),x1:T(i))与第
2
2
2个极大团结合,继续进行积分。表示
y
2
(
i
)
y_2^{(i)}
y2(i)被积分掉,消耗第
1
1
1个极大团产生的关于第
2
2
2个极大团的函数结果。Δ l e f t = ∑ y 3 ( i ) , ⋯ , y t − 1 ( i ) ψ 3 ( y 3 ( i ) , y 4 ( i ) , x 1 : T ( i ) ) ⋯ ψ t − 1 ( y t − 1 ( i ) , y t ( i ) = k , x 1 : T ( i ) ) ⋅ ∑ y 2 ( i ) ψ 2 ( y 2 ( i ) , y 3 ( i ) , x 1 : T ( i ) ) ⋅ m 1 ( y 2 ( i ) , x 1 : T ( i ) ) = ∑ y 3 ( i ) , ⋯ , y t − 1 ( i ) ψ 3 ( y 3 ( i ) , y 4 ( i ) , x 1 : T ( i ) ) ⋯ ψ t − 1 ( y t − 1 ( i ) , y t ( i ) = k , x 1 : T ( i ) ) ⋅ m 1 → 2 ( y 3 ( i ) , x 1 : T ( i ) ) = ⋯ = ∑ y t − 1 ( i ) ψ t − 1 ( y t − 1 ( i ) , y t ( i ) = k , x 1 : T ( i ) ) ⋅ m ( t − 3 ) → ( t − 2 ) ( y t − 1 ( i ) , x 1 : T ( i ) ) = m ( t − 2 ) → ( t − 1 ) ( y t ( i ) = k , x 1 : T ( i ) ) Δleft=y3(i),⋯,yt−1(i)∑ψ3(y3(i),y4(i),x1:T(i))⋯ψt−1(yt−1(i),yt(i)=k,x1:T(i))⋅y2(i)∑ψ2(y2(i),y3(i),x1:T(i))⋅m1(y2(i),x1:T(i))=y3(i),⋯,yt−1(i)∑ψ3(y3(i),y4(i),x1:T(i))⋯ψt−1(yt−1(i),yt(i)=k,x1:T(i))⋅m1→2(y3(i),x1:T(i))=⋯=yt−1(i)∑ψt−1(yt−1(i),yt(i)=k,x1:T(i))⋅m(t−3)→(t−2)(yt−1(i),x1:T(i))=m(t−2)→(t−1)(yt(i)=k,x1:T(i))
如果简化过程中保留积分的简化过程,
Δ
l
e
f
t
\Delta_{left}
Δleft表示为如下形式:
给
Δ
l
e
f
t
\Delta_{left}
Δleft定义一个符号:
α
t
(
k
)
\alpha_t(k)
αt(k)。
α
t
(
k
)
=
∑
y
t
−
1
(
i
)
ψ
t
−
1
(
y
t
−
1
(
i
)
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
⋯
∑
y
2
(
i
)
ψ
2
(
y
2
(
i
)
,
y
3
(
i
)
,
x
1
:
T
(
i
)
)
∑
y
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
\alpha_t(k) =\sum_{y_{t-1}^{(i)}} \psi_{t-1}(y_{t-1}^{(i)},y_{t}^{(i)} = k,x_{1:T}^{(i)}) \cdots \sum_{y_2^{(i)}} \psi_2(y_2^{(i)},y_3^{(i)},x_{1:T}^{(i)})\sum_{y_1^{(i)}} \psi_1(y_1^{(i)},y_2^{(i)},x_{1:T}^{(i)})
αt(k)=yt−1(i)∑ψt−1(yt−1(i),yt(i)=k,x1:T(i))⋯y2(i)∑ψ2(y2(i),y3(i),x1:T(i))y1(i)∑ψ1(y1(i),y2(i),x1:T(i))
其他时刻的表示方法同理。如
α
t
−
1
(
j
)
\alpha_{t-1}(j)
αt−1(j):
α
t
−
1
(
j
)
=
∑
y
t
−
2
(
i
)
ψ
t
−
2
(
y
t
−
2
(
i
)
,
y
t
−
1
(
i
)
=
j
,
x
1
:
T
(
i
)
)
⋯
∑
y
2
(
i
)
ψ
2
(
y
2
(
i
)
,
y
3
(
i
)
,
x
1
:
T
(
i
)
)
∑
y
1
(
i
)
ψ
1
(
y
1
(
i
)
,
y
2
(
i
)
,
x
1
:
T
(
i
)
)
\alpha_{t-1}(j) = \sum_{y_{t-2}^{(i)}} \psi_{t-2}(y_{t-2}^{(i)},y_{t-1}^{(i)} = j,x_{1:T}^{(i)}) \cdots \sum_{y_2^{(i)}} \psi_2(y_2^{(i)},y_3^{(i)},x_{1:T}^{(i)})\sum_{y_1^{(i)}} \psi_1(y_1^{(i)},y_2^{(i)},x_{1:T}^{(i)})
αt−1(j)=yt−2(i)∑ψt−2(yt−2(i),yt−1(i)=j,x1:T(i))⋯y2(i)∑ψ2(y2(i),y3(i),x1:T(i))y1(i)∑ψ1(y1(i),y2(i),x1:T(i))
那么
α
t
(
k
)
\alpha_t(k)
αt(k)与
α
t
−
1
(
j
)
\alpha_{t-1}(j)
αt−1(j)之间的关联关系表示如下:
再强调一下,
K
\mathcal K
K是隐状态离散的取值集合,
j
,
k
∈
K
j,k \in \mathcal K
j,k∈K,完全可以通过迭代方式求解
α
t
(
k
)
\alpha_t(k)
αt(k)。
α
t
(
k
)
=
∑
y
t
−
1
(
i
)
ψ
t
−
1
(
y
t
−
1
(
i
)
=
j
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
⋅
α
t
−
1
(
j
)
=
∑
j
∈
K
ψ
t
−
1
(
y
t
−
1
(
i
)
=
j
,
y
t
(
i
)
=
k
,
x
1
:
T
(
i
)
)
⋅
α
t
−
1
(
j
)
αt(k)=yt−1(i)∑ψt−1(yt−1(i)=j,yt(i)=k,x1:T(i))⋅αt−1(j)=j∈K∑ψt−1(yt−1(i)=j,yt(i)=k,x1:T(i))⋅αt−1(j)
第二个中括号项
Δ
r
i
g
h
t
\Delta_{right}
Δright同理,定义为
β
t
(
m
)
\beta_t(m)
βt(m),表示如下:
β
t
(
m
)
=
∑
y
t
+
1
(
i
)
ψ
t
(
y
t
(
i
)
=
m
,
y
t
+
1
(
i
)
,
x
1
:
T
(
i
)
)
∑
y
t
+
2
(
i
)
ψ
t
+
1
(
y
t
+
1
(
i
)
,
y
t
+
2
(
i
)
,
x
1
:
T
(
i
)
)
⋯
∑
y
T
(
i
)
ψ
T
−
1
(
y
T
−
1
(
i
)
,
y
T
(
i
)
,
x
1
:
T
(
i
)
)
\beta_t(m) = \sum_{y_{t+1}^{(i)}} \psi_{t}(y_{t}^{(i)} = m,y_{t+1}^{(i)},x_{1:T}^{(i)})\sum_{y_{t+2}^{(i)}} \psi_{t+1}(y_{t+1}^{(i)},y_{t+2}^{(i)},x_{1:T}^{(i)}) \cdots \sum_{y_T^{(i)}} \psi_{T-1}(y_{T-1}^{(i)},y_{T}^{(i)},x_{1:T}^{(i)})
βt(m)=yt+1(i)∑ψt(yt(i)=m,yt+1(i),x1:T(i))yt+2(i)∑ψt+1(yt+1(i),yt+2(i),x1:T(i))⋯yT(i)∑ψT−1(yT−1(i),yT(i),x1:T(i))
最终,求解边缘概率分布结果
P
(
y
t
(
i
)
∣
x
1
:
T
(
i
)
)
\mathcal P(y_t^{(i)} \mid x_{1:T}^{(i)})
P(yt(i)∣x1:T(i)):
P
(
y
t
(
i
)
∣
x
1
:
T
(
i
)
)
=
1
Z
⋅
α
t
(
k
)
⋅
β
t
(
m
)
\mathcal P(y_t^{(i)} \mid x_{1:T}^{(i)}) = \frac{1}{\mathcal Z} \cdot \alpha_t(k) \cdot \beta_t(m)
P(yt(i)∣x1:T(i))=Z1⋅αt(k)⋅βt(m)
相关参考:
机器学习-周志华著
机器学习-条件随机场(6)-CRF模型-要解决的问题
机器学习-条件随机场(7)-CRF模型-Inference-边缘概率计算