【自然语言处理】条件随机场【Ⅱ】条件随机场概述

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。

部分推导和定义相关的佐证资料比较少,供参考。讨论的过程中我会加入自己的理解,难免存在错误,欢迎大家讨论。

在阅读本篇之前建议先学习:
隐马尔可夫模型系列
最大熵马尔可夫模型

由于字数限制,分成五篇博客。
【自然语言处理】条件随机场【Ⅰ】马尔可夫随机场
【自然语言处理】条件随机场【Ⅱ】条件随机场概述
【自然语言处理】条件随机场【Ⅲ】条件随机场估计问题
【自然语言处理】条件随机场【Ⅳ】条件随机场学习问题
【自然语言处理】条件随机场【Ⅴ】条件随机场解码问题

3. 条件随机场

3.1. 背景

最大熵马尔可夫模型(即条件马尔可夫模型)存在一个严重的问题,标注偏置(label bias)问题。观察图 3 3 3,局部转移概率表明,状态 1 1 1 倾向于转移到状态 2 2 2,状态 2 2 2 倾向于转移到状态 2 2 2 本身。但是根据维特比算法计算得到的最大概率路径为 1 → 1 → 1 → 1 1\to 1\to 1\to 1 1111,状态 1 1 1 并没有转移到状态 2 2 2。详细来说,时刻 t = 1 t=1 t=1 处于状态 1 1 1 倾向于转移到状态 2 2 2,时刻 t = 2 t=2 t=2 处于状态 2 2 2 倾向于转移到状态 2 2 2 本身,时刻 t = 3 t=3 t=3 也是。所以路径 1 → 2 → 2 → 2 1\to 2\to2\to2 1222 更符合我们上面对于图中转移倾向性的理解,但是由于从状态 2 2 2 转移出去可能的状态包括 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5,概率在可能的状态上分散了,而状态 1 1 1 转移出去的可能状态仅仅为状态 1 1 1 2 2 2,概率更加集中。由于局部归一化的影响,隐状态会倾向于转移到那些后续状态可能更少的状态上,以提高整体的后验概率。这就是标注偏置问题。为了处理此问题,提出了条件随机场。

在这里插入图片描述

图 3    标注偏置示意图

3.2. 定义

条件随机场(Conditional Random Field,CRF)是给定随机变量 X X X 条件下,随机变量 Y Y Y 的马尔可夫随机场,属于判别式无向图模型。

一般条件随机场的定义。设 X X X Y Y Y 是随机变量, P ( Y ∣ X ) P(Y\mid X) P(YX) 是在给定 X X X 的条件下 Y Y Y 的条件概率分布。若随机变量 Y Y Y 构成一个由无向图 G = ( V , E ) G=(V,E) G=(V,E) 表示的马尔可夫随机场,即
P ( Y v ∣ X , Y w , w ≠ v ) = P ( Y v ∣ X , Y w , w ∼ v ) P(Y_v\mid X,Y_w,w\ne v) = P(Y_v\mid X, Y_w,w\sim v) P(YvX,Yw,w=v)=P(YvX,Yw,wv)
对任意结点 v v v 成立,则称条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 为条件随机场。式中 w ∼ v w \sim v wv 表示在图 G = ( V , E ) G= (V,E) G=(V,E) 中与结点 v v v 有边连接的所有结点 w w w w ≠ v w≠v w=v 表示结点 v v v 以外的所有结点; Y v Y_v Yv Y u Y_u Yu Y w Y_w Yw 为结点 v v v u u u w w w 对应的随机变量。

