最近在看一篇论文《Learning Latent Opinions for Aspect-Level Sentiment Classification》里面用到了条件随机场以及BiLSTM模型,以此记录。
主要是基于李航的《统计学习方法》一书加上自己的见解最后总结得出:
首先,要理解一个概念:概率无向图模型。
概率无向图模型定义:设有联合概率分布P(Y),由无向图G=(V,E)表示,在图G中,节点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对、局部或者全局马尔科夫性,就称此联合概率分布为概率无向图模型或马尔可夫随机场。
这句话中包含几个定义:联合概率;无向图;成对、局部或者全局马尔科夫性。
联合概率和无向图的定义在这里就不解释了,主要解释下马尔科夫性。
成对马尔可夫性:
设u和v是无向图G中任意两个没有边连接的结点,节点u和v分别对应随机向量Yu和Yv;其他所有节点为O,对应的随机变量组是Yo;
成对马尔可夫性指给定随机变量组Yo的条件下随机变量Yu和Yv是条件独立的。即:
局部马尔科夫性:
设v是无向图G中任一结点,W是与v有边连接的所有结点,O是v,W以外的其他所有节点。v表示的随机变量是Yv,W表示的随机变量组是Yw,O表示的随机变量组是Yo。局部马尔科夫性是指在给定随机变量组Yw的条件下随机变量Yv与随机变量Yo是独立的,即:
全局马尔科夫性:
设结点集合A,B是在无向图G中被结点集合C分开的任意结点集合,结点A\B\C所对应的随机变量组分别是YA\YB\Yc,全局马尔可夫性指的是给定随机变量组Yc条件下随机变量组YA、YB是条件独立的(博客中的编辑器不能弄成下标,凑活看吧,A\B应该是Y的下标),即:
知道了无向概率图模型的定义后,如何求它的联合概率分布才是我们最关心的。我们将整体的联合概率写成若干个子联合概率的乘积形式,对联合概率进行因子分解。那么怎样进行因子分解呢?
概率无向图中的因子分解
团:无向图G中任何两个结点均有边连接的结点子集称为团。
最大团:若C是无向图G中的一个团,并且不能再加入任何一个G的结点使其成为一个更大的团,则称C为最大团。
比如:
上图中,由两个结点组成的团有:{Y1,Y2}{Y1,Y3}{Y2,Y3}{Y2,Y4}{Y3,Y4}
最大团有:{Y1,Y2,Y3}{Y2,Y3,Y4},由此也可知,最大团可以有多个。
这里再举一个例子,比如下图中,最大团有哪些?
答:此图中的最大团是相邻两个结点的结合,比如{Y1,Y3}{Y2,Y3}等等都是最大团,没有超过两个结点以上的最大团。因为没有三个结点两两连接。
于是我们可以将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘机形式的操作,称为概率无向图模型的因子分解。
给定概率无向图模型,设其无向图为G,C为G上的最大团,Yc表示C对应的随机变量,那么概率无向图模型的联合概率分布P(Y)可写作图中所有最大团C上的势函数的乘积形式:
Z是规范化因子,规范化因子保证P(Y)构成一个概率分布,可以理解为归一化。
因为概率是正的,所以要求势函数的结果严格为正,通常使用指数函数:
综上:概率无向图模型的联合概率分布P(Y)可以表示成如下形式:
条件随机场(CRF):
设X与Y是随机变量,P(Y|X)是在给定X的条件下Y的条件概率分布,若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即满足马尔可夫性:( CRF 的特点是假设输出随机变量构成马尔可夫随机场。)
对任意结点v成立,则称条件概率分布P(Y|X)为条件随机场,式中wv表示在图G=(V,E)中与结点v有边连接的所有结点w,wv表示结点v以外的所有结点。
线性链条件随机场:
最大团是相邻的两个结点的集合,设X=(X1,X2,X3...Xn),Y=(Y1,Y2,Y3...Yn)均为线性链表示的随机变量序列,若在给定的随机变量序列X的条件下,随机变量序列Y的条件概率P(Y|X)构成条件随机场。满足马尔可夫性:
称P(Y|X)为线性链条件随机场。在标注问题中,其中X表示输入观测序列,Y表示标记序列或状态序列。
条件随机场的参数化形式:
设P(Y|X)为线性链条件随机场,则在随机变量X取值为X的条件下,随机变量Y取值为y的条件概率具有如下形式:
其中,
tk是定义在边上的特征函数,称为转移特征,它依赖于前一个位置和当前位置。
s1是定义在结点上的特征函数,称为状态特征,它依赖于当前位置。
𝜆𝑘、𝜇𝑙是对应的权值,Z(x)是规范因子。
通常,特征函数取值为1或0,当满足特征条件时取值为1,否则为0。可以说条件随机场完全由特征函数和对应的权值确定。
比如说我读的这篇论文中,要将一句话中表示情感的意见标记出来记为1,其他记为0,简略图如下(忽略了转换成词向量及中间模型,仅为了大概说明)。
输出可能有多种可能比如:0-0-0-1,0-0-1-1,1-0-0-0等等,也就是“2的4次方”种可能。但我要的是0-0-1-1,所以我仅关注0-0、0-1、1-1之间的转移特征以及每次转移的权重(我理解为概率)和它们对应的当前位置的状态特征。
讲一个具体书上的例子可能更容易理解。
题目直接拍下来了:
求的是y=(y1,y2,y3)=(1,2,2)的非规范化条件概率:
我们先读题,y1,y2,y3的取值有许多种比如:(1,1,2)(1,2,1)(1,2,2)...也就是2的三次方,8种可能,题目让求(1,2,2)的非规范化概率并给出了相应的转移特征函数以及状态特征函数。根据给出的函数带入条件随机场的参数化中到可算出。
简单的讲下特征函数的意思:
以t1为例,t1的意思是若y1=1,y2=2或y2=1,y3=2那么t1=1,否则其他情况t1=0;这种情况的权重是𝜆1=1;这些都是人为规定的。
最后得出P(y1=1,y2=2,y3=2)的非规范化条件概率为:exp(1*1+0.2*1+1*1+0.5*1+0.5*1)=exp(3.2)
