思路:
联合概率可分解为条件概率的连乘,若每个因子都是同底的指数形式,则可转化为指数相加,由此引导我们对模型提出有利于计算的假设。
通过团的分解及团上的势函数定义概率,而团的势可以定义成同底的指数形式。
条件随机场
与MRF不同,条件随机场CRF考虑的是条件概率 P ( x ∣ y ) P(\boldsymbol{\mathrm{x}}\,|\,\boldsymbol{\mathrm{y}}) P(x∣y),其中, x \boldsymbol{\mathrm{x}} x与 y \boldsymbol{\mathrm{y}} y为两组相对应的序列:观测序列 x = { x 1 , x 2 , ⋯ , x n } \boldsymbol{\mathrm{x}}=\{x_1,x_2,\cdots,x_n\} x={x1,x2,⋯,xn}和标记序列 y = { y 1 , y 2 , ⋯ , y n } \boldsymbol{\mathrm{y}}=\{y_1,y_2,\cdots,y_n\} y={y1,y2,⋯,yn},而标记序列还是结构变量,即具有图的结构 G = < V , E > G=<V,E> G=<V,E>,如,【西瓜书图14.5(b)】所示:在自然语言处理中, x \boldsymbol{\mathrm{x}} x代表句子(单词组成的序列),而 y \boldsymbol{\mathrm{y}} y代表语法树(标记为词性标注)。
CRF模型的假设为
(
x
,
y
)
(\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{y}})
(x,y)满足【西瓜书式(14.10)】
P
(
y
v
∣
x
,
y
V
∖
{
v
}
)
=
P
(
y
v
∣
x
,
y
n
(
v
)
)
\begin{align} P(y_v\,|\,\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{y}}_{V\setminus \{v\}})=P(y_v\,|\,\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{y}}_{n(v)}) \tag{14.20} \end{align}
P(yv∣x,yV∖{v})=P(yv∣x,yn(v))(14.20)
其中,
y
n
(
v
)
\boldsymbol{\mathrm{y}}_{n(v)}
yn(v)为
y
v
\boldsymbol{\mathrm{y}}_v
yv的邻接结点。 式(14.20)称为CRF的马尔可夫性。
考虑特殊的图结构:
I. 设 y \boldsymbol{\mathrm{y}} y形成链,而 x \boldsymbol{\mathrm{x}} x作为一个结点,【西瓜书图14.6】所示,称为链式条件随机场。
II. 再特殊:设
x
=
t
r
u
e
\boldsymbol{\mathrm{x}}=\mathrm{true}
x=true(恒真),则式(14.20)变为
P
(
y
k
∣
y
1
,
y
2
,
⋯
,
y
k
−
1
,
y
k
+
1
,
⋯
,
y
n
)
=
P
(
y
k
∣
y
k
−
1
,
y
k
+
1
)
\begin{align} P(y_k\,|\,y_1,y_2,\cdots,y_{k-1},y_{k+1},\cdots,y_n)=P(y_k\,|\,y_{k-1},y_{k+1}) \tag{14.21} \end{align}
P(yk∣y1,y2,⋯,yk−1,yk+1,⋯,yn)=P(yk∣yk−1,yk+1)(14.21)
注意
y
k
y_k
yk为端点时的特殊情况:这时邻接结点只有一个。 如
P
(
y
n
∣
y
1
,
y
2
,
⋯
,
y
n
−
1
)
=
P
(
y
n
∣
y
n
−
1
)
\begin{align} P(y_n\,|\,y_1,y_2,\cdots,y_{n-1})=P(y_n\,|\,y_{n-1}) \tag{14.22} \end{align}
P(yn∣y1,y2,⋯,yn−1)=P(yn∣yn−1)(14.22)
III. 再特殊:设
y
i
y_i
yi是时序的,且当前只与过去相关,则式(14.21)中删去未来结点,变为
P
(
y
k
∣
y
1
,
y
2
,
⋯
,
y
k
−
1
,
y
k
+
1
,
⋯
,
y
n
)
=
P
(
y
k
∣
y
1
,
y
2
,
⋯
,
y
k
−
1
)
=
P
(
y
k
∣
y
k
−
1
)
\begin{align} P(y_k\,|\,y_1,y_2,\cdots,y_{k-1},y_{k+1},\cdots,y_n) & =P(y_k\,|\,y_1,y_2,\cdots,y_{k-1})\notag \\ & =P(y_k\,|\,y_{k-1}) \tag{14.23} \end{align}
P(yk∣y1,y2,⋯,yk−1,yk+1,⋯,yn)=P(yk∣y1,y2,⋯,yk−1)=P(yk∣yk−1)(14.23)
这即为马尔可夫链(以时序方向作为边的方向)。
链式CRF的条件概率
在II的情况下,利用式(14.22)有
P
(
y
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
−
1
,
y
n
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
−
1
)
P
(
y
n
∣
y
1
,
y
2
,
⋯
,
y
n
−
1
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
−
1
)
P
(
y
n
∣
y
n
−
1
)
=
⋯
=
P
(
y
1
)
P
(
y
2
∣
y
1
)
P
(
y
3
∣
y
2
)
⋯
P
(
y
n
∣
y
n
−
1
)
=
P
(
y
1
)
∏
i
=
1
n
−
1
P
(
y
i
+
1
∣
y
i
)
=
∏
i
=
0
n
−
1
P
(
y
i
+
1
∣
y
i
)
\begin{align} P(\boldsymbol{\mathrm{y}}) & =P(y_1,y_2,\cdots,y_{n-1},y_n)\notag \\ & =P(y_1,y_2,\cdots,y_{n-1})P(y_n\,|\,y_1,y_2,\cdots,y_{n-1})\notag \\ & =P(y_1,y_2,\cdots,y_{n-1})P(y_n\,|\,y_{n-1})\notag \\ & =\cdots \notag \\ & =P(y_1)P(y_2\,|\,y_1)P(y_3\,|\,y_2)\cdots P(y_n\,|\,y_{n-1})\notag \\ & =P(y_1)\prod _{i=1}^{n-1}P(y_{i+1}\,|\,y_i) \tag{14.24} \\ & =\prod _{i=0}^{n-1}P(y_{i+1}\,|\,y_i) \tag{14.25} \end{align}
P(y)=P(y1,y2,⋯,yn−1,yn)=P(y1,y2,⋯,yn−1)P(yn∣y1,y2,⋯,yn−1)=P(y1,y2,⋯,yn−1)P(yn∣yn−1)=⋯=P(y1)P(y2∣y1)P(y3∣y2)⋯P(yn∣yn−1)=P(y1)i=1∏n−1P(yi+1∣yi)=i=0∏n−1P(yi+1∣yi)(14.24)(14.25)
其中,引入
y
0
y_0
y0,即
p
(
y
1
)
=
P
(
y
1
∣
y
0
)
p(y_1)=P(y_1\,|\,y_0)
p(y1)=P(y1∣y0)。 式(14.25)同马尔可夫链的式(14.5)一致。有趣的是:II与III两种情形的
P
(
y
k
∣
y
1
,
y
2
,
⋯
,
y
k
−
1
,
y
k
+
1
,
⋯
,
y
n
)
P(y_k\,|\,y_1,y_2,\cdots,y_{k-1},y_{k+1},\cdots,y_n)
P(yk∣y1,y2,⋯,yk−1,yk+1,⋯,yn)不一样(式(14.21)与式(14.23)),但联合分布是一样式(14.25)。
注意到式(14.25)中的连乘,若每个因子都是同底的指数形式,则可转化为指数相加,由此引导我们对模型提出有利于计算的假设
P
(
y
i
+
1
∣
y
i
)
∝
e
F
i
(
y
i
,
y
i
+
1
)
\begin{align} P(y_{i+1}\,|\,y_i)\propto \mathrm{e}^{F_i(y_i,y_{i+1})} \tag{14.26} \end{align}
P(yi+1∣yi)∝eFi(yi,yi+1)(14.26)
在II(不含
x
\boldsymbol{\mathrm{x}}
x)时,变成了我们前面学过的马尔可夫随机场:通过团的分解及团上的势函数定义概率,而团的势可以定义成同底的指数形式。 由于在情形II下任何三个标记变量都不够成三角形,故这时只有两类团:一类是标记变量
{
y
i
}
\{y_i\}
{yi}组成的团,该团的势函数以指数函数
e
x
p
(
μ
s
(
y
i
)
)
\mathrm{exp}(\mu s(y_i))
exp(μs(yi))定义,另一类是相邻标记变量
{
y
i
,
y
i
+
1
}
\{y_i,y_{i+1}\}
{yi,yi+1}组成的团,该团的势函数以指数函数
e
x
p
(
λ
t
(
y
i
+
1
,
y
i
)
)
\mathrm{exp}(\lambda t(y_{i+1},y_i))
exp(λt(yi+1,yi))定义,然后,由【西瓜书式(14.2)】即得
P
(
y
)
=
1
Z
e
x
p
(
∑
i
=
1
n
−
1
λ
t
(
y
i
+
1
,
y
i
)
+
∑
i
=
1
n
μ
s
(
y
i
)
)
\begin{align} P(\boldsymbol{\mathrm{y}})=\frac{1}{Z} \mathrm{exp}\left({\sum_{i=1}^{n-1}\lambda t(y_{i+1},y_i)+\sum_{i=1}^{n}\mu s(y_i)} \right) \tag{14.27} \end{align}
P(y)=Z1exp(i=1∑n−1λt(yi+1,yi)+i=1∑nμs(yi))(14.27)
其中,引入了状态特征函数:
s
(
y
i
)
s(y_i)
s(yi);转移特征函数:
t
(
y
i
+
1
,
y
i
)
t(y_{i+1},y_i)
t(yi+1,yi)。
式(14.27)是在II(不含 x \boldsymbol{\mathrm{x}} x)条件下导出的,现在考虑依该思路将其推广到情况I链式CRF中,即要考虑【西瓜书图14.6】中 x \boldsymbol{\mathrm{x}} x加入后的情形,以【西瓜书图14.5】自然语言处理作为示例。
i. 将转移特征函数
t
(
y
i
+
1
,
y
i
)
t(y_{i+1},y_i)
t(yi+1,yi)扩展成
t
j
(
y
i
+
1
,
y
i
,
x
,
i
)
t_j(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i)
tj(yi+1,yi,x,i),其中,增加的
x
,
i
\boldsymbol{\mathrm{x}},i
x,i分别表示句子以及句子中当前的位置,当
i
i
i没有指定时表示句中任意位置,词性见【西瓜书图14.5】中所示(如
[
V
]
[\mathrm{V}]
[V]表示动词),而
j
j
j表示这个句子中用到多个语法规则时的编号,如
t
1
(
y
i
+
1
,
y
i
,
x
,
i
)
=
{
1
,
if
y
i
+
1
=
[
P
]
,
y
i
=
[
V
]
,
x
i
=
"
k
n
o
c
k
"
0
,
其它
t
2
(
y
i
+
1
,
y
i
,
x
,
i
)
=
{
1
,
if
i
=
1
,
y
i
=
[
V
]
,
x
n
=
"
?
"
(限定头尾)
0
,
其它
\begin{align} t_1(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i) & = \begin{cases} 1,\ \text{if $y_{i+1}=[\mathrm{P}],\, y_{i}=[\mathrm{V}],\, x_i="\mathrm{knock}"$} \\ 0,\ \text{其它} \\ \end{cases} \tag{14.28} \\ t_2(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i) & = \begin{cases} 1,\ \text{if $i=1,\, y_{i}=[\mathrm{V}],\, x_n="?"$(限定头尾)} \\ 0,\ \text{其它} \\ \end{cases} \tag{14.29} \end{align}
t1(yi+1,yi,x,i)t2(yi+1,yi,x,i)={1, if yi+1=[P],yi=[V],xi="knock"0, 其它={1, if i=1,yi=[V],xn="?"(限定头尾)0, 其它(14.28)(14.29)
将状态特征函数 s ( y i ) s(y_i) s(yi)扩展成 s k ( y i , x , i ) s_k(y_i,\boldsymbol{\mathrm{x}},i) sk(yi,x,i),同样,基于句子 x , i \boldsymbol{\mathrm{x}},i x,i可能有多个规则,以 k k k表示编号。
ii. 对上述不同的规则赋予不同的权重,如,以“-ly”结尾的单词标记为“[Ad]的可能性较大,即对应的权 λ j \lambda _j λj较大。
以“加权均值”(之所以用引号,表示还不是真正的加权均值,没有约束 ∑ j λ j = 1 \sum_j\lambda _j=1 ∑jλj=1) ∑ j λ j t j ( y i + 1 , y i , x , i ) \sum_j\lambda _jt_j(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i) ∑jλjtj(yi+1,yi,x,i)取代前述的 t ( y i + 1 , y i ) t(y_{i+1},y_i) t(yi+1,yi),以“加权均值” ∑ k μ k s k ( y i , x , i ) \sum_k\mu _ks_k(y_i,\boldsymbol{\mathrm{x}},i) ∑kμksk(yi,x,i)取代前述的 s ( y i ) s(y_i) s(yi)。
iii. 同样,对于标记变量所构成的图而言,仍只有两类团:一类是标记变量 { y i } \{y_i\} {yi}组成的团,该团的势函数以指数函数 e x p ( ∑ k μ k s k ( y i , x , i ) ) \mathrm{exp}(\sum_k\mu _ks_k(y_i,\boldsymbol{\mathrm{x}},i)) exp(∑kμksk(yi,x,i))定义,另一类是相邻标记变量 { y i , y i + 1 } \{y_i,y_{i+1}\} {yi,yi+1}组成的团,该团的势函数以指数函数 e x p ( ∑ j λ j t j ( y i + 1 , y i , x , i ) ) \mathrm{exp}(\sum_j\lambda _jt_j(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i)) exp(∑jλjtj(yi+1,yi,x,i))定义。
iv. 条件随机场和马尔可夫随机场一样,通过团的分解及团上的势函数定义概率,在条件随机场时【西瓜书式(14.2)】变为
P
(
y
∣
x
)
=
1
Z
∏
Q
∈
C
ψ
Q
(
y
Q
)
\begin{align} P(\boldsymbol{\mathrm{y}}\,|\,\boldsymbol{\mathrm{x}})=\frac{1}{Z}\prod _{Q\in \mathcal{C}} \psi _Q(\boldsymbol{\mathrm{y}}_Q) \tag{14.30} \end{align}
P(y∣x)=Z1Q∈C∏ψQ(yQ)(14.30)
将iii.定义的势代入式(14.30)得
P
(
y
∣
x
)
=
1
Z
e
x
p
(
∑
i
=
1
n
−
1
∑
j
λ
j
t
j
(
y
i
+
1
,
y
i
,
x
,
i
)
+
∑
i
=
1
n
∑
k
μ
k
s
k
(
y
i
,
x
,
i
)
)
\begin{align} P(\boldsymbol{\mathrm{y}}\,|\,\boldsymbol{\mathrm{x}}) & =\frac{1}{Z} \mathrm{exp}\left(\sum_{i=1}^{n-1}\sum_j\lambda _jt_j(y_{i+1},y_i,\boldsymbol{\mathrm{x}},i)+\sum_{i=1}^{n}\sum_k\mu _ks_k(y_i,\boldsymbol{\mathrm{x}},i)\right) \tag{14.31} \end{align}
P(y∣x)=Z1exp(i=1∑n−1j∑λjtj(yi+1,yi,x,i)+i=1∑nk∑μksk(yi,x,i))(14.31)
式(14.31)中交换“连和号”的次序即为【西瓜书式(14.11)】,这即求条件概率的公式。
链式CRF的特例
条件随机场CRF用于求条件概率,它的概括面非常广,略举两例。
I. 对数几率回归(逻辑回归)
回归(或分类)本质上是求样本属于类别的概率,这也是条件概率,符合CRF,我们对整个数据集
{
x
i
,
y
i
}
i
=
1
m
\{\boldsymbol{{x}}_i,y_i\}_{i=1}^m
{xi,yi}i=1m
“批量”地作CRF图,即构造成图14.7 ,链式CRF中“打断”
y
y
y的链条,其中,
x
=
{
x
1
,
x
2
,
⋯
,
x
m
}
\boldsymbol{\mathrm{x}}=\{\boldsymbol{{x}}_1,\boldsymbol{{x}}_2,\cdots,\boldsymbol{{x}}_m \}
x={x1,x2,⋯,xm}。
则
P
(
y
∣
x
)
=
∏
i
P
(
y
i
∣
x
)
=
∏
i
P
(
y
i
∣
x
i
)
=
∏
i
(
【西瓜书式(3.26)】
)
=
∏
i
e
x
p
(
l
n
(
【西瓜书式(3.26)】
)
)
=
e
x
p
(
∑
i
l
n
(
【西瓜书式(3.26)】
)
)
=
e
x
p
∑
i
s
(
y
i
,
x
,
i
)
\begin{align} P(\boldsymbol{\mathrm{y}}\,|\,\boldsymbol{\mathrm{x}}) & =\prod_iP(y_i\,|\,\boldsymbol{\mathrm{x}})\notag \\ & =\prod_iP(y_i\,|\,\boldsymbol{{x}}_i)\notag \\ & =\prod_i(\text{【西瓜书式(3.26)】})\notag \\ & =\prod_i\mathrm{exp}(\mathrm{ln}(\text{【西瓜书式(3.26)】}))\notag \\ & =\mathrm{exp}(\sum_i\mathrm{ln}(\text{【西瓜书式(3.26)】}))\notag \\ & =\mathrm{exp}\sum_is(y_i,\boldsymbol{\mathrm{x}},i) \tag{14.32} \end{align}
P(y∣x)=i∏P(yi∣x)=i∏P(yi∣xi)=i∏(【西瓜书式(3.26)】)=i∏exp(ln(【西瓜书式(3.26)】))=exp(i∑ln(【西瓜书式(3.26)】))=expi∑s(yi,x,i)(14.32)
其中,
s
(
y
i
,
x
,
i
)
=
l
n
(
【西瓜书式(3.26)】
)
s(y_i,\boldsymbol{\mathrm{x}},i)=\mathrm{ln}(\text{【西瓜书式(3.26)】})
s(yi,x,i)=ln(【西瓜书式(3.26)】),式(14.32)与式(14.31)(【西瓜书式(14.11)】)比较可知,前者无
{
y
i
,
y
i
+
1
}
\{y_i,y_{i+1}\}
{yi,yi+1}项,对数几率回归是链式CRF的特殊情况。
上述是“批量”地考虑,当“批量”变为一个样本时,就是通常的对数几率回归,结论当然也成立。
II. HMM
HMM本身是为求联合分布而设计的,现在我们考虑借助它来求条件概率,看看情况如何。
将HMM的联合分布表达式【西瓜书式(14.1)】取对数,则转变为和式,再求条件概率
P
(
y
∣
x
)
=
P
(
y
,
x
)
P
(
x
)
=
1
P
(
x
)
e
x
p
(
【西瓜书式(14.1)】右侧
)
=
1
P
(
x
)
e
x
p
(
∑
i
l
n
P
(
y
i
+
1
∣
y
i
)
+
∑
i
l
n
P
(
x
i
∣
y
i
)
)
=
1
P
(
x
)
e
x
p
(
∑
i
=
1
n
−
1
∑
j
λ
j
t
j
(
y
i
+
1
,
y
i
,
x
,
i
)
+
∑
i
=
1
n
∑
k
μ
k
s
k
(
y
i
,
x
,
i
)
)
\begin{align} & \quad P(\boldsymbol{y}\,|\,\boldsymbol{x})\notag \\ & =\frac{P(\boldsymbol{y},\boldsymbol{x})}{P(\boldsymbol{x})}\notag \\ & =\frac{1}{P(\boldsymbol{x})}\mathrm{exp}(\text{【西瓜书式(14.1)】右侧})\notag \\ & =\frac{1}{P(\boldsymbol{x})}\mathrm{exp}\left(\sum_i\mathrm{ln}P(y_{i+1}\,|\,y_i)+\sum_i\mathrm{ln}P(x_i\,|\,y_i)\right)\notag \\ & =\frac{1}{P(\boldsymbol{x})} \mathrm{exp}\left(\sum_{i=1}^{n-1}\sum_j\lambda _jt_j(y_{i+1},y_i,\boldsymbol{x},i)+\sum_{i=1}^{n}\sum_k\mu _ks_k(y_i,\boldsymbol{x},i)\right) \tag{14.33} \end{align}
P(y∣x)=P(x)P(y,x)=P(x)1exp(【西瓜书式(14.1)】右侧)=P(x)1exp(i∑lnP(yi+1∣yi)+i∑lnP(xi∣yi))=P(x)1exp(i=1∑n−1j∑λjtj(yi+1,yi,x,i)+i=1∑nk∑μksk(yi,x,i))(14.33)
其中
{
j
∈
{
1
}
,
k
∈
{
1
}
t
j
(
y
i
+
1
,
y
i
,
x
,
i
)
=
l
n
P
(
y
i
+
1
=
a
′
∣
y
i
=
a
)
λ
j
=
1
s
k
(
y
i
,
x
,
i
)
=
l
n
P
(
x
i
=
b
∣
y
i
=
a
)
μ
k
=
1
\begin{align} \begin{cases} j\in \{1\},k\in \{1\} \\ t_j(y_{i+1},y_i,\boldsymbol{x},i)=\mathrm{ln}P(y_{i+1}=a'\,|\,y_i=a) \\ \lambda _j=1 \\ s_k(y_i,\boldsymbol{x},i)=\mathrm{ln}P(x_i=b\,|\,y_i=a) \\ \mu _k=1 \end{cases} \tag{14.34} \end{align}
⎩
⎨
⎧j∈{1},k∈{1}tj(yi+1,yi,x,i)=lnP(yi+1=a′∣yi=a)λj=1sk(yi,x,i)=lnP(xi=b∣yi=a)μk=1(14.34)
式(14.33)即为在式(14.34)约束下的式(14.31)(【西瓜书式(14.11)】),故HMM也可视为链式CRF的特殊情况。 另外,式(14.34)中的 λ j \lambda _j λj与 μ k \mu _k μk是基于概率,需要受到概率方面的约束(在0与1之间,和为1),而一般的链式CRF无这类约束。
本文为原创,对您有所启发没有?如果有,请点个赞。
也许对你同学考研有用,请分享给他。
上一篇:14.2 马尔可夫随机场(无向图,“团”与“极大团”,MRF的“三性”)
下一篇:14.4 学习与推断之变量消去法(“边际化”,“m化”逐步消元)