《统计学习方法》——条件随机场(上)

news2025/3/13 15:39:49

引言

这是统计学习方法第十一章条件随机场的阅读笔记,包含所有公式的详细推导。

条件随机场(conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。

建议先阅读概率图简介,了解一些概率图的知识。


  1. 《统计学习方法》——条件随机场(上)
  2. 《统计学习方法》——条件随机场(中)
  3. 《统计学习方法》——条件随机场(下)
  4. 《统计学习方法》——条件随机场#习题解答#

条件随机场的定义与形式

条件随机场的定义

条件随机场是给定随机变量 X X X条件下,随机变量 Y Y Y的马尔可夫随机场,这里主要讨论线性链(linear chain)条件随机场。线性链条件随机场用于标记问题时,条件概率模型 P ( Y ∣ X ) P(Y|X) P(YX)中, Y Y Y是输出变量,表示标记序列(状态序列), X X X是输入变量,表示要标注的观测序列。

学习时,利用训练数据集通过极大似然估计得到条件概率模型 P ^ ( Y ∣ X ) \hat P(Y|X) P^(YX);预测时,对于给定的输入序列 x x x,求出条件概率 P ^ ( y ∣ x ) \hat P(y|x) P^(yx)最大的输出序列 y ^ \hat y y^

定义 11.3 (条件随机场) X X X Y Y Y是随机变量, P ( Y ∣ X ) P(Y|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 ) (11.8) P(Y_v|X,Y_{w}, w \neq v) = P(Y_v|X,Y_w, w \sim v) \tag{11.8} P(YvX,Yw,w=v)=P(YvX,Yw,wv)(11.8)
对任意结点 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 \neq v w=v表示结点 v v v以外的所有结点。

image-20230524140501850

定义 11.4 (线性链条件随机场) X = ( X 1 , X 2 , ⋯   , X n ) , Y = ( Y 1 , Y 2 , ⋯   , Y n ) X=(X_1,X_2,\cdots,X_n),Y=(Y_1,Y_2,\cdots,Y_n) X=(X1,X2,,Xn),Y=(Y1,Y2,,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列 X X X的条件下,随机变量序列 Y Y Y的条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)构成条件随机场,即满足马尔可夫性
P ( Y i ∣ X , Y 1 , ⋯   , Y i − 1 , Y i + 1 , ⋯   , Y n ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) i = 1 , 2 , ⋯   , n (11.9) P(Y_i|X,Y_1,\cdots,Y_{i-1},Y_{i+1},\cdots,Y_n) = P(Y_i|X,Y_{i-1},Y_{i+1}) \quad i=1,2,\cdots,n \tag{11.9} P(YiX,Y1,,Yi1,Yi+1,,Yn)=P(YiX,Yi1,Yi+1)i=1,2,,n(11.9)
则称 P ( Y ∣ X ) P(Y|X) P(YX)为线性链条件随机场。

如上图,在线性链条件随机场中, Y i Y_i Yi只与它相邻的结点 Y i − 1 Y_{i-1} Yi1 Y i + 1 Y_{i+1} Yi+1以及输入变量 X X X有关。

在序列标注问题中, X X X表示输入观测序列, Y Y Y表示对应的输出标记序列或状态序列。

条件随机场的参数化形式

根据Hammersley-Clifford定理,可以给出线性链条件随机场 P ( Y ∣ X ) P(Y|X) P(YX)的因子分解式,各因子是定义在相邻两个结点(这里也是最大团)上的势函数。

定理 11.2 (线性链条件随机场的参数化形式) P ( Y ∣ X ) P(Y|X) P(YX)为线性链条件随机场,则在随机变量 X X X取值为 x x x的条件下,随机变量 Y Y Y取值为 y y y的条件概率具有如下形式:
KaTeX parse error: Undefined control sequence: \label at position 132: …t) \tag{11.10} \̲l̲a̲b̲e̲l̲{eq:11.10}
其中,
Z ( x ) = ∑ y exp ⁡ ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) (11.11) Z(x) = \sum_y \exp \left( \sum_{i,k} \lambda_k t_k (y_{i-1},y_i,x,i) + \sum_{i,l} \mu_ls_l(y_i,x,i) \right) \tag{11.11} Z(x)=yexp i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i) (11.11)
式中, t k t_k tk s l s_l sl是特征函数,而 λ k \lambda_k λk μ l \mu_l μl是对应的权值, ∑ i , k \sum_{i,k} i,k表示两个求和写在一起。

Z ( x ) Z(x) Z(x)是规范化因子,使得满足概率定义,求和是在所有可能的输出序列上进行的。

