(《机器学习》完整版系列)第14章 概率图模型——14.3 条件随机场(链式CRF的条件概率)

思路:
联合概率可分解为条件概率的连乘,若每个因子都是同底的指数形式,则可转化为指数相加,由此引导我们对模型提出有利于计算的假设。
通过团的分解及团上的势函数定义概率,而团的势可以定义成同底的指数形式。

条件随机场

与MRF不同,条件随机场CRF考虑的是条件概率 P ( x   ∣   y ) P(\boldsymbol{\mathrm{x}}\,|\,\boldsymbol{\mathrm{y}}) P(xy),其中, 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(yvx,yV{v})=P(yvx,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(yky1,y2,,yk1,yk+1,,yn)=P(ykyk1,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(yny1,y2,,yn1)=P(ynyn1)(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(yky1,y2,,yk1,yk+1,,yn)=P(yky1,y2,,yk1)=P(ykyk1)(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,,yn1,yn)=P(y1,y2,,yn1)P(yny1,y2,,yn1)=P(y1,y2,,yn1)P(ynyn1)==P(y1)P(y2y1)P(y3y2)P(ynyn1)=P(y1)i=1n1P(yi+1yi)=i=0n1P(yi+1yi)(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(y1y0)。 式(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(yky1,y2,,yk1,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+1yi)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=1n1λt(yi+1,yi)+i=1nμ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(yx)=Z1QCψ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(yx)=Z1exp(i=1n1jλjtj(yi+1,yi,x,i)+i=1nkμ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}
图14.7 对数几率回归图模型

图14.7 对数几率回归图模型


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(yx)=iP(yix)=iP(yixi)=i(【西瓜书式(3.26))=iexp(ln(【西瓜书式(3.26)))=exp(iln(【西瓜书式(3.26)))=expis(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(yx)=P(x)P(y,x)=P(x)1exp(【西瓜书式(14.1)】右侧)=P(x)1exp(ilnP(yi+1yi)+ilnP(xiyi))=P(x)1exp(i=1n1jλjtj(yi+1,yi,x,i)+i=1nkμ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=ayi=a)λj=1sk(yi,x,i)=lnP(xi=byi=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化”逐步消元)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值