CRF条件随机场
CRF的进化
https://flystarhe.github.io/2016/07/13/hmm-memm-crf/参考:
http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/
说明:因为MEMM只在局部做归一化,所以容易陷入局部最优,而CRF模型中,统计了全局概率,在做归一化时,考虑数据在全局的分布,而不是仅仅在局部归一化,解决了MEMM中的标记偏置的问题,可以得到全局最优;CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息,特征设计灵活。但是CRF有明显的缺点:训练代价大、复杂度高。
补充说明:首先,CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像词性标注,True casing。但隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择,而最大熵隐马模型则解决了这一问题,可以任意的选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题(label bias),即凡是训练语料中未出现的情况全都忽略掉,而条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。目前,条件随机场的训练和解码的开源工具还只支持链式的序列,复杂的尚不支持,而且训练时间很长,但效果还可以。
标记偏置问题:MEMM最大熵马尔可夫模型

路径1-1-1-1的概率:0.4*0.45*0.5=0.09
路径2-2-2-2的概率:0.2*0.3*0.3=0.018
路径1-2-1-2的概率:0.6*0.2*0.5=0.06
存在的问题:State 1中每个结点都倾向于转移到State 2,由于MEMM的局部归一化特性,使得转出概率的分布不均衡,最终导致状态的转移存在不公平的情况
如果把每个节点转出概率和为1的限制去掉,比如我们简单把图中State 2中每个结点出发的边的概率值×10
路径1-1-1-1的概率:0.4*0.45*0.5=0.09
路径2-2-2-2的概率:2*3*3=18
路径1-2-1-2的概率:0.6*2*0.5=0.6
HMM,MEMM,CRF
HMM模型中两个假设:一是输出观察值之间严格独立,二是状态的转移过程中当前状态只与前一状态有关(一阶马尔可夫模型)

MEMM模型克服了观察值之间严格独立产生的问题

CRF模型解决了标注偏置问题

CRF的部分推导
CRF的特征函数
对分数进行标准化和归一化:


CRF的求解
优化采用的是带惩罚项的极大似然估计


求解可以用梯度上升,牛顿法,BFGS

CRF和HMM之间的联系
HMM的定义:(每个HMM都能对应莫个CRF)


CRF可以定义数量更多,种类更丰富的特征函数。HMM模型具有天然具有局部性,就是说,在HMM模型中,当前的单词只依赖于当前的标签,当前的标签只依赖于前一个标签。这样的局部性限制了HMM只能定义相应类型的特征函数,我们在上面也看到了。但是CRF却可以着眼于整个句子s定义更具有全局性的特征函数,如这个特征函数:
CRF可以使用任意的权重 将对数HMM模型看做CRF时,特征函数的权重由于是log形式的概率,所以都是小于等于0的,而且概率还要满足相应的限制
CRF条件随机场的更多相关文章
- 【算法】CRF(条件随机场)
CRF(条件随机场) 基本概念 场是什么 场就是一个联合概率分布.比如有3个变量,y1,y2,y3, 取值范围是{0,1}.联合概率分布就是{P(y2=0|y1=0,y3=0), P(y3=0|y1= ...
- CRF 条件随机场工具包
CRF - 条件随机场 工具包(python/c++) 项目案例 ConvCRF+FullCRF https://github.com/MarvinTeichmann/ConvCRF 需要的包Opti ...
- CRF条件随机场简介
CRF(Conditional Random Field) 条件随机场是近几年自然语言处理领域常用的算法之一,常用于句法分析.命名实体识别.词性标注等.在我看来,CRF就像一个反向的隐马尔可夫模型(H ...
- 标注-CRF条件随机场
1 概率无向图模型1.1 模型定义1.2 因子分解2 条件随机场的定义2.2 条件随机场的参数化形式2.3 条件随机场的简化形式2.4 条件随机场的矩阵形式 3 条件随机场的概率计算问题 3.1 前向 ...
- Machine Learning系列--CRF条件随机场总结
根据<统计学习方法>一书中的描述,条件随机场(conditional random field, CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出 ...
- CRF条件随机场简介<转>
转自http://hi.baidu.com/hehehehello/item/3b0d1f8ba1c2e5c698255f89 CRF(Conditional Random Field) 条件随机场是 ...
- Viterbi(维特比)算法在CRF(条件随机场)中是如何起作用的?
之前我们介绍过BERT+CRF来进行命名实体识别,并对其中的BERT和CRF的概念和作用做了相关的介绍,然对于CRF中的最优的标签序列的计算原理,我们只提到了维特比算法,并没有做进一步的解释,本文将对 ...
- CRF条件随机场在机器视觉中的解释
CRF是一种判别模型,本质是给定观察值集合的马尔科夫随机场(MRF),而MRF是加了马尔科夫性质限制的随机场. 马尔科夫性质:全局.局部.成对 随机场:看做一组随机变量的集合(对应于同一个样本空间), ...
- CRF(条件随机场)与Viterbi(维特比)算法原理详解
摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...
随机推荐
- 【纪中集训2019.3.23】Deadline
题意 描述 一个二分图\((A,B)\),每个点额外有一个颜色0或者1: 匹配时,只能相同颜色的点匹配: 给出\(A\)中的颜色,问如何分配\(B\)种的颜色使得\((A,B)\)的最大匹配最小: 范 ...
- Webpack 配置示例
Webpack 作为前端构建工具,对于大型网站开发,大大提升了开发效率.要使用webpack需要先安装webpack工具: 先来看一个最简单的命令 $ webpack main.js bundle.j ...
- POI的XWPFParagraph.getRuns分段问题 多余逗号
POI的XWPFParagraph.getRuns分段问题 2018年08月28日 09:49:32 银爪地海贼 阅读数:376 这是我的模板 后台打印出来是分段的 造成这样的原因是${name} ...
- SpringMVC 上传文件(文件非必填)MultipartHttpServletRequest
原文:https://blog.csdn.net/dorothy1224/article/details/79136676 上传文件(文件非必填)MultipartHttpServletRequest ...
- mac 10.13 build 一个 redis desktop manager
build 的东西比较多,性能差的电脑编译会很久. 下载地址:https://redisdesktop.com/download 本来想下载一个,但是发现只有 windows 是免费的,不过官网提供了 ...
- windows下Python三步安装pip
pip是用来方便地管理Python的第三方包的,由于此前玩Python仅仅是浅尝辄止,用的是python(x,y),但是这里并不代表你想用什么包都能从里面找到的,所以我把python(x,y)卸了,然 ...
- Chapter7(类) --C++Prime笔记
类(关键词):数据抽象(数据成员和函数成员),封装(private),构造函数,静态成员 1.判断一个类是否是抽象数据类型,可以看我们对这个类的操作是对你内的数据成员操作,自己编写相应的处理函数,还是 ...
- Linux Wget 命令实例讲解
Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的 ...
- bzoj千题计划120:bzoj1032[JSOI2007]祖码Zuma
http://www.lydsy.com/JudgeOnline/problem.php?id=1032 https://www.luogu.org/discuss/show?postid=8416 ...
- [IOI2011]Race
2599: [IOI2011]Race Time Limit: 70 Sec Memory Limit: 128 MBhttp://www.lydsy.com/JudgeOnline/problem ...