1 Introduction
本讲主要介绍的是条件随机场(Conditional Random Field),这个东西在机器学习中,曾经有过
较大的用处,在图像处理和标注问题中大放光彩。本小节的讲解,主要是CFR 机器学习体系中的背
景,我们为什么要研究CRF,CRF 和其他的模型相比它在什么地方进行了演变,然后对CRF 模型的
建立和求解进行了分析,最后得出CRF 适用于怎样的问题,它有怎样的优缺点等。这个过程是很流畅
的,和前面讲到的概率图模型中的隐马尔可夫模型(Hidden Markov Model) 和最大熵原理等都有一定
的联系。细节请往下详细阅读。
2 Background
下图是背景部分的总体概览:
实际上机器学习中一类最重要的问题就是分类(classify) 的问题。分类的方法可以被我们分为两
类,硬分类和软分类。所谓硬分类就是输出值是离散的,比如
y
∈
0
,
1
y ∈ {0, 1}
y∈0,1;而软分类就是输出的是属于
某一个类的概率,比如
P
(
y
=
1
)
,
P
(
y
=
0
)
P(y = 1), P(y = 0)
P(y=1),P(y=0) 的概率。
2.1 硬分类(Hard classification)
硬分类就是输入特征,输出的离散变量,通俗的讲就是,分类器看到了一堆特征,直接告诉你这
个个体属于哪一类。
- 支持向量机(Support Vector Machine):支持向量机的思路来源是几何间隔。模型可以被我
们写为: { min 1 2 w T w s.t. y i ( w T x i + b ) ≤ 1 , i = 1 , 2 , ⋯ , N \left\{\begin{array}{l} \min \frac{1}{2} w^{T} w \\ \text {s.t. } y_{i}\left(w^{T} x_{i}+b\right) \leq 1, i=1,2, \cdots, N \end{array}\right. {min21wTws.t. yi(wTxi+b)≤1,i=1,2,⋯,N - 多层感知机(PLA):多层感知机的思路来源是误差驱动。模型可以被我们写成:
f ( w ) = sign ( w T x ) f(w)=\operatorname{sign}\left(w^{T} x\right) f(w)=sign(wTx) - 线性判别分析(Linear Discriminate analysis):主要采用的思想是类间大,类内小。
2.2 软分类 (Soft classification)
软分类就是输入特征,输出的是每一种可能性的概率。通俗的讲就是,给定一组特征,分类器输出的是属于各个类别的概率,最后选择是属于哪一类?你自己就看着办吧,看你怎么选了。所以,软分类模型求得是一个分布就是这个原因。算法可以分为两个方面,概率判别模型和概率生成模型。这两者有什么不一样呢?
- 概率判别模型求的是 P ( y ∣ x ) ; P(y | x) ; P(y∣x); 也就是将 label 根据提供的特征,学习,最后画出了一个明显或许 比较明显的边界,比如 SVM,Perceptron,神经网络,LR 等都是这么工作的。
- 概率生成模型求的是联合概率分布 P ( x , y ) , P(x, y), P(x,y), 然后你来了一个新的数据以后,我们通过贝叶斯公式化简,我们可以得到 P ( y ∣ x ) ∝ P ( x , y ) , P(y | x) \propto P(x, y), P(y∣x)∝P(x,y), 从而得到 P ( y ∣ x ) P(y | x) P(y∣x) 。生成模型关注结果是如何产生的,可以求出所有label 的概率。它包含的信息非常的全,不仅可以用来输出label,还可以用来做很多别的事情。所以,生成模型需要非常多的数据量来保证采样到了数据本来的面目,所以速度慢。
2.2.1 概率判别模型
概率判别模型中,最基础的算法就是Logistics Regression,这个算法非常的简单。我们曾经在指数族分布那一章讲过,在给定数据和已知事实的情况下,指数族分布是可以使所有的结果经历等可能出现的分布,也就是满足最大熵原理。看到这,大家估计对最大熵原理有点懵逼,之前老师也只是提到了这个原理并说明了这个原理是什么,对于为什么并没有更层次的讲解。我们接下来讲解一下:
最大熵原理:其定义是对于概率模型,在所有可能分布的概率模型中,熵最大的模型是最好的模型,也就是令所有的结果都有可能出现。有的同学就会发出疑问,一方面我们总希望将事物的不确定性降到最低;另一方面对于不确定的事物我们又认为保留最大的不确定性是最好的选择。这样做不会精神分裂吗?我觉得可以这样来思考,对于我们知道的部分,我们要尽可能去靠近它;对于我们不知道的部分,我们要保持它的结果等可能的出现的可能性,就是最大限度的保留不确定性。而等可能性就是由熵最大来刻画的。俗话所说:“知之为知之,不知为不知,是知也。”
这里我们只给出最大熵原理一些直观的概念,并没有对其进行深入的理论研究,这并不是我们这节的重点。在这里我们描述的目的,是想说明Logistics Regression 是最大熵原理(MaximumEntropy Model) 的一个特例,使用的是最大Entropy 的思想。
小伙伴们可能在这里有点懵逼,我来简要描述一下:
首先我们介绍一下最大熵原理的求解结果,这里的推导,有兴趣的同学自己去看,我这里只写结
论。实际上指数族分布那一章就推导过了,结果就是指数族分布。
P
w
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
(
2
)
P_{w}(y | x)=\frac{\exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)}{\sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)} \ \ \ \ (2)
Pw(y∣x)=∑yexp(∑i=1nwifi(x,y))exp(∑i=1nwifi(x,y)) (2)
写到了这里不知道大家有没有发现,这个最大嫡原理最后的求解结果和 Softmax 函数是一毛一 样的,是不是终于知道 Softmax 的作用了? Softmax 本来就是用来解决多分类问题的,而 Logistics Regressio 只是一个二分问题,所以说,LR 模型本质上是最大熵模型的一个特例,下面给出详细的证 明过程:
- 对于给定数据集,X
=
{
x
1
,
x
2
,
⋯
,
x
n
}
T
,
=\left\{x_{1}, x_{2}, \cdots, x_{n}\right\}^{T},
={x1,x2,⋯,xn}T, 我们构建如下图所示的特征函数:
f i ( x , y ) = { x i y = 1 0 y = 0 ( 3 ) f_{i}(x, y)=\left\{\begin{array}{ll} x_{i} & y=1 \\ 0 & y=0 \end{array}\right. \ \ \ \ \ (3) fi(x,y)={xi0y=1y=0 (3) - 根据最大熵的求解模型为:
∑ y exp ( ∑ i = 1 n w i f i ( x , y ) ) = exp ( ∑ i = 1 n w i f i ( x , y = 0 ) ) + exp ( ∑ i = 1 n w i f i ( x , y = 1 ) ) = 1 + exp ( W X ) ( 4 ) \begin{aligned} \sum_{y} \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y)\right)=& \exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y=0)\right)+\exp \left(\sum_{i=1}^{n} w_{i} f_{i}(x, y=1)\right) \\ &=1+\exp (W X) \end{aligned} \ \ \ \ \ (4) y∑exp(i=1∑nwifi(x,y))=exp(i=1∑nwifi(x,y=0))+exp(i=1∑nwifi(x,y=1))=1+exp(WX) (4)
而根据公式 (2); 我们可以简单的计算出后面的结果。 - 当
y
=
1
y=1
y=1 时,可得:
P w ( y = 1 ∣ x ) = exp ( W X ) 1 + exp ( W X ) P_{w}(y=1 | x)=\frac{\exp (W X)}{1+\exp (W X)} Pw(y=1∣x)=1+exp(WX)exp(WX) - 当
y
=
0
y=0
y=0 时,可得:
P w ( y = 1 ∣ x ) = 1 1 + exp ( W X ) P_{w}(y=1 | x)=\frac{1}{1+\exp (W X)} Pw(y=1∣x)=1+exp(WX)1
所以,我们可以看到LR 模型,实际上就是最大熵模型的一种特殊情况。而LR 模型实际上是一 种Log Linear Model,为什么这么说?实际上,我们可以知道,最大熵模型的结果就是指数族分布,详情请见指数族分布。那么:
log P ( x ) = log exp ( η T f ( x ) ) = η T f ( x ) \log P(x)=\log \exp \left(\eta^{T} f(x)\right)=\eta^{T} f(x) logP(x)=logexp(ηTf(x))=ηTf(x)
就是一个线性模型,所以叫Log Linear Model。实际上看到这里,大家应该已经对深度学习中的一些设定有感觉了,不是凭空来的是有理论基础的。
最后,我们对最大熵原理做一个小结,我们的CRF 中将会用到这个知识。在给定已知事实的分析下,能够令熵达到最大的分布是指数族分布。
2.2.2 概率生成模型
Naive Bayes 算法:概率生成模型的主要基础算法是 Naive Bayes 算法,贝叶斯算法主要是要求满足 贝叶斯假设:
P
(
X
∣
Y
=
1
/
0
)
=
∏
i
=
1
P
P
(
x
i
∣
Y
=
1
/
0
)
P(X | Y=1 / 0)=\prod_{i=1}^{P} P\left(x_{i} | Y=1 / 0\right)
P(X∣Y=1/0)=i=1∏PP(xi∣Y=1/0)
Bayes 假设的概率图模型如下所示,根据概率图模型的D-Separation 原则,这是一个Tail To Tail 的模型在中间值给定的情况下,其他的节点之间都是相互独立的。
我们可以将其定义为
x
i
⊥
x
j
∣
y
(
i
≠
j
)
x_{i} \perp x_{j} | y(i \neq j)
xi⊥xj∣y(i=j) 。根据贝叶斯公式可以得:
p
(
y
∣
x
)
=
p
(
x
∣
y
)
p
(
y
)
p
(
x
)
=
p
(
x
,
y
)
p
(
x
)
∝
p
(
x
,
y
)
p(y | x)=\frac{p(x | y) p(y)}{p(x)}=\frac{p(x, y)}{p(x)} \propto p(x, y)
p(y∣x)=p(x)p(x∣y)p(y)=p(x)p(x,y)∝p(x,y)
而做条件独立性假设的最终目的,是为了简化运算。因为对于一个数据序列
x
=
(
x
1
,
x
2
,
⋯
,
x
p
)
x=\left(x_{1}, x_{2}, \cdots, x_{p}\right)
x=(x1,x2,⋯,xp) 如果
x
i
x_{i}
xi 和
x
j
x_{j}
xj 之间有关系的话,这个计算难度可能会变得很难,所以就假设各个变量之间是相互独立的。但是为了简化计算,这个假设太强了,显然有点不合理,没有充分利用数据之间的分布。 而我们将
y
(
0
/
1
→
Seq
)
y(0 / 1 \rightarrow \text { Seq })
y(0/1→ Seq ) 就得到了 Hidden Markov Model (HMM),这是我们得到 HMM 的第一 种思路。
高斯混合模型(Gaussian Mixture Model):高斯混合模型的概率图可以被我们描述为如下形式:
我们根据一个离散的随机变量 Z 来选择是选取那个高斯分布,利用这个高斯分布
N
(
μ
,
Σ
)
\mathcal{N}(\mu, \Sigma)
N(μ,Σ) 来采 样得到我们想要的样本点。而且,离散随机变量 Z 符合一个离散分布
p
=
(
p
1
,
p
2
,
⋯
,
p
k
)
p=\left(p_{1}, p_{2}, \cdots, p_{k}\right)
p=(p1,p2,⋯,pk) 。也就是
P
(
X
∣
Z
)
∼
N
(
μ
,
Σ
)
,
P(X | Z) \sim \mathcal{N}(\mu, \Sigma),
P(X∣Z)∼N(μ,Σ), 而在此基础上加上时间的影响就构成了 Hidden Markov Model,这是 HMM 的 第二种引出方式。
隐马尔可夫模型(Hidden Markov Model):这个在我们之间的章节中有非常详细的描述,这里不再做过多的阐述,有兴趣的同学可以去仔细的观看。HMM 中有两条非常重要的假设,齐次马尔可夫假设和观测独立假设,我们的计算基本都是基于这两个假设来的。Hidden Markov Model 的概率图模型如下所示:
其中,
x
1
x_{1}
x1 为 observe data,
y
1
y_{1}
y1 为 lactent data,模型整体描述为
λ
=
(
π
,
A
,
B
)
\lambda=(\pi, \mathcal{A}, \mathcal{B})
λ=(π,A,B) 。而实际上,我们还 是感觉两个假设不太合理,限制了对数据集的利用,只是因为需要简化计算,所有没办法。但是,后 来研究人员还是想消除假设,从而释放数据中更多的信息。
最大熵马尔可夫模型(Maximum Entropy Markov Model):这里我们只对MEMM 模型做一些简单的描述,尽量上直观的去解释。MEMM 是最大熵模型和HMM 的结合体,它是一个判别模型。这里强调一下,它和HMM 的主要区别是:打破了HMM 的观测独立假设。这里我们后面会详细的描述。MEMM 在建模过程中用到了公式(2) 中,最大熵模型的求解结果,主体还是用的HMM 的结构,所以,被称为最大熵马尔可夫模型。
MEMM 的做法就是把输入分成两部分,1. 是所有的的
x
1
:
T
x_{1: T}
x1:T 对
y
y
y 的输入;
2.
2 .
2. 单独一个上一个状 态
x
t
−
1
,
x_{t-1},
xt−1, local 输入。有的同学可能会觉得有点奇怪,
x
1
:
T
x_{1: T}
x1:T 中不就包括了
x
t
−
1
,
x_{t-1},
xt−1, 对的实际上很多时候 都只看
x
1
:
T
,
x_{1: T},
x1:T, 这样分开说是为了便于理解在 HMM 上的改进。MEMM 的概率图模型如下所示:
这小节的主要目的是引出我们为什么得到了Conditional Random Field。MEMM 的细节不做过多解释。MEMM 的诞生1. 首先将HMM 中的观测独立假设给丢掉了,这样可以更多的使用原始数据中的信息;2. 而且,我们关注的问题从求解联合概率分布P(X, Y ) 转换成了求解P(Y |X)。在标注问题中并不需要计算那么多,求解P(Y |X) 就够了。
条件随机场(Conditional Random Field) 虽然,MEMM 有了很大的改进,但是在历史的舞台了,MEMM 并没有大放光彩,这是为什么呢?由于MEMM 有一个致命的问题叫做“Label Bias Problem”,这个问题主要产生的原因是局部归一化,这个问题还挺难的,这里简要的介绍一下,有兴趣的同学去看John Latterfy 的相关文献。
我们简单介绍一下,看到图四中的阴影部分:为
P
(
y
2
∣
y
1
,
x
2
)
P(y_2|y_1, x_2)
P(y2∣y1,x2) 局部是一个条件概率。为了让最后的
结果都是一个概率分布,我们必须要做归一化处理:
ϕ
(
y
1
,
x
1
,
y
2
)
∑
ϕ
(
y
1
,
⋯
)
\frac{\phi\left(y_{1}, x_{1}, y_{2}\right)}{\sum \phi\left(y_{1}, \cdots\right)}
∑ϕ(y1,⋯)ϕ(y1,x1,y2)
这就是局部归一化的意思,至于会出现怎样的原因,这里没说,后面再做出详细的分析。这个原因是因为有向图的原因造成的,那么我们把有向图变成无向图不就可以解决这个问题了,于是条件随机场算法就诞生了。
2.3 小结
本小节我们从机器学习的整个框架中讨论了条件随机场是怎么来的,希望对同学们有一定的启发。判别模型和生成模型的概念还是挺重要的,搞懂之后,理解很多算法会有不一样的感受。
3 HMM VS MEMM
这节主要介绍演变过程。话不多说,首先介绍的是HMM。
3.1 Hidden Markov Model
HMM 可以由Naive Bayes 和Gaussian Mixture Model 演变而来,是一种典型的生成模型。它的
概率图模型如下所示:
模型描述为
λ
=
(
π
,
A
,
B
)
\lambda=(\pi, \mathcal{A}, \mathcal{B})
λ=(π,A,B) 。两个 假设,齐次马尔可夫假设和观测独立假设。
- 齐次一阶 Markov 假设:一阶: P ( y t ∣ y 1 : t − 1 ) = P ( y t ∣ y t − 1 ) ; P\left(y_{t} | y_{1: t-1}\right)=P\left(y_{t} | y_{t-1}\right) ; P(yt∣y1:t−1)=P(yt∣yt−1); 齐次: P ( y t ∣ y t − 1 ) P\left(y_{t} | y_{t-1}\right) P(yt∣yt−1) 与时间无关。
- 观测独立假设: P ( x t ∣ y 1 : t , x 1 : t − 1 ) = P ( x t ∣ y t ) , P\left(x_{t} | y_{1: t}, x_{1: t-1}\right)=P\left(x_{t} | y_{t}\right), P(xt∣y1:t,x1:t−1)=P(xt∣yt), 大家想想观测独立假设为什么会成立? 这实际和Naive Bayes 中提到的概率图的 D-Separation 有异曲同工之处。因为 y t − 1 → y t → x t y_{t-1} \rightarrow y_{t} \rightarrow x_{t} yt−1→yt→xt 是一个 head to head 结构,在 y t y_{t} yt 被观测的情况下 y t − 1 y_{t-1} yt−1 和 x t x_{t} xt 之间是独立的。
- 建模对象:是
P
(
X
,
Y
∣
λ
)
,
P(X, Y | \lambda),
P(X,Y∣λ), 它要求的是一个联合概率分布。这是一个生成模型,在 HMM 的 Evaluating 问题中,需要求的是
P
(
X
∣
λ
)
,
P(X | \lambda),
P(X∣λ), 采用的大致思路都是
P
(
X
∣
λ
)
=
∑
Y
P
(
X
,
Y
∣
λ
)
P(X | \lambda)=\sum_{Y} P(X, Y | \lambda)
P(X∣λ)=∑YP(X,Y∣λ) 。经过大致 的推导可以得出:
P ( X , Y ∣ λ ) = ∏ t = 1 T P ( x t , y t ∣ λ ) = ∏ t = 1 T P ( y t ∣ y t − 1 , λ ) ⋅ P ( x t ∣ y t , λ ) ( 8 ) P(X, Y | \lambda)=\prod_{t=1}^{T} P\left(x_{t}, y_{t} | \lambda\right)=\prod_{t=1}^{T} P\left(y_{t} | y_{t-1}, \lambda\right) \cdot P\left(x_{t} | y_{t}, \lambda\right) \ \ \ \ \ (8) P(X,Y∣λ)=t=1∏TP(xt,yt∣λ)=t=1∏TP(yt∣yt−1,λ)⋅P(xt∣yt,λ) (8)
但是, 这个实际上并不会求,算法的复杂度是 O(T N ) \left.^{N}\right) N) 的,所有才有了后来的 Forward 和 Backward
算法这些。
其实观测独立假设,并没有什么道理可讲的。从NB→HMM 是一样的。NB 中假设所有的样本之间相互独立,采用的是Tail to Tail 的概率图模型,这样都是为了使计算变得简单而已。实际上这两种假设都是非必须的,都是为了计算,有它们反而破坏了原始数据分布的完整性。
3.2 Maximum Entropy Markov Model
MEMM 模型的概率图如下图所示:
在MEMM 中打破了观测独立假设,它是如何做到了呢?
大家注意观察,在 MEMM 中的
y
y
y 和
x
x
x 之间的箭头是相反的。那么,阴影部分就变成了
y
t
−
1
→
y
t
←
x
t
y_{t-1} \rightarrow y_{t} \leftarrow x_{t }
yt−1→yt←xt 。这种结构是典型的 Head to Tail 结构,根据 D-Separation 原则,在
y
t
y_{t}
yt 被观察到的情况下,
y
t
−
1
y_{t-1}
yt−1 和
x
t
x_{t}
xt 之间反而是有关系的。所以,它成功的打破了观测独立假设。 MEMM 不再是一个生成式模型而是一个判别式模型。 根据上面的描述我们发现,
y
t
y_{t}
yt 和
y
t
−
1
,
x
t
,
x
1
:
T
y_{t-1}, x_{t}, x_{1: T}
yt−1,xt,x1:T 之间都是有关系的。所以我们可以得到:
P
(
Y
∣
X
,
λ
)
=
∏
t
=
1
T
P
(
y
t
∣
x
t
,
y
t
−
1
,
λ
)
=
∏
t
=
1
T
P
(
y
t
∣
x
1
:
T
,
y
t
−
1
,
λ
)
P(Y | X, \lambda)=\prod_{t=1}^{T} P\left(y_{t} | x_{t}, y_{t-1}, \lambda\right)=\prod_{t=1}^{T} P\left(y_{t} | x_{1: T}, y_{t-1}, \lambda\right)
P(Y∣X,λ)=t=1∏TP(yt∣xt,yt−1,λ)=t=1∏TP(yt∣x1:T,yt−1,λ)
所以,我们可以很清楚的看到可以是一个全量的输出,实际上只写上面就是 OK 的。在概率图模型中, 只画上一半就可以了。而为了和 HMM 作较,我们这样写可以看出分成了两个部分,看到了 Global 和 Local 的影响。
MEMM 比HMM 有两个根有优势的地方:
- 将生成模型变成了判别模型,不是说生成模型不够好,实际上是各具优点的。这里好的原因是,对于链式结构,我们主要处理的是标注问题,只要对条件建模就行了,没必要算那么多。至于为什么将生成模型变成了判别模型呢?这里老师没有讲,我来说说自己的观点。
在 HMM 中,根据概率图我们得到的解是 P ( x t ∣ y t ) P\left(x_{t} | y_{t}\right) P(xt∣yt) 这种形式的,我们想要求的是 p ( y t ∣ x t ) p\left(y_{t} | x_{t}\right) p(yt∣xt) 这种 形式的。对于 P ( Y ∣ X ) P(Y | X) P(Y∣X) 型的,我们只能利用 P ( Y ∣ X ) P ( X ) = P ( X , Y ) , P(Y | X) P(X)=P(X, Y), P(Y∣X)P(X)=P(X,Y), 然后来求解 P ( X ∣ Y ) , P(X | Y), P(X∣Y), 所以是生成模型。何MEMM 中直接就是 P ( y t ∣ ⋯ ) P\left(y_{t} | \cdots\right) P(yt∣⋯) 所以是判别模型。有同学有更好的理解,欢迎留言。 - 打破了观测独立假设,物理上更有优势了,可以尽可能多的利用到原始数据分布之间的信息。
4 MEMM VS CRF
MEMM 的概率图模型在之前我们就展示过了,为了方便大家对下面内容的理解。这里再放一下:
优点 (和 HMM 想比):1. 判别式模型,有利于标注问题的 Decoding; 2. 打破了观察独立假设。
模型为:
P
(
Y
∣
X
,
λ
)
=
∏
t
P
(
y
t
∣
y
t
−
1
,
x
1
:
T
,
x
t
,
λ
)
=
∏
t
P
(
y
t
∣
y
t
−
1
,
x
1
:
T
,
λ
)
P(Y | X, \lambda)=\prod_{t} P\left(y_{t} | y_{t-1}, x_{1: T}, x_{t}, \lambda\right)=\prod_{t} P\left(y_{t} | y_{t-1}, x_{1: T}, \lambda\right)
P(Y∣X,λ)=∏tP(yt∣yt−1,x1:T,xt,λ)=∏tP(yt∣yt−1,x1:T,λ) 。MEMM 是有向图,条件概率的条件都是在图中根据因果关系可以得出来的。
实际上我们之前说到,HMM 中的两个假设实际上,并不是很合理。而在HMM 中,我们通过了将x 和y 之间的箭头改变的方法,成功的去除了观测独立假设。而接下来MEMM 到CRF 的演变,实际上是解决了齐次马尔可夫假设。
在MEMM 中,它的概率图模型中带来了一个重大的缺陷就是Label Bias Problem。通过将这个问题解决,我们正好就解除了齐次马尔可夫假设的限制。下面我们来描述这个问题:
4.1 MEMM 中的Label Bias Problem
4.1.1 Label Bias Problem 定性分析
我们的定性的来看一下Label Bias Problem。实际上图7 中的阴影部分可以被我们看成是一个 Logistics Regression,为什么可以这样看?实际上是因为在MEMM 的建模中,我们使用的是最大熵模型,而Logistics Regression 就是最大熵模型的一个特例,这里可以将一个局部看成是一个Logistics Regression。
假设我们将这个局部看成是一个系统的话,我可以将y 看成是系统内部的状态,
y
t
−
1
→
y
t
y_{t−1} → y_t
yt−1→yt 的转移符合一个概率分布,而
x
t
x_t
xt 被我们看成是外界的输入。那么这个局部会不会产生怎样的问题呢?我们现在把这个局部产生的效果记为“mass score”,那么这个名词它究竟是来自哪呢?如果针对一组连续变量,它的概率密度函数就是Probability Density Function (PDF);如果是离散的变量呢?则被称之为Probability Mass Function (PMF),这个mass 就是来自这,特征离散变量。这个mass score,可以看成是一个函数,就是系统从t−1 时刻到t 时刻转移的一个得分,这个得分就是一个概率分布。这是一个函数,它和
y
t
−
1
y_{t−1}
yt−1,
y
t
y_{t}
yt 和
x
t
x_t
xt 都是有关系的。并且状态之间的转移都是具有定的能量的,而我们的问题出在哪呢?就是这个得分函数被归一化了。为什么要归一化?因为这三个小单体形成的一个局部,实际上是一个概率分布,概率分布就一定要归一化。
这个归一化是会带来一系列问题的,我们直观上来理解一下,他会带来的问题。如果把这个链条看成是一根长的绳子,我们在t 这个点抖动一下这根绳子,肯定会对后续的绳子 t + 1 , t + 2 , ⋯ t + 1, t + 2, \cdots t+1,t+2,⋯都造成影响,但是如果在中间进行归一化,就相当于在某个点把绳子的结构粗细发生了变化。那么这个波就无法正常的影响到后面的绳子了,破坏了这个波能量的传递连贯性。这是一个比较形象的例子,我们下面引入John Lafferty 论文中例子来给出一个形象的解释。
4.1.2 John Lafferty 论文中例子
归一化的不恰当会带来一些问题,但是论文中写的很简单,大多数同学看着会一脸懵逼,在这里我们做出了比较详细的讲解。例子的概率图模型如下所示:
在此例中,我们将 0 - 1 - 2 - 3 - 4 - 5 这些看成是 tag 标准,将
r
,
i
,
b
r, i, b
r,i,b 看成是观测。
- 假设 t = 1 t=1 t=1 时刻,我们观察到的是 0,0 时刻在观测到 r r r 的情况下转移到 1 和 4 状态的转移板 率都一样。
- 因为局部归一化的过程,我们发现从 1 到 2 的状态转移概率变成了 1,和输入的变量根本就没 有关系了。这里的路只有一条,我们假设 1
→
y
t
−
1
,
2
→
y
t
,
i
→
r
t
,
\rightarrow y_{t-1}, 2 \rightarrow y_{t}, i \rightarrow r_{t},
→yt−1,2→yt,i→rt, 我们看到这里输入根本就不起作 用了,不 care 输入是什么,概率都是 1,这就是问题的所在:
P ( 2 ∣ 1 , i ) = 1 = P ( 2 ∣ 1 ) P ( 5 ∣ 4 , o ) = 1 = P ( 5 ∣ 4 ) \begin{array}{l} P(2 | 1, i)=1=P(2 | 1) \\ P(5 | 4, o)=1=P(5 | 4) \end{array} P(2∣1,i)=1=P(2∣1)P(5∣4,o)=1=P(5∣4)
可以看出从 1 转移到 2 根本没有关注 observation。 - 我们这里举一个例子,“小明爱中国!",这里“小明”是名词,“爱”是动词,正常的思路是看 到“中国”然后标名词。而局部归一化就是不考虑 observation,不看中国了,直接根据历史的结果得 出中国的词性,这显然会出问题。
- 我们知道图模型的参数结构都是通过训练得来的。我们假设有四个样本,3 个 r,o,b,1个 r,i,b。 在 training 的过程中,我们可以得到
P
(
1
∣
0
,
r
)
=
0.25
,
P
(
4
∣
0
,
r
)
=
0.75
P(1 | 0, r)=0.25, P(4 | 0, r)=0.75
P(1∣0,r)=0.25,P(4∣0,r)=0.75 我们使用 Viterbi 算法进行 Decoding 操作,也就是在观察序列的情况下求最大隐状态序列,
Y
=
(
y
1
,
y
2
,
y
3
)
Y=\left(y_{1}, y_{2}, y_{3}\right)
Y=(y1,y2,y3)
y ^ = arg max y 1 , y 2 , y 3 ( y 1 , y 2 , y 3 ∣ r i b ) = max { 0.75 × 1 × 1 , 0.25 × 1 × 1 , } \begin{array}{l} \hat{y}=\arg \max _{y_{1}, y_{2}, y_{3}}\left(y_{1}, y_{2}, y_{3} | r i b\right)=\max \{0.75 \times 1 \times 1,0.25 \times 1 \times 1,\} \end{array} y^=argmaxy1,y2,y3(y1,y2,y3∣rib)=max{0.75×1×1,0.25×1×1,}
这样我们求出的,在观测为 rib 的情况下,隐状态链反而为 0 - 4 - 5 - 3,这显然是不合适的,没有 关注输入变量的影响,之间就做出了判断。
我们举的例子是一个极端,这里的局部分布的熵直接等于0 了。在这个例子中局部归一化使得系统不关注observation 直接做出了判断。这是因为概率分布的熵太低了,直接等于0 了,不再关注输入是什么。熵太低了就会影响模型的泛函能力,对于无法确定的信息过多的使用历史信息。较好的模型应该,对于知道的部分,要尽可能去靠近它;对于不知道的部分,要保持它的结果等可能的出现的可能性,就是最大限度的保留不确定性,也就等价于模型的熵越大。
在我们研究的这个问题中,可以描述为Conditional Distribution with a low entropy take less notice of observation。
4.2 小结
MEMM 的致命缺陷就是局部归一化,由于这个特性,会导致模型不care observation 的内容来直接得到结果。其实,就是局部分布的熵太低了,对于不确定的部分,没有保留更多的可能性。
那么,打破的方法就是将各个
y
y
y节点之间的连接从有向图变成无向图。无向图局部就不是一个分布了,就不需要进行局部归一化,而是进行全局归一化了,整条链是一个分布,这里后面后详细讲解。从而提高模型之间的熵,而有向图变成了无向图就自然打破了齐次马尔可夫假设。这是我们得到了一个chain-structure CRF,所有的Y 节点就构成了一个随机场。
我们看到从HMM→MEMM→CRF,这两步过程就是先破坏了观测独立假设,再破坏了齐次马尔可夫假设。去掉了这两个不太好的假设,使原始数据得到了很好的利用。