概率图模型基础(8)——无向图模型(马尔可夫随机场-CRF的表示方法)

0. 概率图模型家族族谱

在这里插入图片描述
与族谱中几个模型的关系:

  1. 生成模型,主要是为了计算 P ( X , Y ) P(X,Y) P(X,Y)
  2. 判别模型,主要是为了计算 P ( Y ∣ X ) P(Y|X) P(YX)
    在这里插入图片描述

1. 条件随机场的定义与形式

有了马尔可夫随机场的基本知识后,来看一看它的一种典型代表:条件随机场(CRF)

1.1 定义

首先看三种链式模型
在这里插入图片描述
在上图中,设 X X X Y Y Y是随机变量,其中 X X X是观测变量, Y Y Y是目标变量(标记序列/状态序列)
其中:
(c)是我们之前提到的HMM模型。
(a)是今天的主角——CRF.中的X与Y有相同图结构的线性链条件随机场
(b)是(a)类型CRF的一个变种,也是一种条件随机场

1.1.1 CRF随机场的定义:

X \boldsymbol{X} X Y \boldsymbol{Y} Y是随机变量,其中 P ( Y ∣ X ) P(\boldsymbol{Y|X}) P(YX)是在给定 X \boldsymbol{X} X的条件下 Y \boldsymbol{Y} Y的分布,如果 Y \boldsymbol{Y} Y构成了一个马尔可夫随机场,即:
(1.1) P ( Y v ∣ X , Y w , w ≠ v ) = P ( Y v ∣ X , Y w , w ∼ v ) \begin{aligned} P(\boldsymbol{Y}_v|\boldsymbol{X},\boldsymbol{Y}_w,w \neq v)=P(\boldsymbol{Y}_v|\boldsymbol{X},\boldsymbol{Y}_w,w \sim v) \tag{1.1} \end{aligned} P(YvX,Yw,w̸=v)=P(YvX,Yw,wv)(1.1)在这里插入图片描述

1.1.2 线性链CRF的定义

1.1.2.1 第一种线性链CRF的定义

在这里插入图片描述
根据马尔可夫随机场-基本概念中的因子、MRF的概念,X与Y有相同图结构的线性链条件随机场的线性链条件随机场可以看作是:

1.1.2.2 线性链CRF的表达方式
1. 因子表示法

(1.2) P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = ∏ t = 2 T ϕ ( y t − 1 , y t , x t ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})=&\prod_{t=2}^{T}\phi(y_{t-1},y_t,x_t)\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \tag{1.2} \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)t=2Tϕ(yt1,yt,xt)YP (YX)(1.2)

2. 参数化形式

首先要明确俩个概念:

  1. 在这里,由于涉及到状态变量观测变量,我们把因子定义为:
    (1.3) ϕ ( Y t − 1 , Y t , X t ) = ϕ 1 ( Y t − 1 , Y t , X t ) ∗ ϕ 2 i ( Y t , X t ) \phi(Y_{t-1},Y_t,X_t)=\phi_1(Y_{t-1},Y_t,X_t)*\phi_2i(Y_t,X_t) \tag{1.3} ϕ(Yt1,Yt,Xt)=ϕ1(Yt1,Yt,Xt)ϕ2i(Yt,Xt)(1.3)
    其中, ϕ 1 ( Y t − 1 , Y t , X t ) \phi_1(Y_{t-1},Y_t,X_t) ϕ1(Yt1,Yt,Xt)表示转移的操作,相当于图中的边, ϕ 2 ( Y t , X t ) \phi_2(Y_t,X_t) ϕ2(Yt,Xt)表示状态的操作,相当于图中的点。
  2. 马尔可夫随机场-基本概念中提到了一种很牛逼的表示法:对数表示法

综上,我们把 P ~ ( Y ∣ X ) \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) P (YX)写成以下形式:
(1.4) P ~ ( Y ∣ X ) = exp ⁡ ( ∑ i k λ i k f i − 1 , i i k ( y i − 1 , y i , x ) + ∑ i l μ l f i − 1 , i i l ( y i , x ) ) \begin{aligned} \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) =&\exp(\sum_{ik}\lambda_{ik}f^{ik}_{i-1,i}(y_{i-1},y_i,x)+\sum_{il}\mu_lf^{il}_{i-1,i}(y_i,x))\\ \tag{1.4} \end{aligned} P (YX)=exp(ikλikfi1,iik(yi1,yi,x)+ilμlfi1,iil(yi,x))(1.4)

