CRF——概率无向图模型到线性链条件随机场
概率无向图
定义
概率无向图模型(Probabilistic Undirected Graphical Model) 是一个可以用无向图表示的联合概率分布,它的整体结构是一张图(Graph),图中每个节点表示一个或者一组变量,节点之间的边表示这两个/组变量之间的依赖关系,概率无向图模型也叫马尔科夫随机场:
势函数和团
介绍几个重要概念:
- 势函数(Potential Function,又称因子Factor):是定义在变量子集上的非负实函数,用于定义概率分布函数。
- 团:图中节点的子集,其中任意两个节点之间都有边连接。
- 极大团:一个团,其中加入任何一个其他的节点都不能再形成团。
马尔科夫随机场中,多个变量之间的联合概率分布可以基于团分解为多个势函数的乘积,每个势函数仅与一个团相关。
Hammersley-Clifford 定理
对于N个变量的马尔科夫随机场,其变量为,上图例子中N=6。
设所有的团构成的集合为C,与团对应的变量集合记作,则联合概率为:
其中为团Q对应的势函数,用于对团Q中的变量关系进行建模。Z为规范化因子,很多时候要计算它很困难,不过好在大多数情况下,我们无须计算出Z的精确值。
当团Q不是极大团的时候,它必然属于某个极大团——实际上每一个非极大团都是如此,此时我们完全可以只用极大团来计算:
其中为所有极大团的集合。
这叫做Hammersley-Clifford 定理,是随机场(Random Fields)的基础定理,它给出了一个马尔可夫随机场被表达为正概率分布的充分必要条件。
性质
在讨论马尔科夫随机场的性质之前,学习两个概念先:
(1)分离(Separating)
设A,B,C都是马尔科夫随机场中的节点集合,若从A中的节点到B中的节点都必须经过C中的节点,则成A和B被C分离,C称为分离集(Separating Set),如图
(2)马尔科夫性(Markov Property)
马尔科夫性的原始定义为:当一个随机过程在给定当前状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定当前状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔科夫性。
我们把马尔科夫性引入到马尔科夫随机场中,把当前状态看作无向图中的一个节点,过去状态看作与当前状态节点有历史路径(边)连接的其他节点。
可以这样理解:在马尔科夫随机场的无向图中,任何一个节点的概率分布都仅和与它相连的节点有关。形式化的表达为:设v为无向图中任意一个节点,W是所有与v相连的节点的集合,则v的概率分布仅仅和W有关,和v与W之外的其他节点无关。
参看下图,给定灰色节点,则黑色节点独立于其他所有节点:
马尔科夫随机场的马尔科夫性
马尔科夫随机场具备全局马尔科夫性(Global Markov Property):给定两个变量子集的分离集,则这两个变量子集条件独立。
令A,B和C对应的变量集合分别为,则在给定的条件下独立,记作:
,即:
由全局马尔科夫性,又可以推导出两种性质:
- 局部马尔科夫性(Local Markov Property):给定某变量的邻接变量,则该变量条件独立于其他变量。
用公式描述:$P(X_v,X_O|X_W)=P(X_v|X_W)P(X_O|X_W),其中v为无向图中任一节点,W是与v有边链接的所有节点的集合,O是v和W之外的所有其他节点。 - 成对马尔科夫性(Pairwise Markov Property):给定所有其他变量,两个非连接变量条件独立。
公式描述:$P(X_u,X_v|X_O)=P(X_u|X_O)P(X_v|X_O),其中u和v为无向图中任意两个没有边连接的点,O为其他所有点的集合。
,
条件随机场(Conditional Random Field,CRF)
无向图模型
CRF也是一种无向图模型,它和马尔科夫随机场不同点在于:马尔科夫随机场是生成式模型,直接对联合分布进行建模;而条件随机场是判别式模型,对条件分布进行建模。
但两者又是相关的,CRF是“有条件的”马尔科夫随机场,也就是说,CRF是给定随机变量X条件下,随机变量Y的马尔科夫随机场。
定义
CRF的定义:设X和Y是随机变量,是给定X条件下Y的条件概率分布,如果随机变量Y构成一个无向图表示的马尔科夫随机场,则称条件概率分布为CRF。
在中,X是输入变量,表示需要标注的观测序列;Y是输出变量,表示状态(或称标记)序列。从定义层面,没有要求X和Y具有相同结构,不过在实际运行中,一般假设X和Y具备相同图结构。
线性链CRF
在现实应用中,最常被用到的CRF是线性链(Linear Chain)CRF,其结构如下:
当X和Y具备相同结构时,其形如下:
上图中,X为观测序列,Y为状态序列。
设,它们都是线性链表示的随机变量序列。
如果在给定随机序列X的条件下,随机变量序列Y的条件概率分布构成CRF,也就是说它满足马尔科夫性:
其中(当i=1和n时只考虑单边),则称为线性链条件随机场。X为输入序列(观测序列),Y为输出序列(标记序列 or 状态序列)
HMM和线性链CRF
HMM和CRF看起来很像:
但是有区别:
- HMM是有向图,CRF是无向图;
- HMM计算的是状态和观测的联合概率,而CRF计算的是状态基于观测的条件概率。
从使用的角度,HMM多用于那种状态“原生”,而观测是状态“生成”出来的场景。比如,用HMM来生成一段语音,则状态对应的是音节(声韵母)或文字,而观测则是这个音节所对应的声学特征。
这时,状态是相对客观的,观测是状态的一种“表征”,是状态“产生”出来的,可以想象一下自己说话的场景,也是头脑中先想好说什么话,有了语言文字音节,然后再由大脑指挥喉舌发声。发出来的声音,就是最终的观测。
CRF则多用于那种观测“原生”。状态“后天”产生,用来标记观测的情况。比如,用 CRF 来做文本实体标记。输入一句话“我有一个苹果”,CRF 处理后将“苹果”标记成了“水果”。这个时候,“苹果”是观测,而“水果”则是对应的状态(或称标签)。同一个观测值“苹果”,它的标签可以是“水果”,也可以是“手机”,具体是什么与训练数据有关,也与之前状态值有关。但无论怎么样,观测才是客观存在的。而状态(标签)是人为“打”上去的,是以观测为条件进行“判别”的结果。