t k t_k tk是关于边 y i − 1 y_{i-1} yi1 y i y_i yi的特征函数(最大团),称为转移特征,依赖于当前和前一个位置; s l s_l sl是定义在结点上的特征函数,称为状态特征,依赖于当前位置。注意,在每个位置上,有 k k k个转移特征和 l l l个状态特征。

t k t_k tk s l s_l sl都依赖于位置 i i i,是局部特征函数。通常特征函数 t k t_k tk s l s_l sl的取值为 1 1 1 0 0 0。当特征条件被满足时取值为 1 1 1,否则为 0 0 0

可以看出,条件随机场完全由特征函数 t k , s l t_k,s_l tk,sl和对应的权值 λ k , μ l \lambda_k,\mu_l λk,μl确定。

线性链条随机场也是对数线性模型(log linear model)。

对数线性模型有这样的形式,它的对数等于模型参数的线性组合,它的通用形式为:
exp ⁡ ( c + ∑ i w i f i ( X ) ) \exp \left( c + \sum_i w_if_i(X) \right) exp(c+iwifi(X))

下面看一下书中的例题1来理解一下,题目就不抄了。

例 11.1

序列长度为3,标记序列取值为1或2。有5个转移特征和4个状态特征。求标记序列 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)的没有除以规范化因子的条件概率。

由公式KaTeX parse error: Undefined control sequence: \eqref at position 1: \̲e̲q̲r̲e̲f̲{eq:11.10},线性链条件随机场模型为
P ( y ∣ x ) ∝ exp ⁡ [ ∑ k = 1 5 λ k ∑ i = 2 3 t k ( y i − 1 , y i , x , i ) + ∑ k = 1 4 μ k ∑ i = 1 3 s k ( y i , x , i ) ] P(y|x) \propto \exp \left[\sum_{k=1}^5 \lambda_k\sum_{i=2}^3 t_k (y_{i-1},y_i,x,i) + \sum_{k=1}^4 \mu_k\sum_{i=1}^3 s_k(y_i,x,i) \right] P(yx)exp[k=15λki=23tk(yi1,yi,x,i)+k=14μki=13sk(yi,x,i)]
这里把公式中的两个求和拆分出来了,同时可以看到,序列长度为3,对应两条边, ∑ i = 2 t k \sum_{i=2} t_k i=2tk中的 i i i 2 2 2开始,这是符合直觉的。

∝ \propto 表示正比于的关系,因为这里没有考虑规范化因子。

对于给定的观测序列 x x x,标记序列 y = ( 1 , 2 , 2 ) y=(1,2,2) y=(1,2,2)的非规范化条件概率为(只写出取值为1的情况):
P ( y 1 = 1 , y 2 = 2 , y 3 = 2 ∣ x ) ∝ exp ⁡ [ λ 1 t 1 ( 1 , 2 ) + λ 5 t 5 ( 2 , 2 ) + μ 1 s 1 ( 1 ) + μ 2 s 2 ( 2 ) + + μ 4 s 4 ( 3 ) ] = exp ⁡ [ 1 + 0.2 + 1 + 0.5 + 0.5 ] = exp ⁡ ( 3.2 ) \begin{aligned} P(y_1=1,y_2=2,y_3=2|x) &\propto \exp\left[ \lambda_1 t_1(1,2) + \lambda_5 t_5(2,2) + \mu_1 s_1(1) + \mu_2 s_2(2) + + \mu_4 s_4(3) \right] \\ &= \exp [1+0.2+1+0.5+0.5] \\ &= \exp(3.2) \end{aligned} P(y1=1,y2=2,y3=2∣x)exp[λ1t1(1,2)+λ5t5(2,2)+μ1s1(1)+μ2s2(2)++μ4s4(3)]=exp[1+0.2+1+0.5+0.5]=exp(3.2)
这里 t 1 ( 1 , 2 ) t_1(1,2) t1(1,2)表示 y 1 = 1 , y 2 = 2 y_1=1,y_2=2 y1=1,y2=2的情况,且 t 1 t_1 t1支持位置 2 , 3 2,3 2,3。而 s 4 s_4 s4只支持,或者说只应用在位置 3 3 3上,且对应位置上的取值为 2 2 2才生效。

这个例子说明了特征函数是和位置密切相关的。

条件随机场的简化形式

注意到KaTeX parse error: Undefined control sequence: \eqref at position 1: \̲e̲q̲r̲e̲f̲{eq:11.10}中同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样可以写成权值向量和特征向量的内积形式,也就是简化形式。