理论上来说,图 G G G 可以具有任意结构,只要能表示标记变量之间的条件独立性关系即可,但在现实应用中,尤其是处理序列标注问题时,常用图 4 4 4 所示的链式结构,即线性链条件随机场(linear chain conditional random field);有时也会进一步假设 X X X Y Y Y 有相同的图结构,如图 5 5 5 所示。我们主要考虑无向图为如图 4 4 4 和图 5 5 5 所示的线性链的情况,即
G = ( V = { 1 , 2 , … , T } , E = { ( i , i + 1 ) } ) ,      i = 1 , 2 , … , T − 1 G = (V = \{1,2,\dots,T\}, E = \{(i,i+1)\}), \space\space\space\space i=1,2,\dots, T-1 G=(V={ 1,2,,T},E={(i,i+1)}),    i=1,2,,T1
在这里插入图片描述

图 4    线性链条件随机场

在这里插入图片描述

图 5     X 和 Y 有相同的图结构的线性链条件随机场

在此情况下, X = ( X 1 , X 2 , … , X T ) X=(X_1,X_2,…,X_T) X=(X1,X2,,XT) Y = ( Y 1 , Y 2 , … , Y T ) Y =(Y_1, Y_2,…,Y_T) Y=(Y1,Y2,,YT),最大团是相邻两个结点的集合。线性链条件随机场有下面的定义。

X X X Y Y Y 均为线性链表示的随机变量序列,若在给定随机变量序列 X X X 的条件下,随机变量序列 Y Y Y 的条件概率分布 P ( Y ∣ X ) P(Y\mid X) P(YX) 构成条件随机场,即满足马尔可夫性
P ( Y i ∣ X , Y 1 , … , Y i − 1 , Y i + 1 , … , Y T ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) i = 1 , 2 , … , n    ( 在  i = 1  和  n  时只考虑单边 ) P(Y_i\mid X,Y_1,\dots, Y_{i-1},Y_{i+1},\dots, Y_T) = P(Y_i\mid X,Y_{i-1},Y_{i+1}) \\ i = 1,2,\dots, n\space\space (在\space i =1\space 和\space n \space 时只考虑单边) P(YiX,Y1,,Yi1,Yi+1,,YT)=P(YiX,Yi1,Yi+1)i=1,2,,n  ( i=1  n 时只考虑单边)
则称 P ( Y ∣ X ) P(Y\mid X) P(YX) 为线性链条件随机场。在标注问题中, X X X 表示输入观测序列, Y Y Y 表示对应的输出标记序列或状态序列。

注意,我们下面讨论的均为线性链条件随机场,是一种特殊的、简化的条件随机场。

3.3. 参数化形式

与马尔可夫随机场定义联合概率的方式类似,条件随机场使用势函数和图结构上的团来定义条件概率 P ( Y ∣ X ) P(Y\mid X) P(YX)。根据 Hammersley-Clifford 定理,可以给出线性条件随机场 P ( Y ∣ X ) P(Y\mid X) P(YX) 的因子分解式,各因子是定义在相邻两个结点(最大团)上的势函数。

P ( Y ∣ X ) P(Y\mid X) P(YX) 为线性链条件随机场,则在随机变量 X X X 取值为 x x x 的条件下,随机变量 Y Y Y 取值为 y y y 的条件概率具有如下形式:
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ( ∑ t , i λ i t i ( y t − 1 , y t , x , t ) + ∑ t , j μ j s j ( y t , x , t ) ) (6) P(y\mid x) = \frac{1}{Z(x)}\exp\left( \sum_{t, i}\lambda_i t_i(y_{t-1},y_t, x, t)+\sum_{t, j}\mu_j s_j(y_t, x, t) \right) \tag{6} P(yx)=Z(x)1exp(t,iλiti(yt1,yt,x,t)+t,jμjsj(yt,x,t))(6)
其中,
Z ( x ) = ∑ y exp ⁡ ( ∑ t , i λ i t i ( y t − 1 , y t , x , t ) + ∑ t , j μ j s j ( y t , x , t ) ) (7) Z(x) =\sum_y\exp\left( \sum_{t, i}\lambda_i t_i(y_{t-1},y_t, x, t)+\sum_{t, j}\mu_j s_j(y_t, x, t) \right) \tag{7} Z(x)=yexp(t,iλiti(yt1,yt,x,t)+t,jμjsj(yt,x,t))(7)
势函数对最大团的描述包括两个方面,单个标记变量 { y i } \{y_i\} { yi} 以及相邻的标记变量 { y i − 1 , y i } \{y_{i-1},y_i\} { yi1,yi} t i t_i ti 是定义在边上的特征函数,称为转移特征函数(transition feature function),依赖于当前和前一个时刻,用于刻画相邻状态变量之间的相关关系以及观测序列对它们的影响; s j s_j sj 是定义在结点上的特征函数,称为状态特征函数(status feature function),依赖于当前时刻,用于刻画观测序列对状态变量的影响。 t i t_i ti t j t_j tj 都依赖于时刻,是局部特征函数。 λ i \lambda_i λi μ j \mu_j μj 为参数, Z ( x ) Z(x) Z(x) 为规范化因子。条件随机场完全由特征函数 t i t_i ti s j s_j sj 和对应的权重 λ i \lambda_i λi μ j \mu_j μj 确定。