注:李航老师的《统计学习方法中》把特征函数定义成了以下形式,其实意思是一样的。

  1. t k t_k tk为转移特征,对应 f i − 1 , i i k ( y i − 1 , y i , x ) f^{ik}_{i-1,i}(y_{i-1},y_i,x) fi1,iik(yi1,yi,x)。取值为0或1,依赖于前一时刻当前时刻输入变量
  2. s l s_l sl为状态特征,对应 f i − 1 , i i l ( y i , x ) f^{il}_{i-1,i}(y_i,x) fi1,iil(yi,x)。取值为0或1,依赖于当前时刻输入变量
  3. λ k \lambda_k λk t k t_k tk的权值。
  4. μ l \mu_l μl s l s_l sl的权值。

P ( Y ∣ X ) P(Y|X) P(YX)为线性链条件随机场,则在随机变量 X X X取值为 x x x的条件下,随机变量Y取值为 y y y的条件概率具有如下形式:
(1.5) P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = exp ⁡ ( ∑ i k λ k t k ( y i − 1 , y i , x , i ) + ∑ i l μ l s l ( y i , x , i ) ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) =&\exp(\sum_{ik}\lambda_{k}t_k(y_{i-1},y_i,x,i)+\sum_{il}\mu_ls_l(y_i,x,i))\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \tag{1.5} \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)exp(ikλktk(yi1,yi,x,i)+ilμlsl(yi,x,i))YP (YX)(1.5)

式中, t k t_k tk s l s_l sl是特征函数, λ k \lambda_k λk μ l \mu_l μl是对应的权值, Z ( x ) Z(x) Z(x)是规范化因子,求和是在所有可能的输出序列上进行的。

举个栗子:
在这里插入图片描述
解:

i i i Y i − 1 Y_{i-1} Yi1 Y i Y_{i} Yi t t t λ \lambda λ s s s μ \mu μ
1 Y 1 = 1 Y_{1}=1 Y1=10 s 1 s_1 s11
2 Y 1 = 1 Y_{1}=1 Y1=1 Y 2 = 2 Y_{2}=2 Y2=2 t 1 t_1 t11 s 2 s_2 s20.5
3 Y 2 = 2 Y_{2}=2 Y2=2 Y 3 = 2 Y_{3}=2 Y3=2 t 5 t_5 t50.2 s 4 s_4 s40.5

在这里插入图片描述

3. 简化形式

这种表示法没有什么难以理解的,通俗的说就是做了一个列表的拼接
假设有 K 1 K_1 K1个转移特征, K 2 K_2 K2个状态特征,总的特征记为 K K K,则有 K = K 1 + K 2 K=K_1+K_2 K=K1+K2

