1.CRF概率密度形式可分解为转移特征函数和状态特征函数之和
2.CRF要解决Learning问题、Decoding问题(MAP)、Smoothing问题(边缘概率)
3.Learing问题利用梯度上升法求解;MAP利用Viterbi算法求解
4.边缘概率求解算法与前向后向算法类似,本质是精确推断的变量消除法(BP)
条件随机场(CRF),是为了解决标注偏差问题而提出的无向图模型,“条件”是指该模型是判别模型,对条件概率p(y|x)建模;“随机场”就是马尔科夫随机场(MRF),也即无向图模型。它的概率图模型可以表示为:
CRF概率密度形式
下面我们探讨CRF的概率密度形式p(Y|X)。
在文章概率图模型(模型表示),我们给出了MRF的概率密度形式:
也即,无向图的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。针对条件随机场,我们可以定义其条件概率密度形式:
其中,F是每个最大团的势函数,y0是随意加的一个元素。
对于每个F,可以等价为两类特征函数之和,第一类是定义在Y上下文的转移特征函数f,第二类是定义在Y节点上的状态特征函数g:
L是定义在该节点的节点特征函数的总个数,R是定义在该节点的局部特征函数的总个数,只有上下文相关的局部特征函数,没有不相邻节点之间的特征函数,因为线性链随机场满足马尔科夫性。如果状态y有K种取值,则满足:
代入概率密度,有:
写成向量形式,记:
于是概率密度化简为:
进一步化简,记:
最终概率密度化简为:
CRF要解决的问题
条件随机场(CRF)是概率图模型,要解决Learning和Inference问题,其中,Learning问题是进行参数估计:
其中,上标i表示样本,X、Y是T维的变量,在CRF中,一个样本对应一个概率图,对应到NLP,就是一个句子当作一个样本:
Inference要解决的是三个问题:边缘概率,条件概率和MAP(即Decoding问题).
CRF属于判别模型,它关注边缘概率和MAP推断
边缘概率是:
Decoding问题是:
该方法利用Viterbi方法求解,与HMM几乎一致。
传送门:隐马尔可夫模型(Baum Welch算法与Viterbi算法)
边缘概率
我们求解边缘概率:
根据第一节,条件概率分布可以定义在最大团的乘积形式:
于是:
直接求解过于复杂,指数级的计算量,不太现实。得想办法简化。
利用变量消除法,记:
于是,
传送门:模型推断:VE与BP
我们要得到一个递推式,引入
其中,S是状态y取值集合。
最后边缘概率为:
Learning问题
CRF参数估计问题:
我们做对数转换求解:
又因为:
所以
利用梯度上升法求解,对λ求梯度:
根据指数族分布的对数配分函数与充分统计量的关系,有:
于是得到λ梯度:
同理可得η梯度:
求解完毕!