注意区分下标 t t t 和特征函数 t i t_i ti

看一个简单的例子。设有一标注问题:输入观测序列为 X = ( X 1 , X 2 , X 3 ) X=(X_1,X_2,X_3) X=(X1,X2,X3),输出状态序列为 Y = ( Y 1 , Y 2 , Y 3 ) Y=(Y_1,Y_2,Y_3) Y=(Y1,Y2,Y3) Y 1 Y_1 Y1 Y 2 Y_2 Y2 Y 3 Y_3 Y3 取值于 { 1 , 2 } \{1,2\} { 1,2}。只表明特征值为 1 1 1 的条件,取值为 0 0 0 的条件忽略。比如
t 1 ( y 1 = 1 , y 2 = 2 , x , 2 ) ,      λ 1 = 1 t_1(y_1=1,y_2=2,x, 2),\space\space\space\space \lambda_1=1 t1(y1=1,y2=2,x,2),    λ1=1
表明当 y 1 = 1 y_1=1 y1=1 y 2 = 2 y_2=2 y2=2 时,满足特征函数 t 1 t_1 t1,即 t 1 ( y 1 = 1 , y 2 = 2 , x , 2 ) = 1 t_1(y_1=1,y_2=2,x, 2)=1 t1(y1=1,y2=2,x,2)=1,对应的权重 λ 1 = 1 \lambda_1=1 λ1=1。类似地写出全部取值为 1 1 1 的特征函数及其对应的权重:
t 1 ( y 1 = 1 , y 2 = 2 , x , 2 ) , λ 1 = 1 t 2 ( y 2 = 1 , y 3 = 2 , x , 3 ) , λ 2 = 1 t 3 ( y 1 = 1 , y 2 = 1 , x , 2 ) , λ 3 = 0.6 t 4 ( y 2 = 2 , y 3 = 1 , x , 3 ) , λ 4 = 1 t 5 ( y 1 = 2 , y 2 = 1 , x , 2 ) , λ 5 = 1 t 6 ( y 2 = 2 , y 3 = 2 , x , 3 ) , λ 6 = 0.2 s 1 ( y 1 = 1 , x , 1 ) , μ 1 = 1 s 2 ( y 1 = 2 , x , 1 ) , μ 2 = 0.5 s 3 ( y 2 = 2 , x , 2 ) , μ 3 = 0.5 s 4 ( y 2 = 1 , x , 2 ) , μ 4 = 0.8 s 5 ( y 3 = 1 , x , 3 ) , μ 5 = 0.8 s 6 ( y 3 = 2 , x , 3 ) , μ 6 = 0.5 \begin{array}{l} t_1(y_1=1,y_2=2,x, 2),& \lambda_1=1 \\ t_2(y_2=1,y_3=2,x, 3),& \lambda_2=1 \\ t_3(y_1=1,y_2=1,x, 2),& \lambda_3=0.6 \\ t_4(y_2=2,y_3=1,x, 3),& \lambda_4=1 \\ t_5(y_1=2,y_2=1,x, 2),& \lambda_5=1 \\ t_6(y_2=2,y_3=2,x, 3),& \lambda_6=0.2 \\\\ s_1(y_1=1,x,1), & \mu_1=1 \\ s_2(y_1=2,x,1), & \mu_2=0.5 \\ s_3(y_2=2,x,2), & \mu_3=0.5 \\ s_4(y_2=1,x,2), & \mu_4=0.8 \\ s_5(y_3=1,x,3), & \mu_5=0.8 \\ s_6(y_3=2,x,3), & \mu_6=0.5 \\ \end{array} t1(y1=1,y2=2,x,2),t2(y2=1,y3=2,x,3),t3(y1=1,y2=1,x,2),t4(y2=2,y3=1,x,3),t5(y1=2,y2=1,x,2),t6(y2=2,y3=2,x,3),s1(y1=1,x,1),s2(y1=2,x,1),s3(y2=2,x,2),s4(y2=1,x,2),s5(y3=1,x,3),s6(y3=2,x,3),λ1=1λ2=1λ3=0.6λ4=1λ5=1λ6=0.2μ1=1μ2=0.5μ3=0.5μ4=0.8μ5=0.8μ6=0.5
对给定的观测序列 x x x,求状态序列为 y = ( y 1 , y 2 , y 3 ) = ( 1 , 2 , 2 ) y=(y_1,y_2,y_3)=(1,2,2) y=(y1,y2,y3)=(1,2,2) 的非规范化条件概率(即没有除以规范化因子的条件概率)。由式 ( 6 ) (6) (6) 可得,线性链条件随机场模型为
P ( y ∣ x ) ∝ exp ⁡ [ ∑ i = 1 6 λ i ∑ t = 2 3 t i ( y t − 1 , y t , x , t ) + ∑ j = 1 6 μ j ∑ t = 1 3 s j ( y t , x , t ) ] P(y\mid x)\propto \exp\left[ \sum_{i=1}^6 \lambda_i \sum_{t=2}^3 t_i(y_{t-1},y_t, x, t) + \sum_{j=1}^6\mu_j \sum_{t=1}^3 s_j(y_t, x, t) \right] P(yx)exp[i=16λit=23ti(yt1,yt,x,t)+j=16μjt=13sj(yt,x,t)]
对给定的观测序列 x x x,状态序列 y = ( 1 , 2 , 2 ) y = (1,2,2) y=(1,2,2) 的非规范化条件概率为
P ( y 1 = 1 , y 2 = 2 , y 3 = 2 ∣ x ) ∝ exp ⁡ ( λ 1 + λ 6 + μ 1 + μ 2 + μ 3 ) = exp ⁡ ( 3.2 ) P(y_1=1, y_2=2,y_3=2\mid x) \propto \exp(\lambda_1 + \lambda_6 + \mu_1 + \mu_2 + \mu_3) = \exp(3.2) P(y1=1,y2=2,y3=2x)exp(λ1+λ6+μ1+μ2+μ3)=exp(3.2)

