条件随机场模型和训练方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

条件随机场模型和训练方法
条件随机场模型是由[7]首先提出的,这个模型在自然语言处理和生物信息学中得到了广泛的应用,这一章我们简要介绍了条件随机场模型极其训练方法。

更详尽的介绍参见[2],[3],[4]。

2.1训练的定义
考虑这样一个问题:给定一个模型,这个模型有很多参数,如何找出模型的最佳参数?训练是解决这个问题的一个方法。

给定一组训练数据和一组模型,按照某个衡量标准,选出最符合训练数据的模型,这个过程叫做训练。

只有选取的训练数据符合现实情况时,选择的模型才能符合现实,因此训练数据的选取是一个重要的问题。

衡量模型的标准有许多个,下面介绍两个衡量标准。

2.1.1极大似然估计
(x;)P ω是随机变量X 的概率密度分布函数,ω是其中的参数。

12{x ,x ,...,x }n 是一组随机变量12,,...,X n X X 的观测值,12,,...,X n X X 是一组独立同分布的随机变量,分布与X 相同。

极大似然估计:
12'arg max (x ,x ,...,x ;)arg max (x ;)n i i
P P ωωωωω==∏ 极大似然估计是一个非常自然的想法,就是选择使训练数据发生概率最大的参数,但极大似然估计的一个缺点是对训练数据的假设太强,不容易满足。

下面介绍的条件似然估计可以克服这个缺点。

2.1.2条件似然估计
假设每一个训练数据由两部分组成,形如(x,y);其中x 是已知的观测值,y 的概率分布由x 和ω唯一确定。

为了判断y 的取值,我们只需要刻画条件概率分布(y |x;)ωP 。

我们不用联合概率分布(y,x;)ωP 的原因是x 的取值是已知的,我们不需要刻画x 的概率分布,何况我们很难准确的刻画x 的概率分布。

假设给定一组训练集:1122{(x ,y ),(x ,y ),...,(x ,y )}n n 。

条件似然估计:
1212'arg max (y ,y ,...,y |x ,x ,...,x ;)arg max (y |x ;)n n i i i
P P ωωωωω==∏ 这里所做的假设是y i 的概率分布仅由x i 和ω决定,即:
111(y |x ,...,x ,y ,...,y ;)(y |x ;)i n i i i P P ωω-=
下文中将要介绍的条件随机场模型的训练方法就是根据这个思想。

例6.(英文单词划分问题)在一些排版软件中,为了保持美观,有时会需要对一些长的单词按照音节划分、断行,因此需要考虑如何对单词按音节进行划分这个问题。

我们可以把英文单词按照音节分为一些小的部分,比如说单词hyphenation 可以划分为hy-phen-a-tion 。

在这个问题中x 所在的集合是所有单词组成的集合,y 的取值集合是所有0、1序列组成的集合。

y 与单词长度相同,0表示对应字母后面不断开,1表示对应字母后面断开,默认y 的最后一位是0。

例如x=hyphenation 对应的y 是010*******。

显然Y 的取值完全由x 和模型参数决定,因此这个问题可以采用条件似然估计来训练模型。

2.2条件随机场模型
x 是给定的观察值,y 的分布由x 和参数ω唯一确定,y 的结构可以由无向图G 表出,y 中的每个随机变量可以取值的集合称为标签集,例如在单词划分问题中,标签集为{0,1}。

x 可以称为观测序列,y 可以称为标记序列。

条件随机场模型是指所有条件概率分布可以表示成如下形式的模型:
exp((x,y))
(y |x;)(x,)j j j
F P Z ωωω=∑ (2.1)
其中(x,y)j F 称为特征函数,特征函数分为两类:一类是定义在边上的特征
函数,表示为 ,e 遍历图G 中所有边,一类是定义在节点上的特征函数,表示为 , n 遍历图G 中所有节点,两类特征函数可以统一的写为 ;(x,)Z ω称为划分函数, 。

图12. 线性条件随机场模型
例7. 单词划分问题中y 的结构如图12所示,这个问题可以用条件随机场模型求解。

下面给出这个问题的一组特征函数模板:
2i 1i i 1i I (x x "
",y 0,y 1)--=== 3i 2i 1i i 1i I (x x x "
",y 0,y 1)---=== 4i 3i 2i 1i i 1i I (x x x x "",y 0,y 1)----===
其中代表任意字母,I 为指示函数。

有些单词组合容易组成一个音节,比如说edge edge [1]
[2]e e e F (x,y)f (y ,y ,x,e)=∑(,)(,,)=∑
node node
n n F x y f y x n i[1]i[2]
(x,y)(y ,y ,x,i)=∑j j i F f '(x,)exp((x,y'))ωω=∑∑j j y j Z F
“re”、“non”、“tion”,因此这些字母组合对应的特征函数:
2i 1i i 1i I (x x "re",y 0,y 1)--===
3i 2i 1i i 1i I (x x x "non",y 0,y 1)---===
4i 3i 2i 1i i 1i I (x x x x "tion",y 0,y 1)----===
的权重比较高。