首先将转移特征和状态特征及其权值用统一的符号表示,设有 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 i − 1 , y i , x i ) = { t k ( y i − 1 , y i , x , i ) k = 1 , 2 , ⋯   , K 1 s l ( y i , x , i ) k = K 1 + l ; l = 1 , 2 , ⋯   , K 2 (11.12) f_k(y_{i-1},y_i,x_i) = \begin{cases} t_k(y_{i-1},y_i,x,i) & k=1,2,\cdots,K_1 \\ s_l(y_i,x,i) & k=K_1 + l;\quad l=1,2,\cdots,K_2 \end{cases} \tag{11.12} fk(yi1,yi,xi)={tk(yi1,yi,x,i)sl(yi,x,i)k=1,2,,K1k=K1+l;l=1,2,,K2(11.12)
然后,对转移与状态特征在各个位置 i i i求和,记作
f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k = 1 , 2 , ⋯   , K (11.13) f_k(y,x) = \sum_{i=1}^n f_k(y_{i-1},y_i,x,i),\quad k=1,2,\cdots,K \tag{11.13} fk(y,x)=i=1nfk(yi1,yi,x,i),k=1,2,,K(11.13)
若把 f k ( y , x ) f_k(y,x) fk(y,x)展开,为
f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) = f k ( y 0 , y 1 , x , 1 ) + f k ( y 1 , y 2 , x , 2 ) + ⋯ + f k ( y n − 1 , y n , x , n ) \begin{aligned} f_k(y,x) &= \sum_{i=1}^n f_k(y_{i-1},y_i,x,i) \\ &= f_k(y_0,y_1,x,1) + f_k(y_1,y_2,x,2) + \cdots + f_k(y_{n-1},y_n,x,n) \end{aligned} fk(y,x)=i=1nfk(yi1,yi,x,i)=fk(y0,y1,x,1)+fk(y1,y2,x,2)++fk(yn1,yn,x,n)
共有 K K K个。

w k w_k wk表示特征 f k ( y , x ) f_k(y,x) fk(y,x)的权值,即
w k = { λ k k = 1 , 2 , ⋯   , K 1 μ l k = K 1 + l ; l = 1 , 2 , ⋯   , K 2 (11.14) w_k = \begin{cases} \lambda_k & k=1,2,\cdots,K_1 \\ \mu_l & k=K_1 + l;\quad l=1,2,\cdots,K_2 \end{cases} \tag{11.14} wk={λkμlk=1,2,,K1k=K1+l;l=1,2,,K2(11.14)
w k w_k wk也有 K K K个。

于是,条件随机场 ( 11.10 ) ∼ ( 11.11 ) (11.10)\sim (11.11) (11.10)(11.11)可以表示为

P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ k = 1 K w k f k ( y , x ) (11.15) P(y|x) = \frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y,x) \tag{11.15} P(yx)=Z(x)1expk=1Kwkfk(y,x)(11.15)

Z ( x ) = ∑ y exp ⁡ ∑ k = 1 K w k f k ( y , x ) (11.16) Z(x)= \sum_y \exp \sum_{k=1}^K w_k f_k(y,x) \tag{11.16} Z(x)=yexpk=1Kwkfk(y,x)(11.16)

其中 P ( y ∣ x ) P(y|x) P(yx)

P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ( λ 1 f 1 ( y , x ) + λ 2 f 2 ( y , x ) + ⋯ + λ K 1 f K 1 ( y , x ) + μ 1 f K 1 + 1 ( y , x ) + μ 2 f K 1 + 2 ( y , x ) + ⋯ + μ K 2 f K 1 + K 2 ( y , x ) ) = 1 Z ( x ) exp ⁡ ( w 1 f 1 ( y , x ) + w 2 f 2 ( y , x ) + ⋯ + w K f K ( y , x ) ) \begin{aligned} P(y|x) &= \frac{1}{Z(x)} \exp ( \lambda_1 f_1(y,x) + \lambda_2 f_2(y,x) + \cdots + \lambda_{K_1} f_{K_1}(y,x) + \mu_1 f_{K_1+1}(y,x) + \mu_2 f_{K_1+2}(y,x) + \cdots + \mu_{K_2} f_{K_1+K_2}(y,x) ) \\ &= \frac{1}{Z(x)} \exp (w_1 f_1(y,x) +w_2 f_2(y,x) + \cdots + w_K f_{K}(y,x)) \end{aligned} P(yx)=Z(x)1exp(λ1f1(y,x)+λ2f2(y,x)++λK1fK1(y,x)+μ1fK1+1(y,x)+μ2fK1+2(y,x)++μK2fK1+K2(y,x))=Z(x)1exp(w1f1(y,x)+w2f2(y,x)++wKfK(y,x))

若以 w w w表示权值向量,即
w = ( w 1 , w 2 , ⋯   , w K ) T (11.17) w = (w_1,w_2,\cdots,w_K)^T \tag{11.17} w=(w1,w2,,wK)T(11.17)
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 (11.18) F(y,x) = (f_1(y,x),f_2(y,x),\cdots,f_K(y,x))^T \tag{11.18} F(y,x)=(f1(y,x),f2(y,x),,fK(y,x))T(11.18)
那么条件随机场可以写成向量 w w w F ( y , x ) F(y,x) F(y,x)的内积的形式:
P w ( y ∣ x ) = exp ⁡ ( w ⋅ F ( y , x ) ) Z w ( x ) (11.19) P_w(y|x) = \frac{\exp(w \cdot F(y,x))}{Z_w(x)} \tag{11.19} Pw(yx)=Zw(x)exp(wF(y,x))(11.19)
其中,
Z w ( x ) = ∑ y exp ⁡ ( w ⋅ F ( y , x ) ) (11.20) Z_w(x) = \sum_y \exp(w \cdot F(y,x)) \tag{11.20} Zw(x)=yexp(wF(y,x))(11.20)

条件随机场的矩阵形式

CRF还可以由矩阵表示。假设 P w ( y ∣ x ) P_w(y|x) Pw(yx)是由式 ( 11.15 ) ∼ ( 11.16 ) (11.15)\sim(11.16) (11.15)(11.16)给出的线性链条件随机场。对每个标记序列引进特殊的起点和终点状态标记 y 0 = start y_0=\text{start} y0=start y n + 1 = stop y_{n+1}=\text{stop} yn+1=stop,这时标注序列的概率 P w ( y ∣ x ) P_w(y|x) Pw(yx)可以通过矩阵形式表示并有效计算。

对观测序列 x x x的每一个位置 i = 1 , 2 , ⋯   , n + 1 i=1,2,\cdots,n+1 i=1,2,,n+1,由于 y i − 1 y_{i-1} yi1 y i y_i yi m m m个标记中取值,所以 y i − 1 y_{i-1} yi1 m m m种可能, y i y_i yi也有 m m m种可能, y i − 1 y_{i-1} yi1 y i y_i yi可以定义一个 m m m阶矩阵( m × m m \times m m×m)随机变量
M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] (11.21) M_i(x) = [M_i(y_{i-1},y_i|x)] \tag{11.21} Mi(x)=[Mi(yi1,yix)](11.21)
矩阵随机变量的元素为
M i ( y i − 1 , y i ∣ x ) = exp ⁡ ( W i ( y i − 1 , y i ∣ x ) ) (11.22) M_i(y_{i-1},y_i|x) = \exp(W_i(y_{i-1},y_i|x)) \tag{11.22} Mi(yi1,yix)=exp(Wi(yi1,yix))(11.22)

W i ( y i − 1 , y i ∣ x ) = ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) (11.23) W_i(y_{i-1},y_i|x) = \sum_{k=1}^K w_kf_k(y_{i-1},y_i,x,i) \tag{11.23} Wi(yi1,yix)=k=1Kwkfk(yi1,yi,x,i)(11.23)
这里 w k w_k wk f k f_k fk利用了前面 ( 11.14 ) (11.14) (11.14) ( 11.12 ) (11.12) (11.12)中的定义; y i − 1 y_{i-1} yi1 y i y_i yi是标记随机变量 Y i − 1 Y_{i-1} Yi1 Y i Y_i Yi的取值。

