条件随机场(CRF)理论及应用
http://x-algo.cn/index.php/2016/02/15/conditional-random-field-crf-theory-and-implementation/
条件随机场(CRF)是给定一组输入随机变量条件下,求另一组输出随机变量的条件概率分布的模型;其特点是假设输出随机变量构成马尔科夫随机场(后面解释),条件随机场可以用于不同的预测问题,对自然语言处理过程主要是线性(linear chain)条件随机场,这时,问题变成了由输入序列对输出序列预测的判别模型,形式为对数 线性模型,学习方法为极大似然估计或者正则化的极大似然估计。条件随机场和隐马类似,对应得得三个基本问题:概率计算问题、学习问题和预测问题。
文章目录 [展开]
概率无向图模型
概率无向图模型(probabilistic undirected graphical model)又称为马尔科夫随机场,是一个可以由无向图表示的联合概率分布。
定义:设有联合概率分布于P(Y),由无向图G=(V,E)表示,在图G中,节点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对、局部或全局马尔科夫性,就称此联合概率分布为概率无线图模型
成对、局部或全局马尔科夫性,大白话就是说每一个节点的分布只和有边相连的节点有关系。
概率无向图的因子分解
因子分解是建立在最大团的理论之上,这里先介绍最大团
定义(团和最大团):无向图G中任何两个节点均有边链接的节点自己称为团(clique)。若C是无向图的一个团,并且不能再加入任何一个G的节点使其成为一个更大的团,则称此C为最大团(maximal clique)。
下图中有两个节点组成的团有五个:{A,B},{B,C},{A,C},{C,D},{B,D};有两个最大团:{A,B,C},{B,C,D};而{A,B,C,D}不是一个团,因为A和D之间没有边。
定义(因子分解):将概率无向图模型的联合概率分布表示为其上最大团的随机变量的函数的乘机的形式的操作,成为概率无向图模型的因子分解(factorization)。
给定无向图模型G,其中C表示的是最大团, YCYC 表示C对应的随机变量,联合概率分布P(Y)可写作图中所有最大团C上的函数 φC(YC)φC(YC) 的乘积形式:
P(Y)=1Z∏CφC(YC)P(Y)=1Z∏CφC(YC)
其中Z是规范化因子:
Z=∑Y∏CφC(YC)Z=∑Y∏CφC(YC)
规范化因子保证P(Y)构成一个概率分布,函数 φCφC 称为势函数,这里要求势函数是严格正的,通常定义的为指数函数
φC(YC)=e−E(YC)φC(YC)=e−E(YC)
条件随机场的定义
定义(条件随机场):设X和Y是随机变量,P(Y|X)是在给定X的条件下的Y的条件分布,若随机变量Y构成一个无向图G=(V,E)表示的马尔科夫场,即:
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w∼v)P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w∼v)
对任意的节点v成立,则称条件概率分布P(Y|X)为条件随机场。其中 w∼vw∼v 表示在图G=(V,E)中,节点v有边链接的所有节点w, w≠vw≠v 表示节点v以外的所有节点。
定义中并没有要求X和Y具有相同的图结构,现实中,一般假设X和Y具有相同的图结构。本文主要讨论下面两种线性链的情况。
根据定义,线性链的的条件随机场可以表示为(请不要纠结边界):
P(Yi|X,Y1,Y2,...,Yi−1,Yi+1,...,Yn)=P(Yi|X,Yi−1,Yi+1)P(Yi|X,Y1,Y2,...,Yi−1,Yi+1,...,Yn)=P(Yi|X,Yi−1,Yi+1)
线性条件随机场的参数化形式
线性条件随机场中每个最大团都包含两个节点,当前节点为i前一个节点为i-1。特征粒度是在最大团的粒度,并且是两个相邻节点{i-1, i}。一般来说特征分为两类,作用在边上的特征和作用在节点上的特征,边上的第m维特征用 tmtm 表示,节点上的第l维特征用 slsl 表示。每个团的特征向量为 (t1,t2,...,tm,...,tM,s1,s2,...sl,...,sL)(t1,t2,...,tm,...,tM,s1,s2,...sl,...,sL) ,为了表示方便,通常用 (f1,f2,...,fM,fM+1,....,fM+L)(f1,f2,...,fM,fM+1,....,fM+L) 表示;类似线性模型,每个特征都要学习出来一个权重 w=(w1,w2,...,wM+L)w=(w1,w2,...,wM+L) 。
用公式表示即为:
P(y|x)=1Z(x)exp∑Kk=1wkfk(y,x)P(y|x)=1Z(x)exp∑k=1Kwkfk(y,x)
Z(x)=∑yexp∑Kk=1wkfk(y,x)Z(x)=∑yexp∑k=1Kwkfk(y,x)
fk(y,x)=∑ni=1fk(yi−1,yi,x,i)fk(y,x)=∑i=1nfk(yi−1,yi,x,i)
条件随机场的概率计算问题
在已知参数和求给定观测序列的概率的时候,只需要依次从前到后计算每一个最大团的向量乘积即可。
条件随机场的学习算法
具体的实现算法有改进的迭代尺度法、梯度下降法以及拟牛顿法。
条件随机场的预测算法
预测算法和HMM类似,是维特比算法。
预测问题,就是从多个候选标注中挑选出来一种标注概率最高的。由于归一化因子不影响值的比较,所以只需要比较分子部分的『非规范化概率』。这个求最优的过程可以通过数学表示为:
maxy ∑ni=1w⋅Fi(yi−1,yi,x)maxy ∑i=1nw⋅Fi(yi−1,yi,x)
其中,
Fi(yi−1,yi,x)=(f1(yi−1,yi,x,i),f2(yi−1,yi,x,i),...,fk(yi−1,yi,x,i))TFi(yi−1,yi,x)=(f1(yi−1,yi,x,i),f2(yi−1,yi,x,i),...,fk(yi−1,yi,x,i))T
接下来就是使用维特比算法对每一个位置i,计算标注为 cjcj 的最大概率,对于每一个位置有多个可能的标注,定义 ϱi(j)ϱi(j) 表示第i个位置,标注序列是 cjcj 结束的最大概率,所以动态转移方程可以表示为:
ϱi(j)=max1≤l≤J{ϱi−1(l)+w⋅Fi(yi−1=l,yi=j,x)},l=1,2,3...Jϱi(j)=max1≤l≤J{ϱi−1(l)+w⋅Fi(yi−1=l,yi=j,x)},l=1,2,3...J
对第一个位置可以表示为:
ϱ1(j)=w⋅F1(y0=start,y1=j,x), j=1,2,...,Jϱ1(j)=w⋅F1(y0=start,y1=j,x), j=1,2,...,J
计算的时候记录一下路径就可以了。
应用
条件随机场(CRF)理论及应用的更多相关文章
- 条件随机场(CRF) - 2 - 定义和形式(转载)
转载自:http://www.68idc.cn/help/jiabenmake/qita/20160530618218.html 参考书本: <2012.李航.统计学习方法.pdf> 书上 ...
- 条件随机场(CRF) - 1 - 简介(转载)
转载自:http://www.68idc.cn/help/jiabenmake/qita/20160530618222.html 首先我们先弄懂什么是"条件随机场",然后再探索其详 ...
- 条件随机场CRF(一)从随机场到线性链条件随机场
条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估观察序列概率(TODO) 条件随机场CRF(三) 模型学习与维特比算法解码(TODO) 条件随机场(Condi ...
- 条件随机场CRF(三) 模型学习与维特比算法解码
条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估标记序列概率 条件随机场CRF(三) 模型学习与维特比算法解码 在CRF系列的前两篇,我们总结了CRF的模型基 ...
- 条件随机场CRF(二) 前向后向算法评估标记序列概率
条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估标记序列概率 条件随机场CRF(三) 模型学习与维特比算法解码 在条件随机场CRF(一)中我们总结了CRF的模 ...
- 条件随机场 (CRF) 分词序列谈之一(转)
http://langiner.blog.51cto.com/1989264/379166 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.ht ...
- 条件随机场CRF
条件随机场(CRF)是给定一组输入随机变量X的条件下另一组输出随机变量Y的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场.实际上是定义在时序数据上的对数线性模型.条件随机场属于判别模型. ...
- 条件随机场(CRF) - 1 - 简介
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...
- 条件随机场(CRF) - 2 - 定义和形式
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xueyingxue001/article/details/51498968声明: 1,本篇为个人对& ...
- 条件随机场CRF简介
http://blog.csdn.net/xmdxcsj/article/details/48790317 Crf模型 1. 定义 一阶(只考虑y前面的一个)线性条件随机场: 相比于最大熵模型的输 ...
随机推荐
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem I. Plugs and Sockets 费用流
Problem I. Plugs and Sockets 题目连接: http://www.codeforces.com/gym/100253 Description The Berland Regi ...
- ELASTIC制图等高级使用
基于上一个安装部署的文档后(ELASTIC 5.2部署并收集nginx日志) http://www.cnblogs.com/kerwinC/p/6387073.html 本次带来一些使用的分享. ki ...
- mysql慢查询日志功能的使用
作用:mysql慢查询日志可监控有效率问题的SQL .. 一.开启mysql慢查询日志功能 1.查看是否开启 未使用索引的SQL记录日志查询 mysql> show variables like ...
- 微服务架构的分布式事务解决方案 - zhaorui2017的博客 - CSDN博客
微服务架构的分布式事务解决方案 - zhaorui2017的博客 - CSDN博客 http://blog.csdn.net/zhaorui2017/article/details/7643679 ...
- 数据库数据格式化之Kettle Spoon
前言 现在的数据库种类越来越多,数据库备份的格式也越来越复杂,所以数据格式化一直是一个老生常谈的问题.据库备份文件格式那么多,既有SQL的,也有BAK的,还有TXT的等.数据库种类也有很多,MySQL ...
- MySQL是如何利用索引的
http://fordba.com/spend-10-min-to-understand-how-mysql-use-index.html
- linux socket talkclient talkserver示例
cleint: #define _GNU_SOURCE 1 #include <sys/types.h> #include <sys/socket.h> #include &l ...
- C#面向服务编程技术WCF从入门到实战演练
一.WCF课程介绍 1.1.Web Service会被WCF取代吗? 对于这个问题阿笨的回答是:两者在功能特性上却是有新旧之分,但是对于特定的系统,适合自己的就是最好的.不能哪一个技术框架和行业标准作 ...
- 蜻蜓FM涉嫌诈骗投资人和广告主源代码剖析
引用自:https://github.com/cryfish2015/QingTingCheat 本文主要内容,引用自知乎的这篇文章:如何评价蜻蜓 FM 伪造用户活跃度等数据 感谢“左莫”.“任正”等 ...
- C#编程(小结)---------- 小总结
总结 概括 委托是寻址方法的.NET版本,类似于C++中的指针.委托可以理解为指向函数的指针,它是类型安全的,定义了具体的参数和返回值. 定义一个委托,实际上是定义一个类,委托是对方法的引用,如方法F ...