(1.6) 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 ( s i , x , i ) l = K 1 + l ; l = 1 , 2 , . . . , K 2 f_k(y_{i-1},y_i,x,i)= \left\{\begin{matrix} t_k(y_{i-1},y_i,x,i) & k=1,2,...,K_1 \\ s_l(s_i,x,i) & l=K_1+l; l=1,2,...,K_2 \end{matrix}\right. \tag{1.6} fk(yi1,yi,x,i)={tk(yi1,yi,x,i)sl(si,x,i)k=1,2,...,K1l=K1+l;l=1,2,...,K2(1.6)
f k ( y i − 1 , y i , x , i ) f_k(y_{i-1},y_i,x,i) fk(yi1,yi,x,i)的理解:

state f 1 ( y i − 1 , y i , x , i ) f_1(y_{i-1},y_i,x,i) f1(yi1,yi,x,i) f K 1 ( y i − 1 , y i , x , i ) f_{K_1}(y_{i-1},y_i,x,i) fK1(yi1,yi,x,i) f K 1 + 1 ( y i − 1 , y i , x , i ) f_{K_1+1}(y_{i-1},y_i,x,i) fK1+1(yi1,yi,x,i) f K ( y i − 1 , y i , x , i ) f_{K}(y_{i-1},y_i,x,i) fK(yi1,yi,x,i)
t 1 ( y i − 1 , y i , x , i ) t_1(y_{i-1},y_i,x,i) t1(yi1,yi,x,i) t K 1 ( y i − 1 , y i , x , i ) t_{K_1}(y_{i-1},y_i,x,i) tK1(yi1,yi,x,i) s 1 ( y i , x , i ) s_1(y_i,x,i) s1(yi,x,i) s l ( y i , x , i ) s_l(y_i,x,i) sl(yi,x,i)
i=1
i=2
i=n

所以,有 n n n个状态的线性链CRF可以表示为:
(1.7) f ( x , y ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k = 1 , 2 , . . . , K \begin{aligned} f(x,y)=\sum_{i=1}^{n}f_k(y_{i-1},y_i,x,i) , k=1,2,...,K \tag{1.7} \end{aligned} f(x,y)=i=1nfk(yi1,yi,x,i),k=1,2,...,K(1.7)
同样的,将转移特征状态特征的权重也做上述类似处理有:
(1.8) w k = { λ k k = 1 , 2 , . . . . , K 1 μ l l = K 1 + l ; l = 1 , 2 , . . . , K 2 w_k= \left\{\begin{matrix} \lambda_k & k=1,2,....,K_1\\ \mu_l & l=K_1+l; l=1,2,...,K_2 \end{matrix}\right. \tag{1.8} wk={λkμlk=1,2,....,K1l=K1+l;l=1,2,...,K2(1.8)
w k w_k wk的理解:

w 1 w_1 w1 w k w_k wk w k + 1 w_{k+1} wk+1 w K w_K wK
λ 1 \lambda_1 λ1 λ K 1 \lambda_{K_1} λK1 μ 1 \mu_1 μ1 μ l \mu_l μl

综上所述:
(1.9) P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = exp ⁡ ( ∑ k = 1 K w k f k ( y , x ) ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})=&\exp(\sum_{k=1}^Kw_kf_k(y,x))\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \tag{1.9} \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)exp(k=1Kwkfk(y,x))YP (YX)(1.9)

公式(1.8)中, w w w表示权值向量:
w = ( w 1 , w 2 , . . . , w K ) T \boldsymbol{w}=(w_1,w_2,...,w_K)^T w=(w1,w2,...,wK)T
公式(1.8)中, F ( y , x ) F(y,x) F(y,x)表示全局特征向量
F ( y , x ) = ( f 1 ( y , x ) , f x ( y , x ) , . . , f k ( y , x ) ) T \boldsymbol{F}(y,x)=(f_1(y,x),f_x(y,x),..,f_k(y,x))^T F(y,x)=(f1(y,x),fx(y,x),..,fk(y,x))T
所以,条件随机场写成 w \boldsymbol{w} w F ( y , x ) \boldsymbol{F}(y,x) F(y,x)的內积的形式有:
(1.10) P w ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = exp ⁡ ( w F ( y , x ) ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P_w(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})=&\exp(\boldsymbol{w}\boldsymbol{F}(y,x))\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \tag{1.10} \end{aligned} Pw(YX)=P (YX)=Z(X)=Z(X)1P (YX)exp(wF(y,x))YP (YX)(1.10)

4. 矩阵形式

在理解矩阵形式之前,需要换一个角度去思考:

  • 简化形式中,把特征表达为向量的形式。
  • 矩阵形式中,把状态表达为矩阵的形式。

同样的,回到CRF的定义:
(1.5) P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = exp ⁡ ( ∑ i k λ k t k ( y i − 1 , y i , x , i ) + ∑ i l μ l s l ( y i , x , i ) ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) =&\exp(\sum_{ik}\lambda_{k}t_k(y_{i-1},y_i,x,i)+\sum_{il}\mu_ls_l(y_i,x,i))\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \tag{1.5} \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)exp(ikλktk(yi1,yi,x,i)+ilμlsl(yi,x,i))YP (YX)(1.5)
对于 P ~ ( Y ∣ X ) \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) P (YX)来说,如果从每个状态转移的角度去看,会发现存在这样一个问题,那就是开始状态结束状态二者相对于中间状态都少了一个来源去处。因此,引入特殊的起点和终点状态标记 y 0 = s t a r t y_0=start y0=start y 1 = s t o p y_1=stop y1=stop

那么,就可以列举出 n + 1 n+1 n+1转移矩阵。其中,每个转移状态所“携带的概率” 应该为所有特征函数在该状态上所有取值的和,也就是转移矩阵,记为 W i ( y i − 1 , y i ∣ x ) W_i(y_{i-1},y_i|x) Wi(yi1,yix),其取对数的结果记为 M i M_i Mi

(1.11) W i ( y i − 1 , y i ∣ x ) = ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) W_i(y_{i-1},y_i|x)=\sum_{k=1}^Kw_kf_k(y_{i-1},y_i,x,i) \tag{1.11} Wi(yi1,yix)=k=1Kwkfk(yi1,yi,x,i)(1.11)
所以,另 M i ( y i − 1 , y i ∣ x ) M_i(y_{i-1},y_i|x) Mi(yi1,yix)为:
(1.12) M i ( y i − 1 , y i ∣ x ) = exp ⁡ ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) M_i(y_{i-1},y_i|x)=\exp(\sum_{k=1}^Kw_kf_k(y_{i-1},y_i,x,i)) \tag{1.12} Mi(yi1,yix)=exp(k=1Kwkfk(yi1,yi,x,i))(1.12)
则矩阵 M i M_i Mi为:
(1.13) M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] M_i(x)=[M_i(y_{i-1},y_i|x)] \tag{1.13} Mi(x)=[Mi(yi1,yix)](1.13)
于是有:
(1.5) P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) Z ( X ) = ( M 1 ( x ) M 2 ( x ) . . . M n + 1 ( x ) ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) =&\prod_{i=1}^{n+1}M_i(y_{i-1},y_i|x)\\ Z(\boldsymbol{X})=&(M_1(x)M_2(x)...M_{n+1}(x)) \tag{1.5} \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)i=1n+1Mi(yi1,yix)(M1(x)M2(x)...Mn+1(x))(1.5)