3.4. 向量形式

条件随机场还可以由向量表示,这使得条件随机场的形式更加简洁。注意到条件随机场式 ( 6 ) (6) (6) 中同一特征在各个时刻都有定义,可以对同一个特征在各个时刻求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式。

为简便起见,首先将转移特征函数和状态特征函数及其权值用统一的符号表示。设有 K 1 K_1 K1 个转移特征函数, K 2 K_2 K2 个状态特征函数, K = K 1 + K 2 K = K_1+K_2 K=K1+K2,记
f k ( y t − 1 , y t , x , t ) = { t i ( y t − 1 , y t , x , t ) , k = i ; i = 1 , 2 , … , K 1 s j ( y t , x , t ) , k = K 1 + j ; j = 1 , 2 , … , K 2 f_k(y_{t-1},y_t,x,t) = \left\{\begin{array}{l} t_i(y_{t-1},y_t,x,t),& k=i;i = 1,2, \dots, K_1 \\ s_j(y_t, x, t),&k = K_1+j;j = 1,2,\dots, K_2 \end{array}\right. fk(yt1,yt,x,t)={ ti(yt1,yt,x,t),sj(yt,x,t),k=i;i=1,2,,K1k=K1+j;j=1,2,,K2
对转移与状态特征在各个时刻 t t t 求和,记作
f k ( y , x ) = ∑ t = 1 T f k ( y t − 1 , y t , x , t ) ,      k = 1 , 2 , … , K f_k(y, x) = \sum_{t=1}^T f_k(y_{t-1},y_t, x, t), \space\space\space\space k=1,2, \dots, K fk(y,x)=t=1Tfk(yt1,yt,x,t),    k=1,2,,K
w k w_k wk 表示特征 f k ( y , x ) f_k(y, x) fk(y,x) 的权重,即
w k = { λ i , k = i ; i = 1 , 2 , … , K 1 μ j , k = K 1 + j ; j = 1 , 2 , … , K 2 w_k = \left\{\begin{array}{l} \lambda_i, & k=i;i = 1,2, \dots, K_1 \\ \mu_j, & k=K_1+j ; j = 1, 2, \dots, K_2 \end{array}\right. wk={ λi,μj,k=i;i=1,2,,K1k=K1+j;j=1,2,,K2
因此,条件随机场式 ( 6 ) (6) (6) 和式 ( 7 ) (7) (7) 可以表示为
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ k = 1 K w k f k ( y , x ) Z ( x ) = ∑ y exp ⁡ ∑ k = 1 K w k f k ( y , x ) P(y\mid x) = \frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y, x) \\ Z(x) = \sum_y \exp\sum_{k=1}^K w_k f_k(y, x) P(yx)=Z(x)1expk=1Kwkfk(y,x)Z(x)=yexpk=1Kwkfk(y,x)
若以 w w w 表示权重向量,即
w = ( w 1 , w 2 , … , w K ) T w = (w_1, w_2, \dots, w_K)^T \\ w=(w1,w2,,wK)T
F ( y , x ) F(y, x) F(y,x) 表示全局特征向量,即
F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , … , f K ( y , x ) ) T F(y, x) = \left( f_1(y, x), f_2(y, x), \dots, f_K(y, x) \right)^T F(y,x)=(f1(y,x),f2(y,x),,fK(y,x))T
则条件随机场可以写成向量 w w w F ( y , x ) F(y, x) F(y,x) 的内积形式:
P w ( y ∣ x ) = exp ⁡ ( w ⋅ F ( y , x ) ) Z w ( x ) P_w(y\mid x) = \frac{\exp\left(w · F(y,x) \right )}{Z_w(x)} Pw(yx)=Zw(x)exp(wF(y,x))
其中,
Z w ( x ) = ∑ y exp ⁡ ( w ⋅ F ( y , x ) ) Z_w(x) = \sum_y \exp \left(w · F(y, x) \right) Zw(x)=yexp(wF(y,x))
可以看出线性链条件随机场是对数线性模型(log linear model)。

3.5. 矩阵形式

条件随机场还可以由矩阵表示。假设可能的状态集合 Q = { q 1 , q 2 , … , q N } Q=\{q_1, q_2, \dots, q_N\} Q={ q1,q2,,qN}。对每个状态序列引进特殊的起点和终点状态标记 y 0 = q s t a r t y_0 = q_{\rm start} y0=qstart y T + 1 = q s t o p y_{T+1} = q_{\rm stop} yT+1=qstop,这时状态序列的概率 P w ( y ∣ x ) P_w(y\mid x) Pw(yx) 可以通过矩阵形式表示并有效计算。

对观测序列 x x x 的每一个时刻 t = 1 , 2 , … , T + 1 t=1,2,\dots, T+1 t=1,2,,T+1,由于 y t − 1 y_{t-1} yt1 y t y_t yt 均可能取到 N N N 种状态取值中的任意一种情况,因此可以定义一个 N N N 阶矩阵随机变量
M t = [ M t ( y t − 1 , y t ) ] N × N M_t = [M_t(y_{t-1}, y_t)]_{N\times N} Mt=[Mt(yt1,yt)]N×N
矩阵随机变量的元素为
M t ( y t − 1 , y t ) = exp ⁡ ( W t ( y t − 1 , y t ) ) W t ( y t − 1 , y t ) = ∑ k = 1 K w k f k ( y t − 1 , y t , x , t ) M_t(y_{t-1}, y_t) = \exp \left( W_t(y_{t-1}, y_t) \right) \\\\ W_t(y_{t-1}, y_t) = \sum_{k=1}^K w_k f_k (y_{t-1}, y_t, x, t) Mt(yt1,yt)=exp(Wt(yt1,yt))Wt(yt1,yt)=k=1Kwkfk(yt1,yt,x,t)
其中, y t − 1 y_{t-1} yt1 y t y_t yt 是状态随机变量 Y t − 1 Y_{t-1} Yt1 Y t Y_t Yt 的取值。

注意区别 y i y_i yi q i q_i qi 在理解角度和粒度上的不同。

这样,给定观测序列 x x x,相应状态序列 y y y 的非规范化概率可以通过从该序列 T + 1 T+1 T+1 个矩阵中各挑选一个合适元素并相乘表示,即 ∏ t = 1 T + 1 M t ( y t − 1 , y t ) \prod\limits_{t=1}^{T+1} M_t(y_{t-1},y_t) t=1T+1Mt(yt1,yt)。于是,条件概率 P w ( y ∣ x ) P_w(y\mid x) Pw(yx)
P w ( y ∣ x ) = 1 Z w ( x ) ∏ t = 1 T + 1 M t ( y t − 1 , y t ) P_w(y\mid x) = \frac{1}{Z_w(x)} \prod\limits_{t=1}^{T+1} M_t(y_{t-1},y_t) Pw(yx)=Zw(x)1t=1T+1Mt(yt1,yt)
其中, Z w ( x ) Z_w(x) Zw(x) 为规范化因子,是 T + 1 T+1 T+1 个矩阵的乘积且位于 ( s t a r t , s t o p ) (\rm start, stop) (start,stop) 位置的元素,即
Z w ( x ) = [ M 1 M 2 … M T + 1 ] s t a r t , s t o p Z_w(x) = [M_1M_2\dots M_{T+1}]_{\rm start, stop} Zw(x)=[M1M2MT+1]start,stop
注意, y 0 = q s t a r t y_0 = q_{\rm start} y0=qstart y T + 1 = q s t o p y_{T+1} = q_{\rm stop} yT+1=qstop 表示开始状态与终止状态,规范化因子 Z w ( x ) Z_w(x) Zw(x) 是以 q s t a r t q_{\rm start} qstart 为起点 q s t o p q_{\rm stop} qstop 为终点通过状态的所有路径 y 1 y 2 … y T y_1y_2\dots y_T y1y2yT 的非规范化概率 ∏ t = 1 T + 1 M t ( y t − 1 , y t ) \prod\limits_{t=1}^{T+1} M_t(y_{t-1},y_t) t=1T+1Mt(yt1,yt) 之和。通过下面的例子来理解矩阵形式。

在这里插入图片描述

图 6    状态路径

给定一个由图 6 6 6 所示的线性链条件随机场,观测序列 x x x,状态序列 y y y T = 3 T=3 T=3,状态 y i ∈ { 1 , 2 } y_i\in \{1,2\} yi{ 1,2},假设 y 0 = q s t a r t = 1 y_0 = q_{\rm start}=1 y0=qstart=1 y 4 = q s t o p = 1 y_4 = q_{\rm stop}=1 y4=qstop=1,各个时刻的随机变量矩阵 M 1 M_1 M1 M 2 M_2 M2 M 3 M_3 M3 M 4 M_4 M4 分别为
M 1 = [ a 01 a 02 0 0 ] M 2 = [ b 11 b 12 b 21 b 22 ] M 3 = [ c 11 c 12 c 21 c 22 ] M 4 = [ 1 0 1 0 ] M_1 = \left[\begin{matrix} a_{01} & a_{02} \\ 0 & 0 \\ \end{matrix}\right] \\ M_2 = \left[\begin{matrix} b_{11} & b_{12} \\ b_{21} & b_{22} \\ \end{matrix}\right] \\ M_3 = \left[\begin{matrix} c_{11} & c_{12} \\ c_{21} & c_{22} \\ \end{matrix}\right] \\ M_4 = \left[\begin{matrix} 1 & 0 \\ 1 & 0 \\ \end{matrix}\right] \\ M1=[a010a020]M2=[b11b21b12b22]M3=[c11c21c12c22]M4=[1100]
计算图 6 6 6 中从 s t a r t \rm start start s t o p \rm stop stop 对应于 y = ( 1 , 1 , 1 ) y=(1,1,1) y=(1,1,1) y = ( 1 , 1 , 2 ) y=(1,1,2) y=(1,1,2) … \dots y = ( 2 , 2 , 2 ) y=(2,2,2) y=(2,2,2) 各路径的非规范化概率分别是
( 1 , 1 , 1 ) : a 01 b 11 c 11 ( 1 , 1 , 2 ) : a 01 b 11 c 12 ( 1 , 2 , 1 ) : a 01 b 12 c 21 ( 1 , 2 , 2 ) : a 01 b 12 c 22 ( 2 , 1 , 1 ) : a 02 b 21 c 11 ( 2 , 1 , 2 ) : a 02 b 21 c 12 ( 2 , 2 , 1 ) : a 02 b 22 c 21 ( 2 , 2 , 2 ) : a 02 b 22 c 22 \begin{array}{l} (1,1,1):&a_{01} b_{11}c_{11} \\ (1,1,2):&a_{01} b_{11}c_{12} \\ (1,2,1):&a_{01} b_{12}c_{21} \\ (1,2,2):&a_{01} b_{12}c_{22} \\ (2,1,1):&a_{02} b_{21}c_{11} \\ (2,1,2):&a_{02} b_{21}c_{12} \\ (2,2,1):&a_{02} b_{22}c_{21} \\ (2,2,2):&a_{02} b_{22}c_{22} \\ \end{array} (1,1,1):(1,1,2):(1,2,1):(1,2,2):(2,1,1):(2,1,2):(2,2,1):(2,2,2):a01b11c11a01b11c12a01b12c21a01b12c22a02b21c11a02b21c12a02b22c21a02b22c22
计算取矩阵乘积 M 1 M 2 M 3 M 4 M_1M_2M_3M_4 M1M2M3M4 位于 ( s t a r t , s t o p ) (\rm start, stop) (start,stop) 位置的元素作为规范化因子,其第 1 1 1 行第 1 1 1 列的元素为
a 01 b 11 c 11 + a 02 b 21 c 11 + a 01 b 12 c 21 + a 02 b 22 c 22 + a 01 b 11 c 12 + a 02 b 21 c 12 + a 01 b 12 c 22 + a 02 b 22 c 21 a_{01}b_{11}c_{11} + a_{02}b_{21}c_{11} + a_{01}b_{12}c_{21} + a_{02}b_{22}c_{22} + a_{01}b_{11}c_{12} + a_{02}b_{21}c_{12} + a_{01}b_{12}c_{22} + a_{02} b_{22}c_{21} a01b11c11+a02b21c11+a01b12c21+a02b22c22+a01b11c12+a02b21c12+a01b12c22+a02b22c21
恰好等于从 s t a r t \rm start start s t o p \rm stop stop 的所有路径的非规范化概率之和,即规范化因子 Z ( x ) Z(x) Z(x)

猜你喜欢

转载自blog.csdn.net/weixin_46221946/article/details/128579963