机器学习之条件随机场(CRF)
什么是CRF
CRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。
CRF较多用在自然语言处理和图像处理领域,在NLP中,它是用于标注和划分序列数据的概率化模型,根据CRF的定义,相对序列就是给定观测序列X和输出序列Y,然后通过定义条件概率P(Y|X)来描述模型。
CRF的输出随机变量假设是一个无向图模型或者马尔科夫随机场,而输入随机变量作为条件不假设为马尔科夫随机场,CRF的图模型结构理论上可以任意给定,但我们常见的是定义在线性链上的特殊的条件随机场,称为线性链条件随机场。
概率无向图模型
前面说到CRF的输出随机变量是一个概率无向图模型,那么现在看看该模型。
概率无向图模型是由无向图表示的联合概率分布,假设联合概率分布P(Y)通过无向图来表示,则在图中节点表示随机变量,边表示随机变量之间的依赖关系,联合概率分布P(Y)满足马尔科夫性则称其为概率无向图模型,或者是马尔科夫随机场。
如下图,图是一个由节点和边组成的结构体,无向是指边没有方向,整个图记作G=(V,E),其中V为节点的集合,E为边的集合。
每个节点v对应一个随机变量$Y_v$,于是,在观察序列X的条件下,每个随机变量$Y_v$都满足马尔科夫特性,即
,表示w和v是图G中邻近的两个节点。
线性链条件随机场
无向图的结构理论上可以是任意的,但在NLP中对于标记处理问题,对其建模主要用最简单最普通的链式结构,即线性链条件随机场。如下图,可以看到节点为线性链结构,节点对应了序列Y的元素,而观察序列X不做任何独立性假设,但X序列的结构也可以是线性链结构。
综上所述,设有线性链结构的随机变量序列,在给定观察序列X的条件下,随机变量序列Y的条件概率分布为$P(Y|X)$,若其满足马尔科夫特性,即
,这时$P(Y|X)$则为线性链条件随机场。
概率的定义
如何训练CRF
啥时考虑CRF
如果信息是与时间或空间的前后有关联时要考虑到CRF。
以下是广告
========广告时间========
鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 item.jd.com/12185360.ht… 进行预定。感谢各位朋友。
=========================