概率图模型
本节详细介绍一下概率图模型,概率图模型比如隐马尔可夫模型和条件随机场模型在实体识别、自然语言处理的过程中:分词、关键词提取部分都会用到。
首先概率图模型可大致分为两类:第一类是使用有向无环图表 示变量间的依赖关系,称为有向圈模型或贝叶斯网 (Bayesian network); 第二类 是使用无向国表示变量间的相关关系,称为无向图模型或马尔可夫网 (Markovnetwork).
隐马尔可夫模型
隐马尔可夫模型 (Hidden Markov Model,简称 HMM)是结构最筒单的动态 贝叶斯网 (dynamic Bayesian network),这是一种著名的有向图模型,主要用于 时序数据建模,在语音识别、自然语言处理等领域有广泛应用.
隐马尔可夫模型中的变量可分为两组.第一组是状态变量{y1,y2... yn}, 其中执 yi 表示第i时刻的系统状态.通常假定状态变量是隐 藏的、不可被观测的,因此状态变量亦称隐变量 (hidden variable). 第二组是观测变量{X1,X2,...,Xn}, 其中Xi表示第i时刻的观测值。隐马尔可夫模型中,系统通常在多个状态{s1,s2,.., sn} 之间转换,因此状态变量yi的取值范围 Y(称为状态空间)通常是有 N 个可能取值的高散空间.观测变量均可以 是离散型也可以是连续型,为便于讨论,我们仅考虑离散型观测变量,并假定其 取值范围 X 为 {o1,o2...oM}.
图 14.1 中的箭头表示了变量间的依赖关系.在任一时刻,观测变量的取值 仅依赖于状态变量,即 Xt 由 Yt 确定,与其他状态变量及观测变量的取值无关. 同时 ,t 时刻的状态yt仅依赖于 t-1 时刻的状态y(t-1),与其余 n-2 个状态无 关.这就是所谓的"马尔可夫链" (Markovchain),即:系统下一时刻的状态仅由当前状态决定,不依赖于以往的任何状态.基于这种依赖关系,所有变量的联合概率分布为
这个公式可以结合图14.1来理解,y1状态前面没有状态,而x1是由y1所决定,因此y1,x1出现的概率为p(y1)*p(x1|y1);从y2开始,每个状态都依赖于前一个状态,而xi(i>1)还是依赖于yi(i>1),因此yi,xi出现的概率为p(yi|yi-1)*p(xi|yi),将结果进行相乘,得出14.1的公式。
除了结构信息,欲确定一个隐马尔可夫模型还需以下三组参数:
(1)状态转移概率:模型在各个状态间转换的概率,通常记为矩阵 A=[αij]NxN 其中:
表示在任意时刻 t,若状态为 Si, 则在下一时刻状态为 Sj 的概率.
(2)输出现测概率:模型根据当前状态获得各个观测值的概率7 通常记为矩阵B = [bij]NXM, 其中
表示在任意时刻 t, 若状态为 Si., 则观测值Oj 被获取的概率.
(3)初始状态概率:模型在初始时刻各状态出现的概率,通常记为 =(1,...,N),其中
表示模型的初始状态为 Si 的概率.
通过指定状态空间 y、观测空间 X 和上述三组参数,就能确定一个隐马尔可夫模型,通常用其参数 λ= [A, B,]来指代.给定隐马尔可夫模型 λ,它按如 下过程产生观测序列 {x1, ..., xn}:
(1) 设置 t = 1,并根据初始状态概率选择初始状态 y1;
(2) 根据状态yt和输出现测概率 B 选择观测变量取值 xt;
(3) 根据状态yt和状态转移矩阵 A 转移模型状态,即确定 y(t+1);
(4) 若 t < n, 设置 t = t + 1,并转到第 (2) 步,否则停止.
其中 Yt ε {sl,s2,...,sN} 和 Xt ε {o1,o2,...,oM} 分别为第 t 时刻的状态和观测值.
条件随机场
条件随机场 (Conditional Random Field,简称 CRF) 是一种判别式无向图模型. 生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模.前面介绍的隐马尔可夫模型是生 成式模型,而条件随机场则是判别式模型.
条件随机场试图对多个变量在给定观测值后的条件概率进行建模.具体来说,若令X= {X1,X2,... ,Xn}为观测序列, y= {y1,y2, ..., Yn}为与之相应 的标记序列,则条件随机场的目标是构建条件概率模型 P(y IX). 需注意的是,标记变量 y 可以是结构型变量,即其分量之间具有某种相关性. 例如在自然语言处理的词性标注任务中,观测数据为语句 (即单词序列) ,标记为相应的词性序列,具有线性序列结构,如图 14.5(a)所示; 在语法分析任务中, 输出标记则是语法树,具有树形结构,如图 14.5(b)所示.
令G= (V,E)表示结点与标记变量Y中元素一一对应的无向图,每个节点v对应一个变量yv, n(v)表示结点 v 的邻接结点, 若图 G 的每个变量 Yv都满足马尔可夫性,即
则 (y,x) 构成一个条件随机场。
无向图的结构理论上可以是任意的,但在NLP中对于标记处理问题,对其建模主要用最简单最普通的链式结构,即线性链条件随机场。如下图,可以看到节点为线性链结构,节点对应了序列Y的元素,而观察序列X不做任何独立性假设,但X序列的结构也可以是线性链结构。
综上所述,设有线性链结构的随机变量序列 X=(X1,X2,...,Xn),Y=(Y1,Y2,...,YN),在给定观察序列X的条件下,随机变量序列Y的条件概率分布为P(Y|X),若其满足马尔科夫特性,即 P(Yi|X,Y1,Y2...Yn)=P(Yi|X,Yi−1,Yi+1),这时P(Y|X)则为线性链条件随机场。
与马尔可夫随机场定义联合概率的方式类似,条件随机场使用势函数和图结构上的团来定义条件概率 P(y Ix). 给定观测序列 x,图 上图所示的链式条件随机场主要包含两种关于标记变量的团,即单个标记变量 {Yi} 以及相邻的标 记变量{y(i-1),yi}. 选择合适的势函数. 在条件随机场中,通过选用指数势函数并引入特征函数 (feature function),条件概率被定义为
其中与tj(y(i+1),yi,x, i) 是定义在观测序列的两个相邻标记位置上的转移特征函数,用于刻画相邻标记变量之间的相关关系以及观 测序列对它们的影响 , sk(yi,x ,i) 是定义在观测序列的标记位置i上的状态特征函数,用于刻画观测序列对标记变量的影响 ,λj 和 μk为参数, Z为规范化因子,用于确保式(14.11)是正确定义的概率.
要使用条件随机场,还需定义合适的特征函数.特征函数通常是实值函数,以刻画数据的一些很可能成立或期望成立的经验特性.以词性标注任务为例,若采用转移特征函数
则表示第 i个观测值xi为单词 "knock"时, 相应的标记 Yi和 Yi十1 很可能分别为[V] 和 [P]. 若采用状态特征函数
则表示观测值的为单词 "knock"时,它所对应的标记很可能为 [V].
条件随机场和马尔可夫随机场均使用团上的势函数定义概率,两者在形式上没有显著区别;但条件随机场处理的是条件概率.而马尔可夫随机场处理的是联合概率.
参考资料:
《机器学习》周志华
来源:https://blog.csdn.net/qq_36812990/article/details/99199745