注意,式 ( 11.23 ) (11.23) (11.23)是对 k k k求和,即在每个位置上应用所有的转移特征和状态特征。

这里,引入 y 0 = start y_0 =\text{start} y0=start y n + 1 = stop y_{n+1}=\text{stop} yn+1=stop来表示开始状态和终止状态。那么 i i i的取值就可以从 0 0 0 n + 1 n+1 n+1

由公式 ( 11.15 ) (11.15) (11.15)和式 ( 11.13 ) (11.13) (11.13),有:
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ k = 1 K w k f k ( y , x ) 根据公式 ( 11.15 ) = 1 Z ( x ) exp ⁡ ( ∑ k = 1 K w k ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) ) 根据公式 ( 11.13 ) = 1 Z ( x ) exp ⁡ ( ∑ i = 1 n + 1 ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) 先对 k 求和再对 i 求和 = 1 Z ( x ) ∏ i = 1 n + 1 exp ⁡ ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) = 1 Z ( x ) ∏ i = 1 n + 1 exp ⁡ ( W i ( y i − 1 , y i ∣ x ) ) 根据公式 ( 11.23 ) = 1 Z ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) 根据公式 ( 11.22 ) \begin{aligned} P(y|x) &= \frac{1}{Z(x)} \exp \sum_{k=1}^K w_k f_k(y,x) & 根据公式(11.15)\\ &= \frac{1}{Z(x)} \exp \left(\sum_{k=1}^K w_k \sum_{i=1}^{n+1} f_k(y_{i-1},y_i,x,i) \right) & 根据公式(11.13)\\ &= \frac{1}{Z(x)} \exp \left(\sum_{i=1}^{n+1} \sum_{k=1}^K w_k f_k(y_{i-1},y_i,x,i) \right) & 先对k求和再对i求和\\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} \exp \left(\sum_{k=1}^K w_k f_k(y_{i-1},y_i,x,i) \right) \\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} \exp \left( W_i(y_{i-1},y_i|x) \right) & 根据公式(11.23) \\ &= \frac{1}{Z(x)} \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) & 根据公式(11.22) \\ \end{aligned} P(yx)=Z(x)1expk=1Kwkfk(y,x)=Z(x)1exp(k=1Kwki=1n+1fk(yi1,yi,x,i))=Z(x)1exp(i=1n+1k=1Kwkfk(yi1,yi,x,i))=Z(x)1i=1n+1exp(k=1Kwkfk(yi1,yi,x,i))=Z(x)1i=1n+1exp(Wi(yi1,yix))=Z(x)1i=1n+1Mi(yi1,yix)根据公式(11.15)根据公式(11.13)先对k求和再对i求和根据公式(11.23)根据公式(11.22)
这样条件概率 P w ( y ∣ x ) P_w(y|x) Pw(yx)
P w ( y ∣ x ) = 1 Z w ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) (11.24) P_w(y|x) = \frac{1}{Z_w(x)} \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) \tag{11.24} Pw(yx)=Zw(x)1i=1n+1Mi(yi1,yix)(11.24)
其中 Z w ( x ) Z_w(x) Zw(x)是规范化因子
Z w ( x ) = ∑ y ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) Z_w(x) = \sum_y \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) Zw(x)=yi=1n+1Mi(yi1,yix)
把上式整理一下:
Z w ( x ) = [ M 1 ( x ) M 2 ( x ) ⋯ M n + 1 ( x ) ] start,stop (11.25) Z_w(x) = [M_1(x)M_2(x)\cdots M_{n+1}(x)]_{\text{start,stop}} \tag{11.25} Zw(x)=[M1(x)M2(x)Mn+1(x)]start,stop(11.25)
是以start为起点stop为终点通过状态的所有路径 y 1 y 2 ⋯ y n y_1y_2\cdots y_n y1y2yn的非规范化概率之 ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) \prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x) i=1n+1Mi(yi1,yix)之和。

