科学网

 找回密码
  注册
科学网 标签 CRF

tag 标签: CRF

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

A CRF-Based System for Recognizing Chemical Entities
xiaohai2008 2013-10-11 15:25
@INPROCEEDINGS{XAZZ+13, author = {Xu, Shuo and An, Xin and Zhu, Lijun and Zhang, Yunliang and Zhang, Haodong}, title = {A {CRF}-Based System for Recognizing Chemical Entities in Biomedical Literature}, booktitle = {Proceedings of the 4th BioCreative Challenge Evaluation Workshop}, year = {2013}, volume = {2}, series = {152--157}, abstract = {One of tasks of the BioCreative IV competition, the CHEMDNER task, includes two subtasks: CEM and CDI. We participated in the later subtask, and developed a CEM recognition system on the basis of CRF approach and some open-source NLP toolkits. Our system processing pipeline consists of three major components: pre-processing (sentence detection, tokenization), recognition (CRF-based approach), and post-processing (rule-based approach and format conversion).}, keywords = {Chemical Compound and Drug Name Recognition \sep Conditional Random FField (CRFs) \sep Entity Mention \sep Rule-based Approach}, } 全文见: CEM.pdf
个人分类: 机器学习|3669 次阅读|0 个评论
CRF Vs. MRF
justinzhao 2013-1-26 08:10
CRF and MRF are two popular graphical models, which is an intuitive model to model all kinds of networks. Recently deep belief network has aroused a huge surge in Machine Learning community, and it got state of the art results in numerous fields, like object recognition, acoustic understanding and topic modeling. DBN is also one kind of graphical models. As we know, CRF is a discriminative model, while MRF is a generative model. Naive Bayes is probably the simplest MRF, while logistic regression is one kind of simple CRFs. The key difference between these two kinds of models is that: MRF is trying to model a joint distribution p(X,Y), however, CRF aims to build a conditional distribution p(Y|X). To be more clear, there are no kinds of potential functions like g(x1,x2) in CRF. Nevertheless, the learning methods procedures are quite the same, and maximum likelihood works for both model. By the way, for parameter learning in DBN, Prof. Hinton developed a method called contrastive divergence, which is pseudo-likelihood. One important theorem in undirected graph is: Hammersley-Clifford theorem: a positive distribution p(y) 0 satisfies the conditional independence properties of an undirected graph G if and only if p can be represented as a product of factors, one per maximal clique.
个人分类: 读书日记|8177 次阅读|0 个评论
two popular graphical models
justinzhao 2012-12-15 15:24
discriminative model: An introduction to conditional random fields for relational learning (CRF) generative model: Learning deep architectures for AI (DBN)
个人分类: 读书日记|2037 次阅读|0 个评论
生物信息之ME, HMM, MEMM, CRF
热度 1 hjanime 2012-5-22 14:50
做高端的生物信息理论离不开各种modeling 于是乎漫长的digest之路开始... 最大熵模型 Maximum Entropy 现从一个简单例子看起: 比如华盛顿和维吉利亚都可以作人名和地名,而从语料中只知道p(人名)=0.6,那么p(华盛顿=人名)的概率为多少比较好呢?一个直观的想法就是p(华盛顿=人名)=0.3。为什么呢?这就是在满足已有证据的情况下不做任何其他假设,也就是熵最大,这就是最大熵模型的原理。 现在来看模型的定义: 首先,明确模型的目标:给定一个上下文x,估计p(y|x) 接着,从训练样本中我们可以得到一串标注过的样本(x_i, y_i),其中x_i为上下文,y_i \in Y为类别 然后构造特征函数 f(x,y) = 1 如果x,y满足一些条件,比如x=记者*,y=人名 0 otherwise 注意x是一个上下文,是个向量,而不是单个词 (最大熵模型里的特征概念不同于模式识别里的特征,这里的特征即特征函数,通常是二值函数,也有直接定义成实数的,比如 jeon-sigir06里直接把f定义为KDE距离,不是很明白那样定义的好处。) 于是模型的约束就是对于所有的特征函数模型中的期望等于样本的期望,即 E_p(f) = E_{\tilde p}(f) 其中 E_p(f) = \sum_{x, y}p(x, y)f(x, y) = \sum_{x, y}p(x)p(y|x)f(x,y) \approx \sum_{x, y} \tilde p(x)p(y|x)f(x,y) \tilde p(f) = \sum_{x, y} \tilde p(x, y)f(x, y), 并且对于任意的x:\sum_y p(y|x) = 1 而模型的熵为 H(p)=-\sum_{x,y} \tilde p(x) p(y|x) \log p(y|x) 在满足约束的情况下,使熵最大,于是问题即求 p* =\argmax_{p \in P} -\sum{x, y} p(y|x)\tilde p(x) \log p(y|x) where P={p(y|x) | \all f_i : \sum_{x,y}p(y|x)\tilde p(x)f_i(x,y) = \sum_{x,y}\tilde p(x,y)f_i(x,y), \all x : \sum_y p(y|x) = 1} 可以证明,模型的最优解的形式为 p(y|x) = exp(\sum_i \lambda_i f_i(x,y)) / Zx where Zx = \sum_y exp(\sum_i \lambda_i f_i(x,y)) 隐马尔可夫模型 Hidden Markov Model 马尔可夫模型实际上是个有限状态机,两两状态间有转移概率;隐马尔可夫模型中状态不可见,我们只能看到输出序列,也就是每次状态转移会抛出个观测值;当我们观察到观测序列后,要找到最佳的状态序列。 设O为观测值,x为隐变量,那么模型要找到让P(O)最大的最佳隐藏状态,而 P(O) = \sum_x P(O|X)P(X) 而其中 P(X)=p(x_1)p(x_{2..n}|x_1) =p(x_1)p(x_2|x_1)p(x_{3..n}|x_1,x_2) …… 根据x_i只与x_{i-1}相关的假设有 P(X)=p(x_1)p(x_2|x_1)p(x_3|x_2)…… 而类似的 P(O|X)=p(o_1|x_{1..n})p(o_{2..n}|o_1x_{1..n}) =p(o_1|x_{1..n})p(o_2|o_1x_{1..n})p(o_{3..n}|o_{1,2},x_{1..n}) …… 根据o_i只与x_i有关的假设有 P(O|X)=p(o_1|x_1)p(o_2|x_2)…… 合起来就是 P(O)=\sum_x p(x_1)p(x_2|x_1)p(o_1|x_1)p(x_3|x_2)p(o_2|x_2)…… 定义向前变量\alpha_i(t)为t时刻以状态S_i结束时的总概率 \alpha_j(t)=\sum_{i=1}^N \alpha_ip(x_{t}=j|x_{t-1}=i)p(o_t=i|x_t=i) 定义向后变量\beta_i(t)为给定当前状态S_i和t时刻情况下观测序列中剩余部分的概率和 \beta_i(t)=\sum_{j=1}^N \p(x_{t}=j|x_{t+1}=i)p(o_{t}=i|x_{t}=i) \beta_j(t+1) 于是观测序列的概率为 P(O, X_t=i) = \alpha_i(t)\beta_i(t) 最佳状态可以由动态规划得到 模型参数可以由EM算法得到 最大熵隐马 Maximum Entropy Markov Model HMM的缺点是根据观测序列决定状态序列,是用联合模型解决条件问题;另外,几乎不可能枚举所有所有可能的观测序列。 而MEMM解决了这些问题。 首先,MEMM和MM或HMM都有本质不同,MEMM估计的是P(S|O),而MM估计的是P(S),HMM估计的都是P(O)。 P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O) =P(s_1|O)P(s_2|s_1,O)P(s_{3..n}|s_1,s_2,O) …… 然后根据假设有 P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O) =P(s_1|o_1)P(s_2|s_1,o_2)P(s_{3..n}|s_1,s_2,o_3) …… 重新定义特征函数: a=b,r b是指示函数用于指示当前观测 r是状态值 f_a(o_t, S_t) = 1 if b(o_t) is true and s_t = r 于是约束变为 E_a = \sum_{k=1}^m_{s'}\sum_{s \in S}P(s|s', o_k)f_a(o_k, s) / m_s' = \sum_{k=1}^m_{s'} f_a(o_k, s_k) = F_a 这个目标函数和ME的目标函数实质是一样的 于是解的形式为 P(s|s', o)=exp(\sum_a \lambda_a f_a(o, s)) / Z(o, s') 然后依然采用HMM中的前向后向变量,寻找最佳序列 而实际上得到的序列是由计算 P(s|o) = P(s_0)P(s_1|s_0,o_0)P(s_2|s_1, o_1)…… 得到 条件随机场 Conditional Random Fields MEMM其实是用局部信息去优化全局,会有label bias的问题。比如rib和rob,有如下的状态设计: /r 1i - 2 \ 0 b 3 \r 4o - 5 / 如果训练集合里的ri多于ro,那么ro其实就被无视了…… 所以要用全局优化全局,于是引入CRF,其实CRF就是ME扩展版,并不需要由MRF推出 p(y|x)\propto exp(\sum_i\lumbda_k f_k(y_{i-1}, y_i, x)+\sum_k \lumbda_kg_k(x_k, x)) 其实这个定义并保持MRF性质:MRF中clique于clique是独立的 从这点意义上来看,Lafferty也满水的= = 虽然X,Y在图上不需要有相同的结构,甚至X都不需要有图的结构,目前通常G只是一条链G=(V={1,2, ..., m}),E={(i,i+1)}。 如果G是一棵树,它的团就是每条边和其上的点,这时候 p_\theta(y|x) = exp(\sun_{e\in E, k}\lambda_k f_k(e,y|_e, x)+\sum_{v \in V,k}\mu_k g_k(v, y|_v, x)) x是上下文,y是标注序列,y|_s是y中与子图S相连的部分 如果是最简单的first-order情况,g_k就相当于ME中的特征函数,f_k类似于MEMM中的特征函数,就是说用g_k来指示状态,用f_k来指示状态转移 从优化角度来说,这两类函数是一样的,可以简写为f_j(y_{i-1},y_i,x,i),于是训练类似ME 当CRF是链状时,一个上下文x的标注可以利用矩阵高效计算 对于长度为n的y,定义n+1个|Y|*|Y|矩阵{M_i(x)|i=1..n+1},其中 Y是类别个数 M_i(y', y|x) = exp(\sum_j \lambda_j f_j(y', y, x, i)) 这个就是第i个矩阵i,j上的元素,表示在x下从y'转移到y的概率 于是有p(y|x, \lambda)=\multi_{i=1}^{n+1}M_i(y_{i-1},y_i|x) / Zx Zx = \multi_{i=1}^{n+1}M_i(x) Zx只是保证概率之和为1 原来已经有人开始做复杂的情况了……04年cvpr有篇用CRF做图像标注的。 看来易想到的idea一般都会有人做了…… John Lafferty, Andrew McCallum这两个人无比牛啊!! 几乎引领着CRF这一领域的发展:虽然ME不是1拉最先提出来的,但是1拉从96年就开始研究crf相关的东西, 这种牛就是每年N篇ICML+N篇NIPS……而且1看起来还是满ss的,套套看,kaka……Andrew McCallum从1999年开始做ME,那年与John Lafferty合作在IJCAI上发了篇用ME做文本分类的文章,2003年在ICML上发了篇Dynamic CRF,然后又把CRF应用在CV上,也是每年N篇ICML+N篇NIPS的人物,1虽然不如John Lafferty ss,但也还是很可爱的!发现牛人的圈子其实很小,一个领域领头人物也就那么几个…… 原来HMM和MEMM,CRF估的东西就不一样,所以以前怎么推都推不出……= = 不过最近发现 conditional random fields ( CRF s) 应用于 model RNA sequence–structure relationship , predict post-translational modification sites (labels) in protein sequences 越来越广泛了 看来新PGM总有优势所在呀》》 先总结到这儿,欢迎大牛们指点,
个人分类: 生物信息|7427 次阅读|1 个评论
用条件随机场做像素级图像标记
ciwei020621 2012-2-16 15:03
用条件随机场做像素级图像标记
Multiscale conditional random fields for image labeling Xuming He; Zemel, R.S.; Carreira-Perpinan, M.A.; Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on Volume: 2 Digital Object Identifier: 10.1109/CVPR.2004.1315232 Publication Year: 2004 , Page(s): II-695 - II-702 Vol.2 Cited by: 3 文章采用一个多尺度的CRF,对图像进行像素级标记。 所谓的多尺度,实际上是用了三级势函数: 1、Local Classifier 实际讲的是像素与标记之间的对应关系,及标准CRF中的势函数。文中采用了一个所谓的多层感知器 2、Region Label Feature 讲对象之间的几何关系,如edge,corner或T叉点 3、Globe Label Feature 全局标记特征通过对隐全局变量和标记变量进行无向连接产生。 4、完整的模型 这篇文章的后续进展见下一篇博文
5016 次阅读|0 个评论
条件随机域/conditional random field
petrelli 2010-9-25 16:01
wiki上的解释: http://en.wikipedia.org/wiki/Conditional_random_field Wallach, H.M.: Conditional random fields: An introduction . Technical report MS-CIS-04-21, University of Pennsylvania (2004) 这篇文章说明了CRF是一个判别式的概率模型,相比普通的判别式模型,里面用到了图论工具,因为CRF用在序列型数据中,样本构成了一条链式结构. Sutton, C., McCallum, A.: An Introduction to Conditional Random Fields for Relational Learning. In Introduction to Statistical Relational Learning. Edited by Lise Getoor and Ben Taskar. MIT Press. (2006) 中的图解说明了CRF与其他模型之间的联系. Lafferty开始给出的CRF的定义为:
个人分类: 读书笔记|120 次阅读|0 个评论
4G内存终于用上了
gothere 2008-11-1 14:02
整大内存就是为了使用CRF做较大规模的训练。可是在win32、64位系统下面,由于crf_win是32位系统下编译的二进制文件,受制于内存分配的dll限制,不管内存有多大,crf都只能使用2G(1.88G)的内存。如果想突破这个限制,要么在linux下完成,要么重新编译一个win下的二进制执行文件。 我采用的是第一种方法,为了减少编译内核的风险(我就失败了一次),最好直接找一个带有C++编译器和开发环境的64位版linux系统,我用的是SuSe企业版,在里面install一下crf,就可以得到至少16G内存的使用权了。而且真的要赞一句这个系统,可以在文件夹管理器中调用使用cmd,免去了手工进入文件夹的繁琐,真是不错啊。 我只用了第一种方法,希望有人能够给出更为实用的第二种解决方案,我测试过crf的win版本可以运行在win server 64位 版本上,只要重编译应该就可以了,这样就可以让喜欢win系统的人舒服些了。
个人分类: Programming|4543 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 03:04

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部