机器学习(十七)——条件随机场

笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据助跑每一个人,欢迎直筒们关注我的公众号,大家一起讨论数据中的那些有趣的事情。

我的公众号为:livandata


即与某一节点直接相连的点,称为这一节点的马尔科夫毡;

图(graph)是由结点(node)及连接结点的边(edge)组成的集合。

结点和边分别记作v和e,结点和边的集合分别记作V和E,图记作G=(V,E)。无向图是指边没有方向的图。

成对马尔科夫性:

没有直连边的任意两个节点都是独立的:

设u和v是无向图G中任意两个没有边连接的结点,结点u和v分别对应随机变量。其他所有结点为O(集合),对应的随机变量组是

局部马尔科夫性:

局部马尔可夫性是指在给定随机变量组的条件下随机变量与随机变量组是独立的,即:

 时,等价地:

P(V,O|W)为在W的条件下V、O的联合概率是多少。

全局马尔科夫性:

设结点集合A,B是在无向图G中被结点集合C分开的任意结点集合,如图所示。结点集合A,B和C所对应的随机变量组分别是,。全局马尔可夫性是指给定随机变量组条件下随机变量组是条件独立的,即:

概率无向图的运算规则为:

设其无向图为G,C为G上的最大团,表示一共有多少个最大团,表示C对应的随机变量。那么概率无向图模型的联合概率分布可写作图中所有最大团C上的函数的乘积形式,即:

其中,Z是规范化因子(normalization factor),由式

给出。规范化因子保证构成一个概率分布。函数称为势函数(potential function)。这里要求势函数是严格正的,通常定义为指数函数:

概率无向图模型的因子分解由下述定理来保证。

定理(Hammersley-Clifford定理)概率无向图模型的联合概率分布可以表示为如下形式:

          

其中,C是无向图的最大团,是C的结点对应的随机变量,是C上定义的严格正函数,乘积是在无向图所有的最大团上进行的。

条件随机场是对概率无向图的具体化:

条件随机场(conditional random field)是给定随机变量X条件下,随机变量Y的马尔可夫随机场。这里主要介绍定义在线性链上的特殊的条件随机场,称为线性链条件随机场(linearchain conditional random field)。线性链条件随机场可以用于标注等问题。这时,在条件概率模型中,Y是输出变量,表示标记序列,X是输入变量,表示需要标注的观测序列。也把标记序列称为状态序列(参见隐马尔可夫模型)。学习时,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型;预测时,对于给定的输入序列x,求出条件概率最大的输出序列y。

首先定义一般的条件随机场,然后定义线性链条件随机场。

定义(条件随机场)设X与Y是随机变量,是在给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图表示的马尔可夫随机场,即

其运算公式为:

对任意结点v成立,则称条件概率分布为条件随机场。式中w~v表示在图中与结点v有边连接的所有结点w,w≠v表示结点v以外的所有结点为结点v,u与w对应的随机变量。从定义来看,左边到右边点的数量大大减小,w≠v的点有|V|-1个,而w~v就少了。

在定义中并没有要求X和Y具有相同的结构。现实中,一般假设X和Y有相同的图结构。本书主要考虑无向图为线性链的情况,即

在此情况下,,最大团是相邻两个结点的集合。线性链条件随机场有下面的定义。

线性链条件随机场:

X和Y有相同的图结构的线性链条件随机场。

定义(线性链条件随机场) 均为线性链表示的随机变量序列,若在给定随机变量序列尤的条件下,随机变量序列Y的条件概率分布构成条件随机场,即满足马尔可夫性

则称为线性链条件随机场。在标注问题中,X表示输入观测序列,Y表示对应的输出标记序列或状态序列。

条件随机场的参数化形式

根据Hammersley-Clifford定理,可以给出线性链条件随机场的因子分解式,各因子是定义在相邻两个结点上的函数。

定理(线性链条件随机场的参数化形式)设为线性链条件随机场,则在随机变量X取值为x的条件下,随机变量Y取值为y的条件概率具有如下形式:

其中,

式中,是特征函数,是对应的权值。是规范化因子,求和是在所有可能的输出序列上进行的。

上面两个式子是线性链条件随机场模型的基本形式,表示给定输入序列x,对输出序列y预测的条件概率。其中是定义在边上的特征函数,称为转移特征(t是transition的缩写,方便记忆),依赖于当前和前一个位置,是定义在结点上的特征函数,称为状态特征(s是status的缩写),依赖于当前位置(无论哪种特征函数,都将当前可能的y_i作为参数)。都依赖于位置,是局部特征函数。通常,特征函数取值为1或0;当满足特征条件时取值为1,否则为0。条件随机场完全由特征函数和对应的权值确定。

线性链条件随机场也是对数线性模型(loglinear model)。

条件随机场的简化形式

条件随机场还可以由简化形式表示。注意到条件随机场式中同一特征在各个位置都有定义,可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。

为简便起见,首先将转移特征和状态特征及其权值用统一的符号表示。设有个转移特征,个状态特征,

上式其实是对特征函数进行编码,编号的前个属于转移特征,后个属于状态特征。编号统一了,后面就可以放到同一个矩阵里了。

然后,对转移与状态特征在各个位置i求和,记作

上式的特征函数虽然都写成接受4个参数的形式,但对状态特征函数而言,y_i-1是会被忽略掉的。

表示特征的权值,即

于是,条件随机场可表示为

若以w表示权值向量,即:

以表示全局特征向量,即:

则条件随机场可以写成向量w与的内积的形式:

其中,

条件随机场的矩阵形式

条件随机场还可以由矩阵表示。假设是由内积形式给出的线性链条件随机场,表示对给定观测序列x,相应的标记序列y的条件概率。引进特殊的起点和终点状态标记,这时可以通过矩阵形式表示。

对观测序列x的每一个位置i=1,2,…,n+1,定义一个m阶矩阵(m是标记y_i取值的个数,因为x是给定的,i-1位置和i位置各有m种可能,所以是m阶的)

这样,给定观测序列x,标记序列y的非规范化概率可以通过n+1个矩阵的乘积表示,于是,条件概率

其中,为规范化因子,是n+1个矩阵的乘积的(start,stop)元素:

注意,表示开始状态与终止状态,规范化因子是以start为起点stop为终点通过状态的所有路径的非规范化概率之和。

这里的M矩阵像极了一阶HMM中的转移概率矩阵,因为链式CRF中只有相邻两个节点间才有连接边。

条件随机场的概率计算问题

条件随机场的概率计算问题是给定条件随机场,输入序列x和输出序列y,计算条件概率以及相应的数学期望的问题。为了方便起见,像隐马尔可夫模型那样,引进前向-后向向量,递归地计算以上概率及期望值。这样的算法称为前向-后向算法。

前向-后向算法

对每个指标,定义前向向量

递推公式为:

又可表示为:

表示在位置i的标记是y_i并且到位置i的前部分标记序列的非规范化概率,y_i可取的值有m个,所以是m维列向量。

同样,对每个指标,定义后向向量:

又可以表示为:

表示在位置i的标记为,并且从i+1到n的后部分标记序列的非规范化概率。

由前向-后向向量定义不难得到:

这里,是元素均为1的m维列向量。

概率计算

按照前向-后向向量的定义,很容易计算标记序列在位置i是标记的条件概率和在位置i-1与i是标记的条件概率:

其中:

期望值的计算:

利用前向-后向向量,可以计算特征函数关于联合分布和条件分布的数学期望。

特征函数关于条件分布的数学期望是

其中:

假设经验分布为,特征函数关于联合分布的数学期望是

其中,

 

这个式子是特征函数数学期望的一般计算公式。对于转移特征,可以将式中的换成;对于状态特征,可以将式中的换成,表示为:

有了这些式子,对于给定的观测序列x与标记序列y,可以通过一次前向扫描计算,通过一次后向扫描计算,从而计算所有的概率和特征的期望。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值