在这个问题中,由于y 的结构是线形的,我们称这类条件随机场模型为线性条件随机场模型。

2.3条件随机场模型的三个基本问题
我们这一节考虑条件随机场模型的三个基本问题,第一个问题是如何对模型进行推断,第二个问题是如何求边际概率,第三个问题是如何训练模型。

条件随机场模型可以看作是无向图模型的一种变形,它与无向图模型的差别在于条件随机场模型中x 是给定的,因此我们可以用1.4节介绍的无向图模型的算法来求解这个问题。

定义: 。

对于推理和求边际概率问题,我们是在一个固定x 上进行操作,因此我们把i i 1i g (y ,y ,x)-简记为i i 1i g (y ,y )-。

由式(2.1)可以看出,x 不同,只会使(x,y)j F 取值不同,因此我们可以把x 的取值信息完全可以通过(x,y)j F 表出,然后不考虑节点x 。

对于不同的x ,我们只需更新(x,y)j F 的取值,如图13所示。

图13. x 的取值信息完全包含在特征函数中
对于因式图非树情况,我们可以采用带圈置信传播算法求解模型。

2.3.1 推断
下面我们通过对无向图模型的max-sum 算法导出对线性条件随机场模型的Viterbi 算法:
i i 1
i j i 1i j g (y ,y ,x)f (y ,y ,x,i)--=∑
y 的结构如图12所示,我们以n y 为根节点,由公式(1.9)(1.10)我们可以得到:
1(v)max[(u)g (u,v)]g y y g k u
k k k k μμ→→-=+ 111(u)(u)y g g y k k k k μμ→→---=
将上面两式合并后得:
11(v)max[(u)g (u,v)]g y y g k u
k k k k μμ→→--=+ 初始条件为 这个算法就是著名的Viterbi 算法。

Viterbi 算法的计算复杂性:假设标签集合有m 个元素,模型有n 个节点,由1.4.2中的分析知算法的时间复杂性为2O(n )m ⋅。

2.3.2边际概率
对线性(树状)条件随机场模型的sum-product 算法:
由公式(1.7)(1.8)我们可以得到:
1(v)[(u)exp (u,v)]g y y g k u
k k k k g μμ→→-=∑,111(u)(u)y
g g y k k k k μμ→→---= 1111(u)[(v)exp (u,v)]g y y g k v k k k k g μμ→→++++=∑,1121
(v)(v)y
g g y k k k k μμ→→++++= 将上面式子合并化简后得: 11(v)[(u)exp (u,v)]g y g y k u
k k k k g μμ→→--=∑
1121(u)[(v)exp (u,v)]g y g y k v
k k k k g μμ→→++++=∑
初始条件为1(v)exp (START,)g y k k g v μ→=
采用记号:(k,v)(v)g y k k αμ→=,1(u,k)(v)g y k k βμ→+=。

我们有:
(k,v)[(k 1,u)exp (u,v)]k u
g αα=-∑
1(u,k)[(v,k 1)exp (u,v)]k v
g ββ+=+∑
(x,)(k,u)(u,k)u
Z ωαβ=∑
(k,u)(u,k)(y u |x;)(x,)
k P Z αβωω== 1(v)(START,)
μ→=g y k k g v
)
图14. 计算线性条件随机场模型的边际分布
2.3.3条件随机场模型的训练
训练数据集:1122{(f(x ),y ),(f(x ),y ),...,(f(x ),y )}n n ,其中f(x )i 表示第i 个训练数据的所有特征函数,x i 的信息完全包含在f(x )i 中,因此我们可以用f(x )i 代替x i 。

为了避免数值下溢,我们计算log-likelihood:
log (y |x ;)((y ,x )log (x ,)k k k w k k i i k i
k L P w F Z θω==-∑∑∏
(y|x )(y,x )exp((y,x ))((y ,x ))(x ,)((y ,x )(y,x )P(y |x ))
((y ,x )[F (y,x )])
k k k j m m y m k k w j k k
j k k k k j j k y k k k j p j k
F F L F w Z F F F E ωω∂=-∂=-=-∑∑∑∑∑∑ 对线性条件随机场模型,我们有:
(y|x )(y|x )1(y|x )1,'[F (y,x )][(y ,y ,x ,i)]
[f (y ,y ,x ,i)]
(i 1,)f (y,y',x ,i)exp((y,y',x ,i))(y',i)/Z(x,)
k k k k k p j p j i i i
k p j i i i
k k j j j i y y j
E E f E y f αωβω++===-∑∑∑∑∑其中第三个等号利用了:
1P(y y,y y'|x;)(i 1,)exp((y,y',x ,i))(y',i)/Z(x,)k i i j j j
y f ωαωβω-===-∑
我们可以把条件随机场的训练问题看成一个无约束最优化问题,目标函数是w L ,计算w L ∇后,可以利用L-BFGS 算法进行优化,关于L-BFGS 算法介绍参见[8]。

相关文档
最新文档