y i ( i = 0 , 1 , 2 , ⋯ n + 1 ) y_i(i=0,1,2,\cdots n+1) yi(i=0,1,2,n+1)共有 m m m种取值。

我们先来看下 M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] M_i(x) = [M_i(y_{i-1},y_i|x)] Mi(x)=[Mi(yi1,yix)]这个矩阵的内容:

| M i ( y i − 1 , y i ∣ x i ) M_i(y_{i-1}, y_i|x_i) Mi(yi1,yixi) | y i = 1 y_i=1 yi=1 | y i = 2 y_i=2 yi=2 | y i = 3 y_i=3 yi=3 | ⋯ \cdots | y i = m y_i=m yi=m |
| ----------------------- | ------------------------ | ------------------------ | ------------------------ | -------- | ------------------------ |
| y i − 1 = 1 y_{i-1}=1 yi1=1 | M i ( y i − 1 = 1 , y i = 1 ∣ x ) M_i(y_{i-1}=1,y_i=1|x) Mi(yi1=1,yi=1∣x) | M i ( y i − 1 = 1 , y i = 2 ∣ x ) M_i(y_{i-1}=1,y_i=2|x) Mi(yi1=1,yi=2∣x) | M i ( y i − 1 = 1 , y i = 3 ∣ x ) M_i(y_{i-1}=1,y_i=3|x) Mi(yi1=1,yi=3∣x) | ⋯ \cdots | M i ( y i − 1 = 1 , y i = m ∣ x ) M_i(y_{i-1}=1,y_i=m|x) Mi(yi1=1,yi=mx) |
| y i − 1 = 2 y_{i-1}=2 yi1=2 | M i ( y i − 1 = 2 , y i = 1 ∣ x ) M_i(y_{i-1}=2,y_i=1|x) Mi(yi1=2,yi=1∣x) | M i ( y i − 1 = 2 , y i = 2 ∣ x ) M_i(y_{i-1}=2,y_i=2|x) Mi(yi1=2,yi=2∣x) | M i ( y i − 1 = 2 , y i = 3 ∣ x ) M_i(y_{i-1}=2,y_i=3|x) Mi(yi1=2,yi=3∣x) | ⋯ \cdots | M i ( y i − 1 = 2 , y i = m ∣ x ) M_i(y_{i-1}=2,y_i=m|x) Mi(yi1=2,yi=mx) |
| y i − 1 = 3 y_{i-1}=3 yi1=3 | M i ( y i − 1 = 3 , y i = 1 ∣ x ) M_i(y_{i-1}=3,y_i=1|x) Mi(yi1=3,yi=1∣x) | M i ( y i − 1 = 3 , y i = 2 ∣ x ) M_i(y_{i-1}=3,y_i=2|x) Mi(yi1=3,yi=2∣x) | M i ( y i − 1 = 3 , y i = 3 ∣ x ) M_i(y_{i-1}=3,y_i=3|x) Mi(yi1=3,yi=3∣x) | | M i ( y i − 1 = 3 , y i = m ∣ x ) M_i(y_{i-1}=3,y_i=m|x) Mi(yi1=3,yi=mx) |
| ⋮ \vdots | ⋮ \vdots | ⋮ \vdots | ⋱ \ddots | ⋱ \ddots | ⋱ \ddots |
| y i − 1 = m y_{i-1}=m yi1=m | M i ( y i − 1 = m , y i = 1 ∣ x ) M_i(y_{i-1}=m,y_i=1|x) Mi(yi1=m,yi=1∣x) | M i ( y i − 1 = m , y i = 2 ∣ x ) M_i(y_{i-1}=m,y_i=2|x) Mi(yi1=m,yi=2∣x) | M i ( y i − 1 = m , y i = 3 ∣ x ) M_i(y_{i-1}=m,y_i=3|x) Mi(yi1=m,yi=3∣x) | | M i ( y i − 1 = m , y i = m ∣ x ) M_i(y_{i-1}=m,y_i=m|x) Mi(yi1=m,yi=mx) |

