对条件随机场CRF(Conditional Random Field)的理解

    技术2022-07-13  185

    目录

    一、图的定义二、三个性质1. 成对的马尔科夫性2. 局部的马尔科夫性3. 全局的马尔科夫性 三、团的定义四、概率无向图模型(马尔科夫随机场)五、条件随机场六、线性条件随机场线性条件随机场的定义例子

    一、图的定义

    我们用 G G G代表图,图是由结点和边组成,即: G = ( V , E ) G = (V,E) G=(V,E),其中 V V V代表结点的结合, E E E代表边的结合。 例如上图 G G G中:

    V V V由结点a、结点b、结点c、结点d组成,即: V = { a , b , c , d } V ={a,b,c,d} V={a,b,c,d} E E E由边ab、边ac、边bd、边cd组成,即: E = { e a b , e a c , e b d , e c d } E ={e_{ab},e_{ac},e_{bd},e_{cd}} E={eab​,eac​,ebd​,ecd​}

    在CRF中,每一个结点代表一个随机变量,每条边代表变量之间的一种依赖关系。在CRF中,只研究无向图,也就是边上没有箭头。

    二、三个性质

    在马尔科夫随机场中,随机变量(结点)需要满足以下三个性质,即成对的马尔科夫性、局部的马尔科夫性、全局的马尔科夫性,接下来依次介绍。

    1. 成对的马尔科夫性

    如图,假设随机变量 v v v和随机变量 w w w之间是没有关系的(也就是 v v v和 w w w之间没有边直接相连),其他的除了 v v v和 w w w之外的随机变量,用 o o o来表示。那么成对的马尔科夫性就可以表示成以下的公式: P ( Y v , Y w ∣ Y o ) = P ( Y v ∣ Y o ) ⋅ P ( Y w ∣ Y o ) P(Y_{v},Y_{w} | Y_{o}) = P(Y_{v} | Y_{o}) · P(Y_{w} | Y_{o}) P(Yv​,Yw​∣Yo​)=P(Yv​∣Yo​)⋅P(Yw​∣Yo​)在随机变量 o o o的条件下 v 和 w v和w v和w的联合概率等于在 o o o的条件下 v v v的概率乘以在 o o o的条件下 w w w的概率。也就是说随机变量 v v v和随机变量 w w w在随机变量 o o o的条件下,是相互独立的,因为它们没有边直接相连,这就是成对马尔科夫性的意思。

    2. 局部的马尔科夫性

    如图,假设随机变量 v v v和随机变量 o o o之间是没有关系的(也就是 v v v和 o o o之间没有边直接相连),其他的除了 v v v和 o o o之外的随机变量是 w w w。那么局部的马尔科夫性就可以表示成以下的公式: 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​)在随机变量 w w w的条件下 v 和 o v和o v和o的联合概率等于在 w w w的条件下 v v v的概率乘以在 w w w的条件下 o o o的概率。也就是说随机变量 v v v和随机变量 o o o在随机变量 w w w的条件下,是相互独立的,因为它们没有边直接相连,这就是局部马尔科夫性的意思。

    3. 全局的马尔科夫性

    如图,可以看到 A A A集合的随机变量 a 1 a_{1} a1​、 a 2 a_{2} a2​与 B B B集合的随机变量 b 1 b_{1} b1​、 b 2 b_{2} b2​、 b 3 b_{3} b3​没有任何关系,也就是 A A A和 B B B中的随机变量彼此之间没有边直接相连,被 C C C在中间隔开了。那么全局的马尔科夫性就可以表示成以下的公式: 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​)在随机变量 C C C的条件下 A 和 B A和B A和B的联合概率等于在 C C C的条件下 A A A的概率乘以在 C C C的条件下 B B B的概率。也就是说随机变量 A A A和随机变量 B B B在随机变量 C C C的条件下,是相互独立的,因为它们没有边直接相连,这就是全局马尔科夫性的意思。

    如果一个图 G G G中的随机变量(结点)满足以上三个性质,则称之为概率无向图模型,也叫做马尔科夫随机场。 (以上三个性质可以相互推导)

    三、团的定义

    在一个无向图中,任意两个随机变量,它们之间都有边相连,这个图就称为一个团。例如: 以上的图中存在的团有:

    两个随机变量的: ( Y 1 , Y 2 ) ( Y 1 , Y 3 ) ( Y 2 , Y 3 ) ( Y 2 , Y 4 ) ( Y 3 , Y 4 ) (Y_{1},Y_{2})(Y_{1},Y_{3})(Y_{2},Y_{3})(Y_{2},Y_{4})(Y_{3},Y_{4}) (Y1​,Y2​)(Y1​,Y3​)(Y2​,Y3​)(Y2​,Y4​)(Y3​,Y4​)三个随机变量的: ( Y 1 , Y 2 , Y 3 ) ( Y 2 , Y 3 , Y 4 ) (Y_{1},Y_{2},Y_{3})(Y_{2},Y_{3},Y_{4}) (Y1​,Y2​,Y3​)(Y2​,Y3​,Y4​)

    我们发现 Y 1 和 Y 4 Y_{1}和Y_{4} Y1​和Y4​构不成团,它们之间没有边相连,同理 Y 1 Y 2 Y 3 Y 4 Y_{1}Y_{2}Y_{3}Y_{4} Y1​Y2​Y3​Y4​也构不成团,也是因为 Y 1 和 Y 4 Y_{1}和Y_{4} Y1​和Y4​之间没有边相连。

    最大团定义:一个团中随机变量数目已经是最多的,如果再加一个随机变量,它就不能再构成一个团了。

    上面的例子的最大团就是 ( Y 1 , Y 2 , Y 3 ) ( Y 2 , Y 3 , Y 4 ) (Y_{1},Y_{2},Y_{3})(Y_{2},Y_{3},Y_{4}) (Y1​,Y2​,Y3​)(Y2​,Y3​,Y4​) 2个, ( Y 1 , Y 2 , Y 3 ) (Y_{1},Y_{2},Y_{3}) (Y1​,Y2​,Y3​)中如果加入 Y 4 Y_{4} Y4​,便构不成团了, Y 1 和 Y 4 Y_{1}和Y_{4} Y1​和Y4​之间没有边相连,所以只能是 ( Y 1 , Y 2 , Y 3 ) (Y_{1},Y_{2},Y_{3}) (Y1​,Y2​,Y3​)。

    四、概率无向图模型(马尔科夫随机场)

    概率无向图模型的联合概率分布可分解为在最大团上的随机变量函数 ψ ( ) \psi() ψ()的乘积,表示为以下形式: P ( Y ) = 1 Z ⋅ ∏ C ψ C ( Y C ) P(Y) = \dfrac{1}{Z} · \prod_{C} \psi_{C}(Y_{C}) P(Y)=Z1​⋅C∏​ψC​(YC​)

    C C C代表的就是每一个最大团,在上节例子中也就是 ( Y 1 , Y 2 , Y 3 ) ( Y 2 , Y 3 , Y 4 ) (Y_{1},Y_{2},Y_{3})(Y_{2},Y_{3},Y_{4}) (Y1​,Y2​,Y3​)(Y2​,Y3​,Y4​) ψ C ( Y C ) \psi_{C}(Y_{C}) ψC​(YC​)代表最大团的随机变量函数,上节例子中有2个最大团,也就有2个最大团的随机变量函数 ∏ C \prod_{C} ∏C​代表对最大团的随机变量函数作累乘 Z Z Z代表的是规范化因子,为了让 P ( Y ) P(Y) P(Y)满足一个概率,公式如下: Z = ∑ Y ∏ C ψ C ( Y C ) Z = \sum_{Y} \prod_{C} \psi_{C}(Y_{C}) Z=Y∑​C∏​ψC​(YC​)

    五、条件随机场

    设 X 和 Y X和Y X和Y是随机变量, P ( Y ∣ X ) P(Y | X) P(Y∣X)是给定 X X X的条件下 Y Y Y的条件概率分布,若随机变量 Y Y Y构成一个由无向图 G = ( V , E ) G = (V,E) G=(V,E)表示的马尔科夫随机场,也就满足3个性质,如图:

    若以下公式 P ( Y v ∣ X , Y w , w ≠ v ) = P ( Y v ∣ X , Y w , w ≈ v ) P(Y_{v} | X,Y_{w},w\neq v) = P(Y_{v} | X,Y_{w},w\approx v) P(Yv​∣X,Yw​,w​=v)=P(Yv​∣X,Yw​,w≈v)

    对任意的随机变量 v v v成立,则称 P ( Y ∣ X ) P(Y | X) P(Y∣X)为条件随机场。

    X , Y w , w ≠ v X,Y_{w},w\neq v X,Yw​,w​=v 代表的就是给定 X X X,给定除 v v v随机变量以外的其他所有随机变量,图中黄线所画的 X , Y w , w ≈ v X,Y_{w},w\approx v X,Yw​,w≈v 代表的就是给定 X X X,给定跟 v v v随机变量直接相连的随机变量,图中黑线所画的

    等式的意思就是, v v v的条件概率分布在以下两个条件中,随机变量的概率分布是一样的

    给定 X X X,给定除 v v v以外的其他所有随机变量给定 X X X,给定跟 v v v直接相连的随机变量

    补充: 很显然,我们发现以上的公式用到了局部的马尔科夫性如下: 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​)上面公式中 v 和 o v和o v和o条件独立,也就是两者没有边直接相连,看图也可以看出来,这样我们就能推出来: P ( Y v ∣ Y w , Y o ) = P ( Y v ∣ Y w ) P(Y_{v} | Y_{w},Y_{o}) = P(Y_{v} | Y_{w}) P(Yv​∣Yw​,Yo​)=P(Yv​∣Yw​) 因为 v 和 o v和o v和o条件独立,所以求 v v v的概率去掉 o o o条件不会产生任何影响。 Y w , Y o Y_{w},Y_{o} Yw​,Yo​条件并在一起就是不是 v v v随机变量的情况下 v v v的概率就等于只与 v v v相连的随机变量的情况下 v v v的概率。


    六、线性条件随机场

    设 X = ( X 1 , X 2 , . . . , X n ) 表 示 观 测 序 列 , Y = ( Y 1 , Y 2 , . . . , Y n ) X = (X_{1},X_{2},...,X_{n})表示观测序列,Y=(Y_{1},Y_{2},...,Y_{n}) X=(X1​,X2​,...,Xn​)表示观测序列,Y=(Y1​,Y2​,...,Yn​)表示状态序列, X Y X Y XY均为线性链表示的随机变量序列,若给定随机变量序列 X X X的条件下,随机变量序列 Y Y Y的条件概率分布 P ( Y ∣ X ) P(Y | X) P(Y∣X)构成条件随机场,即满足马尔科夫性质: P ( Y i ∣ X , Y 1 , Y 2 , . . . , Y n ) = P ( Y i ∣ X , Y i − 1 , Y i + 1 ) P(Y_{i} | X,Y_{1},Y_{2},...,Y_{n}) = P(Y_{i} | X,Y_{i-1},Y_{i+1}) P(Yi​∣X,Y1​,Y2​,...,Yn​)=P(Yi​∣X,Yi−1​,Yi+1​)则称 P ( Y ∣ X ) P(Y | X) P(Y∣X)为线性条件随机场。

    i i i 取值1到n因为是线性的,所以跟 Y i Y_{i} Yi​相连的有 Y i − 1 和 Y i + 1 Y_{i-1}和Y_{i+1} Yi−1​和Yi+1​给定 X 和 ( Y 1 , Y 2 , . . . , Y n ) X和(Y_{1},Y_{2},...,Y_{n}) X和(Y1​,Y2​,...,Yn​)的条件下 Y i Y_{i} Yi​的概率等于给定 X 、 Y i − 1 、 Y i + 1 X、Y_{i-1}、Y_{i+1} X、Yi−1​、Yi+1​的条件下的概率

    一般研究的序列标注任务,不说明这个链是什么的情况下,默认指的就是线性条件随机场。

    线性条件随机场的定义

    以下是线性条件随机场的参数化形式,设 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 ( x ) ⋅ e x p ( ∑ i , k λ k ⋅ t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l ⋅ s l ( y i , x , i ) ) P(y | x) = \dfrac{1}{Z(x)} · exp(\sum_{i,k}\lambda_{k} · t_{k}(y_{i-1},y_{i},x,i) + \sum_{i,l}\mu_{l} · s_{l}(y_{i},x,i)) P(y∣x)=Z(x)1​⋅exp(i,k∑​λk​⋅tk​(yi−1​,yi​,x,i)+i,l∑​μl​⋅sl​(yi​,x,i)) Z ( x ) = ∑ y e x p ( ∑ 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} exp(\sum_{i,k}\lambda_{k} · t_{k}(y_{i-1},y_{i},x,i) + \sum_{i,l}\mu_{l} · s_{l}(y_{i},x,i)) Z(x)=y∑​exp(i,k∑​λk​⋅tk​(yi−1​,yi​,x,i)+i,l∑​μl​⋅sl​(yi​,x,i))

    Z ( x ) Z(x) Z(x)代表规范化因子,就是序列 y y y的每一种可能性求和 t k ( y i − 1 , y i , x , i ) t_{k}(y_{i-1},y_{i},x,i) tk​(yi−1​,yi​,x,i)代表边的特征函数(从 y i − 1 到 y i y_{i-1}到y_{i} yi−1​到yi​的边上的一个特征),称为状态转移, λ k \lambda_{k} λk​代表参数 ∑ i , k \sum_{i,k} ∑i,k​中 k k k代表的是状态转移特征个数, i i i代表的是当前结点 s l ( y i , x , i ) s_{l}(y_{i},x,i) sl​(yi​,x,i)代表结点的特征函数(结点 y i y_{i} yi​上的一个特征),称为观测状态特征, μ l \mu_{l} μl​代表参数 ∑ i , l \sum_{i,l} ∑i,l​中 k k k代表的是观测状态特征个数, i i i代表的是当前结点 e x p ( ) exp() exp()代表以e为底的函数跟 y i y_{i} yi​组成最大团的是 y i − 1 y_{i-1} yi−1​,所以计算 y i − 1 , y i y_{i-1},y_{i} yi−1​,yi​边上关系

    例子

    设有一标注问题,输入观测序列为 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 2 , Y 3 Y_{1},Y_{2},Y_{3} Y1​,Y2​,Y3​取值于y = { 1, 2}, 假定特征函数的值都为1,即 t 1 = t 2 = . . . = t 5 = 1 t_{1}=t_{2}=...=t_{5}=1 t1​=t2​=...=t5​=1, s 1 = s 2 = s 3 = s 4 = 1 s_{1}=s_{2}=s_{3}=s_{4}=1 s1​=s2​=s3​=s4​=1

    已知条件:

    状态转移特征:

    t 1 ( y 1 = 1 , y 2 = 2 , X , i = 2 ) t_{1}(y_{1}=1,y_{2}=2,X,i=2) t1​(y1​=1,y2​=2,X,i=2) λ 1 = 1 \lambda_{1} = 1 λ1​=1 t 1 ( y 2 = 1 , y 3 = 2 , X , i = 3 ) t_{1}(y_{2}=1,y_{3}=2,X,i=3) t1​(y2​=1,y3​=2,X,i=3) λ 1 = 1 \lambda_{1} = 1 λ1​=1 t 2 ( y 1 = 1 , y 2 = 1 , X , i = 2 ) t_{2}(y_{1}=1,y_{2}=1,X,i=2) t2​(y1​=1,y2​=1,X,i=2) λ 2 = 0.6 \lambda_{2} = 0.6 λ2​=0.6 t 3 ( y 2 = 2 , y 3 = 1 , X , i = 3 ) t_{3}(y_{2}=2,y_{3}=1,X,i=3) t3​(y2​=2,y3​=1,X,i=3) λ 3 = 1 \lambda_{3} = 1 λ3​=1 t 4 ( y 1 = 2 , y 2 = 1 , X , i = 2 ) t_{4}(y_{1}=2,y_{2}=1,X,i=2) t4​(y1​=2,y2​=1,X,i=2) λ 4 = 1 \lambda_{4} = 1 λ4​=1 t 5 ( y 2 = 2 , y 3 = 2 , X , i = 3 ) t_{5}(y_{2}=2,y_{3}=2,X,i=3) t5​(y2​=2,y3​=2,X,i=3) λ 5 = 0.2 \lambda_{5} = 0.2 λ5​=0.2

    观测状态特征:

    s 1 ( y 1 = 1 , X , i = 1 ) s_{1}(y_{1}=1,X,i=1) s1​(y1​=1,X,i=1) μ 1 = 1 \mu_{1}=1 μ1​=1 s 2 ( y i = 2 , X , i ) 其 中 i 取 值 { 1 , 2 } s_{2}(y_{i}=2,X,i) 其中i取值 \{1,2\} s2​(yi​=2,X,i)其中i取值{1,2} μ 2 = 0.5 \mu_{2}=0.5 μ2​=0.5 s 3 ( y i = 1 , X , i ) 其 中 i 取 值 { 2 , 3 } s_{3}(y_{i}=1,X,i) 其中i取值 \{2,3\} s3​(yi​=1,X,i)其中i取值{2,3} μ 3 = 0.8 \mu_{3}=0.8 μ3​=0.8 s 4 ( y 3 = 2 , X , i = 3 ) s_{4}(y_{3}=2,X,i=3) s4​(y3​=2,X,i=3) μ 4 = 0.5 \mu_{4}=0.5 μ4​=0.5

    由已知条件,状态转移特征有5个,观测状态特征有4个,对给定的观测序列 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)的非规范化条件概率(也就是没有 Z ( x ) Z(x) Z(x)这一项), ∝ \propto ∝代表近似:

    P ( y ∣ x ) ∝ e x p ( ∑ k = 1 5 λ k ⋅ ∑ i = 2 3 ⋅ t k ( y i − 1 , y i , x , i ) + ∑ l = 1 4 μ l ⋅ ∑ i = 1 3 ⋅ s l ( y i , x , i ) ) P(y | x) \propto exp(\sum_{k=1}^{5}\lambda_{k} · \sum_{i=2}^{3}· t_{k}(y_{i-1},y_{i},x,i) + \sum_{l=1}^{4}\mu_{l} · \sum_{i=1}^{3} · s_{l}(y_{i},x,i)) P(y∣x)∝exp(k=1∑5​λk​⋅i=2∑3​⋅tk​(yi−1​,yi​,x,i)+l=1∑4​μl​⋅i=1∑3​⋅sl​(yi​,x,i)) 我们找到所有满足序列 ( 1 , 2 , 2 ) (1,2,2) (1,2,2)的情况:

    当 i = 2 , y 1 = 1 , y 2 = 2 , k = 1 时 i=2,y_{1}=1,y_{2}=2,k=1时 i=2,y1​=1,y2​=2,k=1时: 1 · 1 = 1 当 i = 3 , y 2 = 2 , y 3 = 2 , k = 5 时 i=3,y_{2}=2,y_{3}=2,k=5时 i=3,y2​=2,y3​=2,k=5时: 0.2 · 1 = 0.2

    当 i = 1 , y 1 = 1 , l = 1 时 i=1,y_{1}=1,l=1时 i=1,y1​=1,l=1时: 1 · 1 = 1 当 i = 2 , y 2 = 2 , l = 2 时 i=2,y_{2}=2,l=2时 i=2,y2​=2,l=2时: 0.5 · 1 = 0.5 当 i = 3 , y 3 = 2 , l = 4 时 i=3,y_{3}=2,l=4时 i=3,y3​=2,l=4时: 0.5 · 1 = 0.5

    所有情况加起来:1+0.2+1+0.5+0.5 = 3.2 P ( y ∣ x ) ∝ e x p ( 3.2 ) P(y | x) \propto exp(3.2) P(y∣x)∝exp(3.2)

    ( Y 1 , Y 2 , Y 3 ) (Y_{1},Y_{2},Y_{3}) (Y1​,Y2​,Y3​)分别都有{1,2}两种可取值,所以总共有2·2·2=8种取值方式,将每种取值的情况 P ( y ∣ x ) P(y | x) P(y∣x)加起来就是 Z ( x ) Z(x) Z(x),然后代入公式 P ( y ∣ x ) = 1 Z ( x ) ⋅ e x p ( ∑ i , k λ k ⋅ t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l ⋅ s l ( y i , x , i ) ) P(y | x) = \dfrac{1}{Z(x)} · exp(\sum_{i,k}\lambda_{k} · t_{k}(y_{i-1},y_{i},x,i) + \sum_{i,l}\mu_{l} · s_{l}(y_{i},x,i)) P(y∣x)=Z(x)1​⋅exp(i,k∑​λk​⋅tk​(yi−1​,yi​,x,i)+i,l∑​μl​⋅sl​(yi​,x,i))中,便得到条件随机场的最终的结果。

    Processed: 0.009, SQL: 9