文章目录
导读
- 条件随机场是给定一组输入随机变量的条件 下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。注意这里条件,随机场的对应。
- 整个这一章的介绍思路,和前一章有点像,尤其是学习算法部分,和HMM比主要增加了特征函数,关于特征函数要和CH06对比着看
- CRF是对数线性模型
- 概率无向图模型又称马尔可夫随机场,是可以用无向图表示的联合概率分布,注意,一个概率图模型就是一个联合概率分布。
- 条件随机场三个基本问题:概率计算问题,学习问题和预测问题
- 前面的章节中,我们学习,更新参数的过程中很多时候用到了导数,那么积分有没有用?联合概率分布包含了很多随机变量,如果希望消除一些变量,就会用到积分,在离散的情况下,就是求和。这个过程就是边缘化。所有的概率图模型都尝试提出有效的方法来解决这个积分的问题。
概念
符号表
节点 ν ∈ V \nu\in V ν∈V表示一个随机变量 Y ν Y_{\nu} Yν
边 e ∈ E e\in E e∈E表示随机变量之间的概率依赖关系
图 G ( V , E ) G(V,E) G(V,E)表示联合概率分布 P ( Y ) P(Y) P(Y)
Y ∈ Y Y\in \mathcal Y Y∈Y是一组随机变量 Y = ( Y ν ) ν ∈ V Y=(Y_{\nu})_{\nu \in V} Y=(Yν)ν∈V
IOB标记
I nside, O utside, Begin
概率无向图模型
注意整个书中第一节的内容, 还不是条件随机场, 都是马尔可夫随机场,告诉读者可以用图来表示联合分布,以及拿到图之后, 怎么转化成概率表达形式。
概率无向图模型又称马尔可夫随机场(MRF) ,是一个可以由满足以下三个性质的无向图 表示的联合概率分布。
-
成对马尔可夫性
给定随机变量组 Y O Y_O YO的条件下随机变量 Y u Y_u Yu和 Y v Y_v Yv是条件独立的
P ( Y u , Y v ∣ Y O ) = P ( Y u ∣ Y O ) P ( Y v ∣ Y O ) P(Y_u,Y_v|Y_O)=P(Y_u|Y_O)P(Y_v|Y_O) P(Yu,Yv∣YO)=P(Yu∣YO)P(Yv∣YO) -
局部马尔可夫性
给定随机变量组 Y W Y_W YW的条件下随机变量 Y v Y_v Yv与随机变量组 Y O Y_O YO是独立的
P ( Y v , Y O ∣ Y W ) = P ( Y v ∣ Y W ) P ( Y O ∣ Y W ) P(Y_v,Y_O|Y_W)=P(Y_v|Y_W)P(Y_O|Y_W) P(Yv,YO∣YW)=P(Yv∣YW)P(YO∣YW) -
全局马尔可夫性
给定随机变量组 Y C Y_C YC的条件下随机变量组 Y A Y_A YA和 Y B Y_B YB是条件独立的
P ( Y A , Y B ∣ Y C ) = P ( Y A ∣ Y C ) P ( Y B ∣ Y C ) P(Y_A,Y_B|Y_C)=P(Y_A|Y_C)P(Y_B|Y_C) P(YA,YB∣YC)=P(YA∣YC)P(YB∣YC)
MRF的因子分解
将概率无向图模型的联合概率分布表示为其最大团 上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解(factorization)
概率无向图模型的最大特点就是易于因子分解
团与最大团
有向图模型
插入一点有向图模型
条件随机场
条件随机场是给定随机变量 X X X条件下,随机变量 Y Y Y的马尔可夫随机场。
线性链条件随机场
设 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(Y∣X)构成条件随机场,即满足马尔可夫性
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 ( 在 i = 1 和 n 时只考虑单边 ) 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})\\ i=1,2,\cdots,n (在i=1和n时只考虑单边) P(Yi∣X,Y1,⋯,Yi−1,Yi+1,⋯,Yn)=P(Yi∣X,Yi−1,Yi+1)i=1,2,⋯,n(在i=1和n时只考虑单边)
则称 P ( Y ∣ X ) P(Y|X) P(Y∣X)为线性链条件随机场。在标注问题中 , X X X表示输入观测序列, Y Y Y表示输出标记序列或状态序列。
特征函数
线性链条件随机场的参数化形式
P ( y ∣ x ) = 1 Z ( x ) exp ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) P(y|x)=\frac{1}{Z(x)}\exp\left(\sum\limits_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i)\right) P(y∣x)=Z(x)1exp i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)
其中
t k t_k tk是定义在边上的特征函数,称为转移特征
s l s_l sl是定义在结点上的特征函数,称为状态特征
注意到这种表达就是不同特征的加权求和形式, t k , s l t_k,s_l tk,sl都依赖于位置,是局部特征函数。
对数线性模型
线性链条件随机场也是对数线性模型(定义在时序数据上的)。
条件随机场可以看做是最大熵马尔可夫模型在标注问题上的推广。
条件随机场是计算联合概率分布的有效模型。
现实中,一般假设 X X X和 Y Y Y有相同的图结构。
本书主要考虑无向图为
G = ( V = 1 , 2 , ... , n , E = ( i , i + 1 ) ) , i = 1 , 2 , ... , n − 1 G=(V={1,2,\dots,n},E={(i,i+1)}),i=1,2,\dots,n-1 G=(V=1,2,...,n,E=(i,i+1)),i=1,2,...,n−1在此情况下, X = ( X 1 , X 2 , ... , X n ) , Y = ( Y 1 , Y 2 , ... , Y n ) X=(X_1,X_2,\dots,X_n), Y=(Y_1, Y_2,\dots,Y_n) X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)
线性链条件随机场定义
设 X = ( X 1 , X 2 , ... , X n ) , Y = ( Y 1 , Y 2 , ... , Y n ) X=(X_1,X_2,\dots,X_n), Y=(Y_1, Y_2,\dots,Y_n) X=(X1,X2,...,Xn),Y=(Y1,Y2,...,Yn)均为线性链表示的随机变量序列, 若在给定随机变量序列 X X X的条件下, 随机变量序列 Y Y Y的条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)构成条件随机场, 即满足马尔可夫性
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 P(Y_i|X,Y_1,\dots,Y_{i-1},Y_{i+1},\dots,Y_n)=P(Y_i|X,Y_{i-1},Y{i+1}), i=1,2,\dots,n P(Yi∣X,Y1,...,Yi−1,Yi+1,...,Yn)=P(Yi∣X,Yi−1,Yi+1),i=1,2,...,n则称 P ( Y ∣ X ) P(Y|X) P(Y∣X)为线性链条件随机场
参数化形式
随机变量 X X X取值为 x x x的条件 下,随机变量 Y Y Y取值为 y y y的条件概率具有如下形式:
P ( y ∣ x ) = 1 Z exp ( ∑ i , k λ k t k ( y i − 1 , y i , x , i + ∑ i , l μ l s l ( y i , x , i ) ) P(y|x)=\frac{1}{Z}\exp\left(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i+\sum_{i,l}\mu_ls_l(y_i,x,i)\right) P(y∣x)=Z1exp i,k∑λktk(yi−1,yi,x,i+i,l∑μlsl(yi,x,i)
其中
Z ( x ) = ∑ y ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) Z(x)=\sum_y\left(\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i)\right) Z(x)=y∑ i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i)
k , l k,l k,l对应特征函数的编号,注意这里用了 k , l k,l k,l两个编号, i i i对应了输出序列的每个位置
t 1 = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) , i = 2 , 3 , λ 1 = 1 t 2 = t 2 ( y i − 1 = 1 , y i = 1 , x , i ) , i = 2 , λ 2 = 0.5 t 3 = t 3 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 3 , λ 3 = 1 t 4 = t 4 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 2 , λ 4 = 1 t 5 = t 5 ( y i − 1 = 2 , y i = 2 , x , i ) , i = 3 , λ 5 = 0.2 s 1 = s 1 ( y i = 1 , x , i ) , i = 1 , μ 1 = 1 s 2 = s 2 ( y i = 1 , x , i ) , i = 1 , 2 , μ 2 = 0.5 s 3 = s 3 ( y i = 1 , x , i ) , i = 2 , 3 , μ 3 = 0.8 s 4 = s 4 ( y i = 2 , x , i ) , i = 3 μ 4 = 0.5 \begin{aligned} t_1&=t_1(y_{i-1}=1,y_i=2,x,i),&i&=2,3,&\lambda_1&=1 \\ t_2&=t_2(y_{i-1}=1,y_i=1,x,i),&i&=2,&\lambda_2&=0.5\\ \color{red}t_3&=t_3(y_{i-1}=2,y_i=1,x,i),&i&=3,&\lambda_3&=1\\ \color{red}t_4&=t_4(y_{i-1}=2,y_i=1,x,i),&i&=2,&\lambda_4&=1\\ t_5&=t_5(y_{i-1}=2,y_i=2,x,i),&i&=3,&\lambda_5&=0.2\\ s_1&=s_1(y_i=1,x,i),&i&=1,&\mu_1&=1\\ s_2&=s_2(y_i=1,x,i),&i&=1,2,&\mu_2&=0.5\\ s_3&=s_3(y_i=1,x,i),&i&=2,3,&\mu_3&=0.8\\ s_4&=s_4(y_i=2,x,i),&i&=3&\mu_4&=0.5\\ \end{aligned} t1t2t3t4t5s1s2s3s4=t1(yi−1=1,yi=2,x,i),=t2(yi−1=1,yi=1,x,i),=t3(yi−1=2,yi=1,x,i),=t4(yi−1=2,yi=1,x,i),=t5(yi−1=2,yi=2,x,i),=s1(yi=1,x,i),=s2(yi=1,x,i),=s3(yi=1,x,i),=s4(yi=2,x,i),iiiiiiiii=2,3,=2,=3,=2,=3,=1,=1,2,=2,3,=3λ1λ2λ3λ4λ5μ1μ2μ3μ4=1=0.5=1=1=0.2=1=0.5=0.8=0.5
可以抽象成上面这种形式。
简化形式
上面的结构,包含了两个部分,表达式不够简单,如何落地?
K 1 K_1 K1个转移特征, K 2 K_2 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 \color{red} f_k(y_{i-1},y_i,x,i)= \begin{cases} t_k(y_{i-1},y_i,x,i),&k=1,2,\dots,K_1\\ s_l(y_i,x,i),&k=K_1+l;l=1,2,\dots,K_2 \end{cases} fk(yi−1,yi,x,i)={tk(yi−1,yi,x,i),sl(yi,x,i),k=1,2,...,K1k=K1+l;l=1,2,...,K2
上面这个红色的式子很重要,把unigram和bigram统一到一起了,如果有trigram等也在这里融合
然后,对转和状态特征在各个位置 i i i求和,记作
f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k = 1 , 2 , ... , K f_k(y,x)=\sum_{i=1}^nf_k(y_{i-1},y_i,x,i),k=1,2,\dots,K fk(y,x)=i=1∑nfk(yi−1,yi,x,i),k=1,2,...,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 w_k= \begin{cases} \lambda_k,&k=1,2,\dots,K_1\\ \mu_l,&k=K1+l;l=1,2,\dots,K_2 \end{cases} wk={λk,μl,k=1,2,...,K1k=K1+l;l=1,2,...,K2
于是条件随机场可以表示为
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 ) \begin{align} P(y|x)&=\frac{1}{Z(x)}\exp\sum_{k=1}^Kw_kf_k(y,x)\\ Z(x)&=\sum_y\exp\sum_{k=1}^Kw_kf_k(y,x) \end{align} P(y∣x)Z(x)=Z(x)1expk=1∑Kwkfk(y,x)=y∑expk=1∑Kwkfk(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 F F表示全局特征向量,即
F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , ... , f K ( y , x ) ) T F(y,x)=(f_1(y,x),f_2(y,x),\dots,f_K(y,x))^T F(y,x)=(f1(y,x),f2(y,x),...,fK(y,x))T
条件随机场可以表示成向量内积的形式
P w ( y ∣ x ) = exp ( w ⋅ F ( y , x ) ) Z w ( x ) Z w ( x ) = ∑ y exp ( w ⋅ F ( y , x ) ) \begin{align} P_w(y|x)&=\frac{\exp(w\cdot F(y,x))}{Z_w(x)}\\ Z_w(x)&=\sum_y\exp\left(w\cdot F(y,x)\right) \end{align} Pw(y∣x)Zw(x)=Zw(x)exp(w⋅F(y,x))=y∑exp(w⋅F(y,x))
在参数化形式的展示中,书中的公式已经做了删减。
而实际上这里应该是展开的。
f k = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) , i = 2 , w k = 1 , k = 1 f k = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) , i = 3 , w k = 1 , k = 1 f k = t 2 ( y i − 1 = 1 , y i = 1 , x , i ) , i = 2 , w k = 0.5 , k = 2 f k = t 2 ( y i − 1 = 1 , y i = 1 , x , i ) , i = 3 , w k = 0.5 , k = 2 f k = t 3 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 2 , w k = 1 , k = 3 f k = t 3 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 3 , w k = 1 , k = 3 f k = t 4 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 2 , w k = 1 , k = 4 f k = t 4 ( y i − 1 = 2 , y i = 1 , x , i ) , i = 3 , w k = 1 , k = 4 f k = t 5 ( y i − 1 = 2 , y i = 2 , x , i ) , i = 2 , w k = 0.2 , k = 5 f k = t 5 ( y i − 1 = 2 , y i = 2 , x , i ) , i = 3 , w k = 0.2 , k = 5 f k = s 1 ( y i = 1 , x , i ) , i = 1 , w k = 1 , k = 6 f k = s 1 ( y i = 1 , x , i ) , i = 2 , w k = 1 , k = 6 f k = s 1 ( y i = 1 , x , i ) , i = 3 , w k = 1 , k = 6 f k = s 2 ( y i = 1 , x , i ) , i = 1 , w k = 0.5 , k = 7 f k = s 2 ( y i = 1 , x , i ) , i = 2 , w k = 0.5 , k = 7 f k = s 2 ( y i = 1 , x , i ) , i = 3 , w k = 0.5 , k = 7 f k = s 3 ( y i = 1 , x , i ) , i = 1 , w k = 0.8 , k = 8 f k = s 3 ( y i = 1 , x , i ) , i = 2 , w k = 0.8 , k = 8 f k = s 3 ( y i = 1 , x , i ) , i = 3 , w k = 0.8 , k = 8 f k = s 4 ( y i = 2 , x , i ) , i = 1 , w k = 0.5 , k = 9 f k = s 4 ( y i = 2 , x , i ) , i = 2 , w k = 0.5 , k = 9 f k = s 4 ( y i = 2 , x , i ) , i = 3 , w k = 0.5 , k = 9 \begin{aligned} f_k&=t_1(y_{i-1}=1,y_i=2,x,i),&i&=2,&w_k&=1,&k=1 \\ f_k&=t_1(y_{i-1}=1,y_i=2,x,i),&i&=3,&w_k&=1,&k=1 \\ f_k&=t_2(y_{i-1}=1,y_i=1,x,i),&i&=2,&w_k&=0.5,&k=2\\ f_k&=t_2(y_{i-1}=1,y_i=1,x,i),&i&=3,&w_k&=0.5,&k=2\\ \color{red}f_k&=t_3(y_{i-1}=2,y_i=1,x,i),&i&=2,&w_k&=1,&k=3\\ \color{red}f_k&=t_3(y_{i-1}=2,y_i=1,x,i),&i&=3,&w_k&=1,&k=3\\ \color{red}f_k&=t_4(y_{i-1}=2,y_i=1,x,i),&i&=2,&w_k&=1,&k=4\\ \color{red}f_k&=t_4(y_{i-1}=2,y_i=1,x,i),&i&=3,&w_k&=1,&k=4\\ f_k&=t_5(y_{i-1}=2,y_i=2,x,i),&i&=2,&w_k&=0.2,&k=5\\ f_k&=t_5(y_{i-1}=2,y_i=2,x,i),&i&=3,&w_k&=0.2,&k=5\\ \\ f_k&=s_1(y_i=1,x,i),&i&=1,&w_k&=1,&k=6\\ f_k&=s_1(y_i=1,x,i),&i&=2,&w_k&=1,&k=6\\ f_k&=s_1(y_i=1,x,i),&i&=3,&w_k&=1,&k=6\\ f_k&=s_2(y_i=1,x,i),&i&=1,&w_k&=0.5,&k=7\\ f_k&=s_2(y_i=1,x,i),&i&=2,&w_k&=0.5,&k=7\\ f_k&=s_2(y_i=1,x,i),&i&=3,&w_k&=0.5,&k=7\\ f_k&=s_3(y_i=1,x,i),&i&=1,&w_k&=0.8,&k=8\\ f_k&=s_3(y_i=1,x,i),&i&=2,&w_k&=0.8,&k=8\\ f_k&=s_3(y_i=1,x,i),&i&=3,&w_k&=0.8,&k=8\\ f_k&=s_4(y_i=2,x,i),&i&=1,&w_k&=0.5,&k=9\\ f_k&=s_4(y_i=2,x,i),&i&=2,&w_k&=0.5,&k=9\\ f_k&=s_4(y_i=2,x,i),&i&=3,&w_k&=0.5,&k=9 \end{aligned} fkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfkfk=t1(yi−1=1,yi=2,x,i),=t1(yi−1=1,yi=2,x,i),=t2(yi−1=1,yi=1,x,i),=t2(yi−1=1,yi=1,x,i),=t3(yi−1=2,yi=1,x,i),=t3(yi−1=2,yi=1,x,i),=t4(yi−1=2,yi=1,x,i),=t4(yi−1=2,yi=1,x,i),=t5(yi−1=2,yi=2,x,i),=t5(yi−1=2,yi=2,x,i),=s1(yi=1,x,i),=s1(yi=1,x,i),=s1(yi=1,x,i),=s2(yi=1,x,i),=s2(yi=1,x,i),=s2(yi=1,x,i),=s3(yi=1,x,i),=s3(yi=1,x,i),=s3(yi=1,x,i),=s4(yi=2,x,i),=s4(yi=2,x,i),=s4(yi=2,x,i),iiiiiiiiiiiiiiiiiiiiii=2,=3,=2,=3,=2,=3,=2,=3,=2,=3,=1,=2,=3,=1,=2,=3,=1,=2,=3,=1,=2,=3,wkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwkwk=1,=1,=0.5,=0.5,=1,=1,=1,=1,=0.2,=0.2,=1,=1,=1,=0.5,=0.5,=0.5,=0.8,=0.8,=0.8,=0.5,=0.5,=0.5,k=1k=1k=2k=2k=3k=3k=4k=4k=5k=5k=6k=6k=6k=7k=7k=7k=8k=8k=8k=9k=9k=9
这里对于 w k w_k wk的理解再体会下。
矩阵形式
针对线性链条件随机场
引入起点和终点状态标记 y 0 = s t a r t , y n + 1 = e n d y_0=start,y_{n+1}=end y0=start,yn+1=end, 这时 P w ( y ∣ x ) P_w(y|x) Pw(y∣x)可以矩阵形式表示。
对应观测序列的每个位置 i = 1 , 2 , ... , n + 1 i=1,2,\dots,\color{red}n+1 i=1,2,...,n+1,定义一个 m m m阶矩阵( m m m是标记 y i y_i yi取值的个数)
M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] M i ( y i − 1 , y i ) = exp ( W i ( y i − 1 , y i ∣ x ) ) W i ( y i − 1 , y i ∣ x ) = ∑ k = 1 K w k f k ( y i − 1 , y i ∣ x ) \begin{align} M_i(x)&=\left[M_i(y_{i-1},y_i|x)\right]\\ M_i(y_{i-1},y_i)&=\exp\left(W_i(y_{i-1},y_i|x)\right)\\ W_i(y_{i-1},y_i|x)&=\sum_{k=1}^Kw_kf_k(y_{i-1},y_i|x) \end{align} Mi(x)Mi(yi−1,yi)Wi(yi−1,yi∣x)=[Mi(yi−1,yi∣x)]=exp(Wi(yi−1,yi∣x))=k=1∑Kwkfk(yi−1,yi∣x)
把整个向量乘法按照观测位置拆成矩阵形式, 每个观测位置对应一个矩阵
这个过程和 C N N CNN CNN中的卷积实际上有点像,这里面卷积模板有两种 k × 1 k\times 1 k×1和 k × 2 k\times 2 k×2, 以1和2进行滑窗。
给定观测序列 x x x,相应的标记序列 y y y的非规范化概率可以通过该序列的 n + 1 n+1 n+1个矩阵适当元素的乘积 ∏ 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(yi−1,yi∣x)表示。于是 P w ( y ∣ x ) = 1 Z w ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) P_w(y|x)=\frac{1}{Z_w(x)}\prod_{i=1}^{n+1}M_i(y_{i-1},y_i|x) Pw(y∣x)=Zw(x)1∏i=1n+1Mi(yi−1,yi∣x)
其中, Z w Z_w Zw为规范化因子, 是 n + 1 个矩阵的乘积的 ( s t a r t , s t o p ) 元素 \color{red}是n+1个矩阵的乘积的(start,stop)元素 是n+1个矩阵的乘积的(start,stop)元素:
Z w ( x ) = ( M 1 ( x ) M 2 ( x ) ... M n + 1 ( x ) ) s t a r t , s t o p Z_w(x)=(M_1(x)M_2(x)\dots M_{n+1}(x))_{start,stop} Zw(x)=(M1(x)M2(x)...Mn+1(x))start,stop
这个式子,以及这段内容,注意下。
上面的式子展开一下,得到 n + 1 n+1 n+1个 m \color{red}m m阶矩阵
M i ( x ) = [ exp ( ∑ k = 1 K w k f k ( y i − 1 , y i ∣ x ) ) ] , i = 1 , 2 , ... , n + 1 M_i(x)=\left[\exp\left(\sum_{k=1}^Kw_kf_k(y_{i-1},y_i|x)\right)\right], i=1,2,\dots,n+1 Mi(x)=[exp(k=1∑Kwkfk(yi−1,yi∣x))],i=1,2,...,n+1
这里面, 各个位置 ( 1 , 2 , ... , n + 1 ) (1,2,\dots,n+1) (1,2,...,n+1)的随机矩阵 分别是
M 1 ( y 0 , y 1 ∣ x ) = exp ( ∑ k = 1 K w k f k ( y 0 , y 1 ∣ x ) ) = exp ( w 1 f 1 ( y 0 , y 1 ) ) exp ( w 2 f 2 ( y 0 , y 1 ) ) ... exp ( w K f K ( y 0 , y 1 ) ) M 2 ( y 1 , y 2 ∣ x ) = exp ( ∑ k = 1 K w k f k ( y 1 , y 2 ∣ x ) ) = exp ( w 1 f 1 ( y 1 , y 2 ) ) exp ( w 2 f 2 ( y 1 , y 2 ) ) ... exp ( w K f K ( y 1 , y 2 ) ) M 3 ( y 2 , y 3 ∣ x ) = exp ( ∑ k = 1 K w k f k ( y 2 , y 3 ∣ x ) ) = exp ( w 1 f 1 ( y 2 , y 3 ) ) exp ( w 2 f 2 ( y 2 , y 3 ) ) ... exp ( w K f K ( y 2 , y 3 ) ) M 4 ( y 3 , y 4 ∣ x ) = exp ( ∑ k = 1 K w k f k ( y 3 , y 4 ∣ x ) ) = exp ( w 1 f 1 ( y 3 , y 4 ) ) exp ( w 2 f 2 ( y 3 , y 4 ) ) ... exp ( w K f K ( y 3 , y 4 ) ) \begin{align} M_1(y_0,y_1|x)&=\exp\left(\sum_{k=1}^Kw_kf_k(y_0,y_1|x)\right)\nonumber\\ &=\exp (w_1f_1(y_0,y_1))\exp(w_2f_2(y_0,y_1))\dots\exp(w_Kf_K(y_0,y_1))\\ M_2(y_1,y_2|x)&=\exp\left(\sum_{k=1}^Kw_kf_k(y_1,y_2|x)\right)\nonumber\\ &=\exp (w_1f_1(y_1,y_2))\exp(w_2f_2(y_1,y_2))\dots\exp(w_Kf_K(y_1,y_2))\\ M_3(y_2,y_3|x)&=\exp\left(\sum_{k=1}^Kw_kf_k(y_2,y_3|x)\right)\nonumber\\ &=\exp (w_1f_1(y_2,y_3))\exp(w_2f_2(y_2,y_3))\dots\exp(w_Kf_K(y_2,y_3))\\ M_4(y_3,y_4|x)&=\exp\left(\sum_{k=1}^Kw_kf_k(y_3,y_4|x)\right)\nonumber\\ &=\exp (w_1f_1(y_3,y_4))\exp(w_2f_2(y_3,y_4))\dots\exp(w_Kf_K(y_3,y_4))\\ \end{align} M1(y0,y1∣x)M2(y1,y2∣x)M3(y2,y3∣x)M4(y3,y4∣x)=exp(k=1∑Kwkfk(y0,y1∣x))=exp(w1f1(y0,y1))exp(w2f2(y0,y1))...exp(wKfK(y0,y1))=exp(k=1∑Kwkfk(y1,y2∣x))=exp(w1f1(y1,y2))exp(w2f2(y1,y2))...exp(wKfK(y1,y2))=exp(k=1∑Kwkfk(y2,y3∣x))=exp(w1f1(y2,y3))exp(w2f2(y2,y3))...exp(wKfK(y2,y3))=exp(k=1∑Kwkfk(y3,y4∣x))=exp(w1f1(y3,y4))exp(w2f2(y3,y4))...exp(wKfK(y3,y4))
所以,无论特征有多少个,随机矩阵都是四个 ( n + 1 ) (n+1) (n+1)
这里还有个问题, 这个 m m m阶的矩阵是怎么来的?上面这四个表达式每一个都是 m m m阶矩阵么?
这个问题在例子11.2中展开。
概率计算
前向向量 α i ( x ) \alpha_i(x) αi(x)
- 初值
α 0 ( y ∣ x ) = { 1 , y = s t a r t 0 , o t h e r s \alpha_0(y|x)= \begin{cases} 1,&y=start \\ 0,&others \end{cases} α0(y∣x)={1,0,y=startothers - 递推
α i T ( y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) [ M i ( y i − 1 , y i ∣ x ) ] , i = 1 , 2 , ... , n + 1 \alpha_i^T(y_i|x)=\alpha_{i-1}^T(y_{i-1}|x)[M_i(y_{i-1},y_i|x)],i=1,2,\dots,n+1 αiT(yi∣x)=αi−1T(yi−1∣x)[Mi(yi−1,yi∣x)],i=1,2,...,n+1
α i ( y i ∣ x ) \alpha_i(y_i|x) αi(yi∣x)表示在位置 i i i的标记是 y i y_i yi并且到位置 i i i的前部标记序列的非规范化概率, y i y_i yi可取的值有 m m m个,所以 α i ( x ) \alpha_i(x) αi(x)是 m m m维列向量
后向向量 β i ( x ) \beta_i(x) βi(x)
- 初值
β n + 1 ( y n + 1 ∣ x ) = { 1 , y n + 1 = s t o p 0 , o t h e r s \beta_{n+1}(y_{n+1}|x)= \begin{cases} 1,&y_{n+1}=stop \\ 0,&others \end{cases} βn+1(yn+1∣x)={1,0,yn+1=stopothers - 递推
β i ( y i ∣ x ) = [ M i + 1 ( y i , y i + 1 ∣ x ) ] β i + 1 ( y i + 1 ∣ x ) , i = 1 , 2 , ... , n + 1 \beta_i(y_i|x)=[M_{i+1}(y_i,y_{i+1}|x)]\beta_{i+1}(y_{i+1}|x),i=1,2,\dots,n+1 βi(yi∣x)=[Mi+1(yi,yi+1∣x)]βi+1(yi+1∣x),i=1,2,...,n+1
β i ( y i ∣ x ) \beta_i(y_i|x) βi(yi∣x)表示在位置 i i i的标记是 y i y_i yi并且从 i + 1 i+1 i+1到 n n n的后部标记序列的非规范化概率
Z ( x ) = α n T ( x ) ⋅ 1 = 1 T ⋅ β 1 ( x ) Z(x)=\alpha_n^T(x)\cdot1=1^T\cdot\beta_1(x) Z(x)=αnT(x)⋅1=1T⋅β1(x)