Z w ( x ) Z_w(x) Zw(x) n + 1 n+1 n+1个矩阵的乘积的(start,stop)元素,这个如何理解,需要结合书上的例11.2。

image-20230525141415101

例 11.2 给定一个线性链条件随机场,观测序列 x x x,状态序列 y y y i = 1 , 2 , 3 i=1,2,3 i=1,2,3 n = 3 n=3 n=3,标记 y i ∈ { 1 , 2 } y_i \in \{1,2\} yi{1,2},假设 y 0 = start = 1 y_0 =\text{start}=1 y0=start=1 y 4 = stop = 1 y_4=\text{stop}=1 y4=stop=1,各个位置的随机矩阵 M 1 ( x ) , M 2 ( x ) , M 3 ( x ) , M 4 ( x ) M_1(x),M_2(x),M_3(x),M_4(x) M1(x),M2(x),M3(x),M4(x)分别是

image-20230525140239628

试求状态序列 y y y start \text{start} start为起点 stop \text{stop} stop为终点所有路径的非规范化概率及规范化因子。

这个问题中 m = 2 m=2 m=2,所有 M i ( x ) M_i(x) Mi(x) 2 × 2 2 \times 2 2×2的矩阵,且上面都给出了这几个矩阵。该例题对应的状态路径如上图所示,把随机矩阵内的元素标记上去就能更好的理解:

image-20230525142404821

注意这个是状态路径,不是概率图。

