Log-Linear Model是一种判别式模型算法的创建框架,它并不指某种特定的模型、它指的是一类模型。
1. 定义
设模型预测共考虑
J
J
J 种特征,
j
=
1
,
2
,
⋯
,
J
j=1,2, \cdots, J
j=1,2,⋯,J;
w
j
w_j
wj 表示模型对第
j
j
j 种特征的参数,其取值在模型训练过程中估计得到;
F
j
(
X
,
y
)
F_j(X, y)
Fj(X,y) 表示模型第
j
j
j 种特征的特征函数(feature function),它表达特征
X
X
X 和标签
y
y
y 之间的一些关系,其因变量为用于模型预测的第
j
j
j 个特征;
Z
(
X
,
W
)
Z(X,W)
Z(X,W) 表示模型特征预测值的归一化系数,它被称作 normalization term 或 partion function。在此条件下,模型的目标函数可表示成如下所示:
P
(
y
∣
X
;
W
)
=
e
x
p
[
∑
j
=
1
J
w
j
F
j
(
X
,
y
)
]
Z
(
X
,
W
)
(1)
P(y|\ X;W) = \frac{exp[\sum_{j=1}^{J} w_jF_j(X, y)]}{Z(X,W)} \tag{1}
P(y∣ X;W)=Z(X,W)exp[∑j=1JwjFj(X,y)](1)
模型中,每种特征的特征函数(feature function)由人工设定,给定不同的特征函数可以衍生出不同种类的模型,创建 feature function 是一个特征工程的过程。当人工给定 feature function 时,是一机器学习过程,当通过自动特征机制给定 feature function 时,是深度学习过程。
Z ( X , W ) Z(X,W) Z(X,W) 等于标签所有可能类别的分子项之和,即 Z ( X , W ) = ∑ i = 1 C e x p [ ∑ j = 1 J w j F j ( X , y = c i ) ] Z(X,W) = \sum_{i=1}^{C}exp[\sum_{j=1}^{J} w_jF_j(X, y = c_i)] Z(X,W)=∑i=1Cexp[∑j=1JwjFj(X,y=ci)],其作用是将分子项归一化,令分数式结果满足条件概率性质。
2. 衍生模型
2.1 衍生逻辑回归模型
设所有可能的标签的集合为 C = { c 1 , c 2 , ⋯ , c N } C = \{c_1, c_2, \cdots, c_N\} C={c1,c2,⋯,cN}、输入特征 X X X 是一个长度为 J J J 的向量 X = ( x 1 , x 2 , ⋯ , x d ) X=(x_1, x_2, \cdots, x_d) X=(x1,x2,⋯,xd)。那么给定 F j ( X , y ) = x j ⋅ I ( y = c i ) F_j(X, y) = x_j \cdot I(y=c_i) Fj(X,y)=xj⋅I(y=ci), I ( y = c i ) I(y=c_i) I(y=ci) 是 indicator function,当 y = c i y=c_i y=ci 时 indicator function 的值为1,否则为0。所以,得到模型目标函数为:
P ( y = c i ∣ X ; W ) = e x p [ ∑ j = 1 + d ( i − 1 ) d + d ( i − 1 ) w j x j − d ( i − 1 ) ] ∑ i = 1 C e x p [ ∑ j = 1 + d ( i − 1 ) d + d ( i − 1 ) w j x j − d ( i − 1 ) ] (2) P(y=c_i|\ X;W) = \frac{ exp \begin{bmatrix} \sum_{j=1 + d(i-1)}^{d+d(i-1)} w_jx_{j-d(i-1)} \end{bmatrix} }{ \sum_{i=1}^{C} exp \begin{bmatrix} \sum_{j=1 + d(i-1)}^{d+d(i-1)} w_jx_{j-d(i-1)} \end{bmatrix} } \tag{2} P(y=ci∣ X;W)=∑i=1Cexp[∑j=1+d(i−1)d+d(i−1)wjxj−d(i−1)]exp[∑j=1+d(i−1)d+d(i−1)wjxj−d(i−1)](2)
式中模型参数 w j ∈ R 3 d wj \in R^{3d} wj∈R3d,参数向量 W = ( w 1 , w 2 , ⋯ , w d , w d + 1 , ⋯ , w 2 d , ⋯ , w 1 + d ( C − 1 ) , ⋯ , w d + d ( C − 1 ) ) W = (w_1, w_2, \cdots, w_d, w_{d+1}, \cdots, w_{2d}, \cdots,w_{1+d(C-1), \cdots, w_{d+ d(C-1)}}) W=(w1,w2,⋯,wd,wd+1,⋯,w2d,⋯,w1+d(C−1),⋯,wd+d(C−1));我们将参数向量中的子向量 ( w 1 + d ( i − 1 ) , ⋯ , w d + d ( i − 1 ) ) (w_{1 + d(i-1)}, \cdots, w_{d + d(i-1)}) (w1+d(i−1),⋯,wd+d(i−1)) 记作 W i W_{i} Wi,所以参数向量可改写成 W = ( W 1 , W 2 , ⋯ , W C ) W=(W_{1}, W_{2}, \cdots, W_{C}) W=(W1,W2,⋯,WC),将其带入 式 ( 2 ) 式(2) 式(2)后可将模型目标函数简写为:
P
(
y
=
c
i
∣
X
;
W
)
=
e
x
p
[
W
i
T
⋅
X
]
∑
i
=
1
C
e
x
p
[
W
i
T
⋅
X
]
(3)
P(y=c_i|\ X;W) = \frac{ exp [W_{i}^T \cdot X] }{ \sum_{i=1}^{C} exp [W_{i}^T \cdot X] } \tag{3}
P(y=ci∣ X;W)=∑i=1Cexp[WiT⋅X]exp[WiT⋅X](3)
显然,
式
(
3
)
式(3)
式(3) 等价于
P
(
y
∣
X
;
W
)
=
S
o
f
t
m
a
x
(
W
T
X
)
P(y|\ X;W) = Softmax(W^TX)
P(y∣ X;W)=Softmax(WTX);至此,我们由 Log-Linear Model 衍生出了多分类逻辑回归模型(Multinomial Logistic Regression)。
2.2 衍生CRF模型
同理,设 X ˉ \bar{X} Xˉ 是一个长度为 T T T 的可观测特征序列, y ˉ \bar{y} yˉ 是其对应的标签序列,若给定 F j ( X , y ) = ∑ t = 2 T f t ( y t − 1 , y t , X ˉ , t ) F_j(X, y) = \sum_{t=2}^{T} f_t(y_{t-1}, y_t, \bar{X}, t) Fj(X,y)=∑t=2Tft(yt−1,yt,Xˉ,t) ,则可得到 Linera CRF 模型的目标函数:
P ( y ˉ ∣ X ˉ ; W ) = 1 Z ( X , W ) e x p [ ∑ t = 2 T f t ( y t − 1 , y t , X ˉ , t ) ] (4) P(\bar{y}|\ \bar{X};W) = \frac{1}{Z(X,W)}exp \begin{bmatrix} \sum_{t=2}^{T} f_t(y_{t-1}, y_t, \bar{X}, t) \end{bmatrix} \tag{4} P(yˉ∣ Xˉ;W)=Z(X,W)1exp[∑t=2Tft(yt−1,yt,Xˉ,t)](4)
3. 参数估计方法
概率模型的目的是最大化标签在特征条件下的概率分布
P
(
y
∣
X
;
W
)
P(y | X; W)
P(y∣X;W)。所以模型参数的极大似然估计为:
w
^
j
=
arg max
w
j
P
(
y
∣
X
;
W
)
=
arg max
w
j
e
x
p
[
∑
j
=
1
J
w
j
F
j
(
X
,
y
)
]
Z
(
X
,
W
)
(5)
\hat{w}_j = \argmax_{w_j} P(y|\ X; W) = \argmax_{w_j} \frac{exp[\sum_{j=1}^{J} w_jF_j(X, y)]}{Z(X,W)} \tag{5}
w^j=wjargmaxP(y∣ X;W)=wjargmaxZ(X,W)exp[∑j=1JwjFj(X,y)](5)
因为对数在定义域上单调递增,所以用其简化
P
(
y
∣
X
;
W
)
P(y|\ X;W)
P(y∣ X;W) 表达式,不影响对模型参数的极大似然估计。因此,
式
(
5
)
式(5)
式(5)可简化为:
w
^
j
=
arg max
w
j
l
o
g
[
e
x
p
[
∑
j
=
1
J
w
j
F
j
(
X
,
y
)
]
Z
(
X
,
W
)
]
=
arg max
w
j
∑
j
=
1
J
w
j
F
j
(
X
,
y
)
−
l
o
g
[
Z
(
X
,
W
)
]
(6)
\hat{w}_j = \argmax_{w_j} log[\frac{exp[\sum_{j=1}^{J} w_jF_j(X, y)]}{Z(X,W)}] = \argmax_{w_j} \sum_{j=1}^{J} w_jF_j(X, y) - log[Z(X,W)] \tag{6}
w^j=wjargmaxlog[Z(X,W)exp[∑j=1JwjFj(X,y)]]=wjargmaxj=1∑JwjFj(X,y)−log[Z(X,W)](6)
对
式
(
6
)
式(6)
式(6)求关于
w
j
w_j
wj 的偏导数,得到:
∂ ∂ w j [ ∑ j = 1 J w j F j ( X , y ) − l o g ( Z ( X , W ) ) ] = F j ( X , y ) − 1 Z ( X , W ) ⋅ ∂ Z ( X , W ) ∂ w j (7) \frac{\partial}{\partial w_j }[\sum_{j=1}^{J} w_jF_j(X, y) - log(Z(X,W))] = F_j(X, y) - \frac{1}{Z(X, W)} \cdot \frac{\partial Z(X, W) }{\partial w_j } \tag{7} ∂wj∂[j=1∑JwjFj(X,y)−log(Z(X,W))]=Fj(X,y)−Z(X,W)1⋅∂wj∂Z(X,W)(7)
式 ( 7 ) 式(7) 式(7)中 Z ( X , W ) = ∑ i = 1 C e x p [ ∑ j = 1 J w j F j ( X , y = c i ) ] Z(X,W) = \sum_{i=1}^{C} exp[\sum_{j=1}^{J} w_jF_j(X, y=c_i)] Z(X,W)=∑i=1Cexp[∑j=1JwjFj(X,y=ci)],所以 Z ( X , W ) Z(X, W) Z(X,W) 关于 w j w_j wj 的偏导数等于:
∂ Z ( X , W ) ∂ w j = ∑ i = 1 C e x p [ ∑ j = 1 J w j F j ( X , y = c i ) ] ⋅ F j ( X , y = c i ) (8) \frac{\partial Z(X, W) }{\partial w_j } = \sum_{i=1}^{C} exp[\sum_{j=1}^{J} w_jF_j(X, y=c_i)] \cdot F_j(X, y=c_i) \tag{8} ∂wj∂Z(X,W)=i=1∑Cexp[j=1∑JwjFj(X,y=ci)]⋅Fj(X,y=ci)(8)
将 式 ( 8 ) 式(8) 式(8)带入 式 ( 7 ) 式(7) 式(7)后得到:
∂
l
o
g
[
P
(
y
∣
X
;
W
)
]
∂
w
j
=
F
j
(
X
,
y
)
−
1
Z
(
X
,
W
)
⋅
∑
i
=
1
C
{
F
j
(
X
,
y
=
c
i
)
⋅
e
x
p
[
∑
j
=
1
J
w
j
F
j
(
X
,
y
=
c
i
)
]
}
\frac{\partial log[P(y|\ X; W)]}{\partial w_j } = F_j(X, y) - \frac{1}{Z(X, W)} \cdot \sum_{i=1}^{C} \{ F_j(X, y=c_i) \cdot exp[\sum_{j=1}^{J} w_jF_j(X, y=c_i)] \}
∂wj∂log[P(y∣ X;W)]=Fj(X,y)−Z(X,W)1⋅i=1∑C{Fj(X,y=ci)⋅exp[j=1∑JwjFj(X,y=ci)]}
∂
l
o
g
[
P
(
y
∣
X
;
W
)
]
∂
w
j
=
F
j
(
X
,
y
)
−
∑
i
=
1
C
F
j
(
X
,
y
=
c
i
)
⋅
e
x
p
[
∑
j
=
1
J
w
j
F
j
(
X
,
y
=
c
i
)
]
Z
(
X
,
W
)
\frac{\partial log[P(y|\ X; W)]}{\partial w_j } = F_j(X, y) - \sum_{i=1}^{C} F_j(X, y=c_i) \cdot \frac{exp[\sum_{j=1}^{J} w_jF_j(X, y=c_i)]}{Z(X, W)}
∂wj∂log[P(y∣ X;W)]=Fj(X,y)−i=1∑CFj(X,y=ci)⋅Z(X,W)exp[∑j=1JwjFj(X,y=ci)]
∂
l
o
g
[
P
(
y
∣
X
;
W
)
]
∂
w
j
=
F
j
(
X
,
y
)
−
∑
i
=
1
C
F
j
(
X
,
y
=
c
i
)
⋅
P
(
y
=
c
i
∣
X
;
W
)
(9)
\frac{\partial log[P(y|\ X; W)]}{\partial w_j } = F_j(X, y) - \sum_{i=1}^{C} F_j(X, y=c_i) \cdot P(y=c_i | X; W) \tag{9}
∂wj∂log[P(y∣ X;W)]=Fj(X,y)−i=1∑CFj(X,y=ci)⋅P(y=ci∣X;W)(9)
式
(
9
)
式(9)
式(9)可进一步简写成数学期望的形式:
∂ l o g [ P ( y ∣ X ; W ) ] ∂ w j = F j ( X , y ) − E y i ∼ P ( y = c i ∣ X ; W ) [ F j ( X , y i ) ] (10) \frac{\partial log[P(y|\ X; W)]}{\partial w_j } = F_j(X, y) - E_{y_i \sim P(y = c_i | X; W)}[F_j(X, y_i)] \tag{10} ∂wj∂log[P(y∣ X;W)]=Fj(X,y)−Eyi∼P(y=ci∣X;W)[Fj(X,yi)](10)