举个栗子:

在这里插入图片描述
在这里插入图片描述
解答:
对于状态 i 1 , i 2 , i 3 i_1,i_2,i_3 i1,i2,i3 y 1 , y 2 , y 3 y_1,y_2,y_3 y1,y2,y3的取值均可以为 1 , 2 1, 2 1,2

记由状态 s t a r t start start到状态 i 1 i_1 i1中, y 1 = 1 , y 1 = 2 y_1=1, y_1=2 y1=1,y1=2的概率分别为 a 01 , a 02 a_{01},a_{02} a01,a02,以此类推,于是有:

【机器学习】【条件随机场CRF-1】CRF的矩阵形式表示的示例讲解 + Python实现
在这里插入图片描述

解疑:为什么矩阵 M i M_i Mi的连乘为 Z ( X ) Z(\boldsymbol{X}) Z(X)?
矩阵 M i M_i Mi其实是各个状态转移概率所构成的矩阵,在矩阵的连乘过程中,实际上完成了对所有可能的输出序列上的求和操作。
这也是上述例题第1行第1列的元素为所有路径的非规范化概率之和的原因。

1.1.2.2 第二种线性链CRF的定义(X、Y具有相同结构)

拥有 T − 1 T-1 T1 Y t − Y t + 1 Y_t-Y_{t+1} YtYt+1条边和 T T T Y t − X t Y_t-X_{t} YtXt的一个条件随机场,该网络的分布表示为:
P ( Y ∣ X ) = 1 Z ( X ) P ~ ( Y ∣ X ) P ~ ( Y ∣ X ) = ∏ t = 1 T − 1 ϕ ( Y t , Y t + 1 ) ∏ t = 1 T ϕ ( Y t , X t ) Z ( X ) = ∑ Y P ~ ( Y ∣ X ) \begin{aligned} P(\boldsymbol{Y}|\boldsymbol{X})=&\frac{1}{Z(\boldsymbol{X})}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})\\ \widetilde{P}(\boldsymbol{Y}|\boldsymbol{X})=&\prod_{t=1}^{T-1}\phi(Y_t,Y_{t+1})\prod_{t=1}^{T}\phi(Y_t,X_t)\\ Z(\boldsymbol{X})=&\sum_{\boldsymbol{Y}}\widetilde{P}(\boldsymbol{Y}|\boldsymbol{X}) \end{aligned} P(YX)=P (YX)=Z(X)=Z(X)1P (YX)t=1T1ϕ(Yt,Yt+1)t=1Tϕ(Yt,Xt)YP (YX)

2. 参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值