然后尝试按照公式 ( 11.25 ) (11.25) (11.25)求规范化因子。通过计算这几个矩阵的乘积:
M 1 ( x ) M 2 ( x ) M 3 ( x ) M 4 ( x ) = [ a 01 a 02 0 0 ] [ b 11 b 12 b 21 b 22 ] M 3 ( x ) M 4 ( x ) = [ a 01 b 11 + a 02 b 21 a 01 b 12 + a 02 b 22 0 0 ] M 3 ( x ) M 4 ( x ) = [ a 01 b 11 + a 02 b 21 a 01 b 12 + a 02 b 22 0 0 ] [ c 11 c 12 c 21 c 22 ] M 4 ( x ) = [ ( a 01 b 11 + a 02 b 21 ) c 11 + ( a 01 b 12 + a 02 b 22 ) c 21 ( a 01 b 11 + a 02 b 21 ) c 12 + ( a 01 b 12 + a 02 b 22 ) c 22 0 0 ] [ 1 0 1 0 ] = [ ( a 01 b 11 + a 02 b 21 ) c 11 + ( a 01 b 12 + a 02 b 22 ) c 21 + ( a 01 b 11 + a 02 b 21 ) c 12 + ( a 01 b 12 + a 02 b 22 ) c 22 0 0 0 ] \begin{aligned} M_1(x)M_2(x)M_3(x)M_4(x) &= \begin{bmatrix} a_{01} & a_{02}\\ 0 & 0 \end{bmatrix} \begin{bmatrix} b_{11} & b_{12}\\ b_{21} & b_{22} \end{bmatrix}M_3(x)M_4(x) \\ &= \begin{bmatrix} a_{01}b_{11}+a_{02}b_{21} & a_{01}b_{12}+a_{02}b_{22}\\ 0 & 0 \end{bmatrix}M_3(x)M_4(x) \\ &= \begin{bmatrix} a_{01}b_{11}+a_{02}b_{21} & a_{01}b_{12}+a_{02}b_{22}\\ 0 & 0 \end{bmatrix}\begin{bmatrix} c_{11} & c_{12}\\ c_{21} & c_{22} \end{bmatrix}M_4(x) \\ &= \begin{bmatrix} (a_{01}b_{11}+a_{02}b_{21})c_{11} +(a_{01}b_{12}+a_{02}b_{22})c_{21} & (a_{01}b_{11}+a_{02}b_{21})c_{12} +(a_{01}b_{12}+a_{02}b_{22})c_{22}\\ 0 & 0 \end{bmatrix} \begin{bmatrix} 1& 0\\ 1 & 0 \end{bmatrix} \\ &= \begin{bmatrix} (a_{01}b_{11}+a_{02}b_{21})c_{11} +(a_{01}b_{12}+a_{02}b_{22})c_{21} + (a_{01}b_{11}+a_{02}b_{21})c_{12} +(a_{01}b_{12}+a_{02}b_{22})c_{22} & 0\\ 0 & 0 \end{bmatrix} \end{aligned} M1(x)M2(x)M3(x)M4(x)=[a010a020][b11b21b12b22]M3(x)M4(x)=[a01b11+a02b210a01b12+a02b220]M3(x)M4(x)=[a01b11+a02b210a01b12+a02b220][c11c21c12c22]M4(x)=[(a01b11+a02b21)c11+(a01b12+a02b22)c210(a01b11+a02b21)c12+(a01b12+a02b22)c220][1100]=[(a01b11+a02b21)c11+(a01b12+a02b22)c21+(a01b11+a02b21)c12+(a01b12+a02b22)c22000]
可以看到,最后得到的仍然是一个 2 × 2 2\times 2 2×2的矩阵,且只有第1行第1列元素不为零,其他位置元素都为零。

并且第1行第1列元素恰好等于从 start 到stop 的所有路径的非规范化概率之和,即规范化因子 Z ( x ) Z(x) Z(x)

因此式 ( 11.25 ) (11.25) (11.25)指的是这几个矩阵相乘后,取第1行第1列的结果,因为这里start和stop都是。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python和SEO:如何通过Python编程获得更好的结果?

Python和SEO:如何通过Python编程获得更好的结果? Python已经成为SEO行业和数字营销领域中的热门工具。Python编程语言可以提高SEO结果,加快啮合速度并获得更好的结果。在本篇文章中,我们将介绍Python编程语言在SEO中的应用&#…

docker容器的介绍

目录 一、docker介绍和安装 官方网站:Docker: Accelerated, Containerized Application Development 下载docker引擎地址:Install Docker Engine | Docker Documentation 安装步骤 1、卸载原来安装过的docker软件,如果没有安装则可以不用…

Spring注解使用

文章目录 前言存储Bean对象① 配置扫描路径 -② 使用注解存储Bean对象Controller(控制器存储) 这里讲一下Spring的调用流程 及 注解的含义getBean里面的命名规则使用⽅法注解:Bean 获取Bean对象1. 属性注⼊属性注入的优缺点 2. 构造⽅法注⼊ (官方推荐)构造方法注入…

【c++】static和const修饰类的成员变量或成员函数

目录 1、静态成员变量 2、静态成员函数 3、常函数 4、常对象 当我们使用c的关键字static修饰类中的成员变量和成员函数的时候,此时的成员变量和成员函数被称为静态成员。 静态成员包含: 静态成员变量静态成员函数 1、静态成员变量 静态成员变量有…

window系统:python3 + auto-py-to-exe 打包playwright为exe,内含独立浏览器

