节点 ν ∈ 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
Inside, Outside, 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)
将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解(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
可以抽象成上面这种形式。
上面的结构,包含了两个部分,表达式不够简单,如何落地?
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)=
上面这个红色的式子很重要,把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=
于是条件随机场可以表示为
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
)
若以
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
)
)
在参数化形式的展示中,书中的公式已经做了删减。
而实际上这里应该是展开的。
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
这里对于 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
)
把整个向量乘法按照观测位置拆成矩阵形式, 每个观测位置对应一个矩阵
这个过程和 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
)
)
所以,无论特征有多少个,随机矩阵都是四个 ( n + 1 ) (n+1) (n+1)
这里还有个问题, 这个 m m m阶的矩阵是怎么来的?上面这四个表达式每一个都是 m m m阶矩阵么?
这个问题在例子11.2中展开。
前向向量 α i ( x ) \alpha_i(x) αi(x)
α 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)
β
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)