auto-py-to-exe的使用参考一下链接: 链接: python—auto-py-to-exe—.py文件打包成.exe文件最全最详细(用不同的类别做教程) 1、使用auto-py-to-exe打包playwright成exe,运行之后运行一直报错:FileNotFoundError: [Wi…

Java-API简析_java.lang.Character类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131178778 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

OJ: Digit Primes

目录 1.题目 2.中文翻译 3.代码 4.代码中部分程序段思路详解 4.1 素数判定高效率代码: ​编辑 4.2 最小的素数是 2 4.3 python中如何计算一个数各个位的和 1.题目 题目描述: A prime number is a positive number, which is divisible by exactly…

chatgpt赋能python:在Python中建立虚拟环境

在Python中建立虚拟环境 在Python编程中,建立虚拟环境是一项非常重要的工作。虚拟环境不仅可以避免不同版本的库之间的冲突,还可以使我们更好地控制项目的依赖关系。在本文中,我们将介绍如何使用Python建立虚拟环境。 第一步:安…

Jmeter参数化方式

前言:什么是参数化? 把测试数据组织起来,用不同的测试数据调用相同的测试方法(实现测试数据跟测试脚本分离)。 一、用户定义的变量: 1、作用:定义全局变量 2、局限性:每次取值都是…

chatgpt赋能python:Python建模型指南

Python建模型指南 Python是一种功能强大的编程语言,以其优雅的语法和丰富的库而闻名。而且,Python也是机器学习、人工智能和数据科学领域的首选语言之一。在本文中,我们将学习Python中如何建模型。 什么是建模? 建模是指使用统…

【MySQL数据库 | 第十七篇】索引以及索引结构介绍

目录 前言: 索引简介: 索引结构: 二叉树索引结构 Tree(普通二叉树) B-Tree(多路平衡查找树) BTree 哈希索引数据结构 总结: 前言: 在实际生活中,我们对SQL语句进行优化实际上有…

Linux,看这篇就够了

Linux 一、为什么要学linux二、目录介绍三、vi / vim编辑器四、网络配置4.1、修改 IP 地址4.2、配置主机名4.2.1、修改主机名称4.2.2、修改 hosts 映射文件 五、系统配置5.1、service 服务管理5.2、systemctl5.3、防火墙5.4、关机重启命令5.5、查看系统内核与版本 六、常用命令…

一分钟学一个 Linux 命令 - cat 和 tail

前言 大家好,我是 god23bin。今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天,需要你花费两分钟时间,因为我们要介绍的是两个常用的查看文件内容的命令:cat 和 ta…

动态规划-背包问题(三)

动态规划-背包问题(三) 1 描述2 样例2.1 样例 1:2.2 样例 2: 3 算法解题思路以及实现方法3.1 算法解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件以及边界情况3.1.4 计算顺序 3.2 算法实现3.2.1 java实现的O(MN)算法复杂度3.2.2 C实现的O(MN)算法复…

Lua基本语法

目录 1 lua基础数据结构 2 Lua 变量 3 Lua 循环 3.1 Lua while 循环 3.2 Lua for 循环 数值for循环 泛型for循环 3.3 Lua repeat...until 循环 3.4 Lua 循环嵌套 3.5 循环控制语句 Lua break 语句 Lua goto 语句 4 Lua 流程控制 4.1 Lua if 语句 4.2 Lua if...else 语…

04-编织灵魂旋律:Golang 函数的魔力绽放

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

常见网络设备及其功能

1.常见网络设备及其功能 笔记来源: Computer network components and their functions 设备工作所在层隔离冲突域隔离广播域路由器(Router)网络层√√网桥(Bridge)数据链路层√交换机(Switch)数据链路层√中继器(Repeater)物理层集线器(Hub)物理层 1.1 路由器&…

chatgpt赋能python:Python并排输出数字——快速高效的实现技巧

Python并排输出数字——快速高效的实现技巧 在Python编程中,我们经常需要对数字进行输出,并排输出数字是一种非常常见的需求。比如说,我们需要将多个数据进行比较,或者需要将多个相关数据进行显示,等等。本文将介绍Py…

一.基于压缩感知(CS)的DOA估计方法-OMP-CS算法

阅读须知: 1.本文为本人原创作品仅供学习参考,未经过本人同意禁止转载和抄袭。 2.要想无障碍阅读本文需要一定的压缩感知理论以及压缩感知信号重构算法基础。 3.话不多说,直接开搞。 1 基于压缩感知DOA估计方法原理 假设有K个远场窄带信号…

dpdk21.11 编译(meson+ninja)及VFIO模块的加载和运行

目录 前言 安装前的环境配置 编译流程 1. 设置环境变量(好像也不需要了) 2. 构建dpdk 3. 编译 执行测试 1. 绑定vfio-pci 模块 2. 挂载网卡 3. 设置大页 4. 启动测试程序-testpmd 前言 操作系统:ubuntu22.04.2 LTS 内核版本&#…