小白学习:李航《统计学习方法》第二版第11章 条件随机场(二)----条件随机场

小白学习:李航《统计学习方法》第二版第11章 条件随机场(二)----条件随机场

小提示:食用这篇文章前,务必需要搞懂一中的马尔科夫随机场的内容。因为条件随机场在模型建立方面“依仗着”关于马尔科夫随机场的性质,所以大家可以去看看前一栏。
小白学习:李航《统计学习方法》第二版第11章 条件随机场(一)----马尔科夫随机场


前言

   在引入条件随机场之前,我们先来看看为什么要使用条件随机场,以及条件随机场能带来什么。
   条件随机场是Lafferty于2001年提出的一种机器学习的理论,属于判别模型的一种,最早被应用于自然语言的处理、信息的检索和词性标注问题上。仅仅两年之后,学者Kumar就将引入到图像处理领域。与经典的马尔科夫随机场(Markov Random Fields)不同,Kumar 等人通过考量图像像素自身携带的上下文信息以及像素被分配的语义类别与真实语义类别之间的关系,建立了一个反映像素位置关系的 CRF 模型,取得了优于传统模型的分割效果。
条件随机场中的条件:指的是判别式模型
判别式模型的概念就是给定样本X可直接建模得到P(c|x)得到类别C,得到“判别式模型”
与判别式模型相对应的是生成式模型,生成式模型的概念是先对概率分布P(c,x)联合概率建模,再获得P(c|x)得到“生成式模型”
条件随机场中的随机场:指的是无向图模型

一、条件随机场的定义与形式

条件随机场的定义

   条件随机场(conditional random field)是给定随机变量X的条件下,随机变量Y的马尔科夫随机场。
设X与Y是随机变量,P(Y|X)是给定X的条件下Y的概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔科夫随机场,即:
在这里插入图片描述
   对任意结点v成立称为条件概率分布P(Y|X)为条件随机场。式中w~v表示在图中G=(V,E)中与结点v有边连接的所有结点w,w不等于v表示结点v以外的所有结点。
   这个突然去理解可能比较难。结合上一讲的一个不起眼的概念。局部马尔科夫性质(所以说食用这篇文章前,务必需要搞懂一中的马尔科夫随机场的内容。)

    局部马尔科夫对应的就是设v∈V是无向图G中任意一个结点,W是与v有边连接的所有结点,o是除了v和W以外得到其他结点。其表示的是在给定w的条件下,v与o是独立的。即表示为:P(Yv,Yo|Yw)=P(Yv|Yw)P(Yo|Yw)。也就是说结点只条件依赖于相邻结点,条件独立于任何其他的结点。
在这里插入图片描述
   所以说一般的条件随机场就是满足局部马尔科夫性质的条件概率分布。这样就更好的去理解了。

线性链条件随机场

线性链条件随机场的定义

   因为条件随机场是无向图模型,所以我们很难根据他们之间的拓扑关系得到条件概率,所以需要引入上一节中的一个定理:Hammersley-cilfford 定理
   为了简便我们将指数上的能量函数exp[-Ei(xa)]用Fi(Xn)来代替。
在这里插入图片描述
其中:
在这里插入图片描述
   这里解释下为什么会少掉y(i-1)项,因为对i来说,在i项时,i-1时刻已经迭代过了。其中红框中的部分称为状态函数,橙色的部分称为转移函数。这里具体的概念在HMM里面已经有过解释,不再赘述。
其中状态函数我们可以写成以下形式:
在这里插入图片描述
   fk表示的是一种特征函数,表示的是该特征的概率取值。例如介词后一般加名次或者动名词当我们进行词性标注的时候就可以将一个介词后的词定义成动名词的概率为0或者1,定义为名词的概率为0或者1。写起来就是如此:
fk{yt-1=pre.,yt=ving.,X1转移函数可以写为:
在这里插入图片描述
   最终得到条件随机场的参数化形式为:
   其中fk、gl都是给定的特征函数,λk,ηl是需要进行学习的参数。最终得到条件随机场的参数化形式为:
在这里插入图片描述

举个栗子

做一个例题感受下:
   设有一个标注问题,输入观测为:X=(X1,X2,X3), 输出标记为 Y=(Y1,Y2,Y3), Y1,Y2,Y3 取值于{1,2}。实在懒的打字了。大家凑合看哈,就是书上的例11.1:
在这里插入图片描述

   首先,我们先根据线性链条件随机场的定义得到该模型为:
在这里插入图片描述
   因为这里没有除以规范化因子所以这里是近似等于的条件概率。当标记序列y=(1,2,2)时我们先计算状态函数,首先i=2,时,y1=1,y2=2得到第一个蓝色圆角框内的特征值,λ=1,t=1,则λt=1。i=3时,y2=2,y3=2,下图第二个蓝色圆角框得到该函数的λt=0.2,则状态函数的值等于1+0.2=1.2,同理可得到转移函数的值等于1+0.5+0.5=2。在这里插入图片描述
则给定
在这里插入图片描述

线性链条件随机场的向量形式

   通过对条件随机场参数化形式的研究,我们可以看出同一特征,在每个位置都有定义,再后面进行Learning和inference时进行积分运算时,如果有太多和的形式,进行积分时就不便于运算,所以我们将同一特征在各个位置求和,将局部特征函数转化为一个全局特征函数,将条件随机场写成权值向量和特征向量的内积形式。在这里我为了更好和书上对应,所以将前面推导的变量换了一个名字,但变量的含义没有改变:
在这里插入图片描述

得到:
在这里插入图片描述
当我们将求和符号写进每一项中,可以得到:
!)
其中,定义w和F如下:
在这里插入图片描述
为此,我们就将条件随机场的参数化形式的两个求和号消掉,写出如下形式:
在这里插入图片描述

扫描二维码关注公众号,回复: 11638161 查看本文章

线性链条件随机场的矩阵形式

   线性链条件随机场有一个十分重要的性质,就是通过图可以看出,他们之间是一个线性链接关系,每个节点只与自己左邻和右邻有边的连接,为了方便描述,我们在链条的起始和终止位置引进一个特殊的起点和终点的状态标记符。y0=start,y(n+1)=stop。将概率写为矩阵的形式并进行计算。在这里插入图片描述
我们引入一个新的变量,令该变量为:
在这里插入图片描述
这个矩阵可以看出是针对i于i-1进行的概率计算,假设有m个可能取值,我们就可以得到一个m×m阶的矩阵。
在这里插入图片描述
这样,非规范化概率为:在这里插入图片描述
   这里为什么可以这么写呢?其实当时我看到这里的时候也想了好久,后来查阅了一些资料和博客后,恍然大悟,将过程贴出来,减少大家思考的时间。也就是次方的相乘就是指数的相加。
在这里插入图片描述
所以,可以得到条件概率为:
在这里插入图片描述
   注意,y0 =start , yn+1=stop表示开始状态与终止状态,Zw(x)是以start为起点stop为终点通过状态的所有路径y1,y2,…,yn的非规范化概率之和。

二、条件随机场的概率计算问题

1.条件随机场的概率计算

   我们给定P(Y=y|X=x)求P(yt=i|x)我们使用最原始的一个条件随机场的公式:
在这里插入图片描述
   在这里,我们可以看出来如果整个标注的集合为S的话这个式子的复杂度为O(|s|^T×T)
   所以我们需要进行变量的消除,具体的做法的话,在周志华的西瓜书的第328页的14.4中,有一个推导方法,我们这里直接将推导带入式子中,
在这里插入图片描述
得出递推公式:
在这里插入图片描述

2.条件随机场的期望值的计算

   同理,我们使用前向后向算法计算特征函数关于联合分布P(X,Y)和条件分布P(Y|X)的数学期望。
特征函数fk关于条件分布P(Y|X)的数学期望是:
在这里插入图片描述特征函数fk关于联合分布P(Y,X)的数学期望是:
在这里插入图片描述
   其中k是特征函数,K表示有K个特征函数,该式为通用式,可以将fk转化为tk。

三、条件随机场的学习算法

   条件随机场的模型实际上是定义在时序序列的对数线性模型,其学习方法有很多,很多学者都给出了梯度下降、梯度上升等算法,可以参考linear-CRF模型参数学习之梯度下降法求解bilibili的机器学习【白板推导系列】分别介绍了梯度下降法和梯度上升法的解法,但存在着迭代次数高,效率慢的缺点。这里我们使用之前在最大熵模型中使用过的改进的迭代尺度法IIS和拟牛顿法。也是主流的CRF软件之CRF++使用的算法。
   已知训练数据集,由此可知经验概率分布可以通过极大化训练数据的对数似然函数来求模型参数。
训练数据的经验分布为在这里插入图片描述得到似然函数:
在这里插入图片描述

   这里其实有一个我很不明白的一个点,最后一步的经验分布是如何约去的,因为在求解更新方程时,并未用到,所以我没法验证最后一步的正确性,如果有大神知道,麻烦可以解释下,对照逻辑斯蒂回归一章中极大似然估计中的算法,其中经验分布并未舍弃,这里为何就计算消去了呢?
   迭代尺度法的思想是找到一个新的参数向量在这里插入图片描述
    使得似然函数值增大。 故有:
在这里插入图片描述
-logα≥1-α,α>0,则有:
在这里插入图片描述
在这里插入图片描述
A(δ|ω)是对数似然的下界,当下界提高,对数似然也会提高。 由于fk是二值函数,故f#(x,y)表示的是全部特征(x, y)出现的次数,令:
在这里插入图片描述
则:
在这里插入图片描述
根据Jensen不等式,得到
在这里插入图片描述
故:
在这里插入图片描述于是得到:
在这里插入图片描述
   这里B(δ|ω)对数似然函数改变量的一个新的下界。求B(δ|ω)对δi的偏导:这里得到
在这里插入图片描述
得到:
在这里插入图片描述

条件随机场模型学习的改进的迭代尺度算法

在这里插入图片描述

   条件随机场的改进的迭代尺度算法和最大熵模型的迭代尺度算法思路一致,但是转移状态和特征状态进行更新时,特征数的综合f#表示数据(x,y)中的特征总数,对不同的数据取值不同。定义一个常数当选择足够大的S使得对训练数据集的所有数据(x,y),s(x,y)≥0成立。这时:
在这里插入图片描述

条件随机场模型学习的预测的维特比算法

   我们的第一个局部状态定义δi(l),表示在位置i标记l各个可能取值(1,2…m)对应的非规范化概率的最大值。之所以用非规范化概率是,规范化因子Z(x)不影响最大值的比较。利用前向算法,递推出位置i+1标记l的表达式和局部状态Ψi+1(l)来记录使δi+1(l)达到最大的位置i的标记取值,用这个值用来最终回溯最优解。
在这里插入图片描述
在这里插入图片描述

举个栗子

   在例题11.1也就是参数化形式的条件随机场中的例题,现在我们求他给定输入序列x对应的最优输出序列。
在这里插入图片描述
在这里插入图片描述

首先进行
(1)初始化:
在这里插入图片描述
(2)递推
在这里插入图片描述
(3)终止
在这里插入图片描述
(4)返回
在这里插入图片描述
最优标记序列
在这里插入图片描述
   这个题目其实就如上图所示,计算每一个可能的路径,然后进行概率比较,取最大路径。书上将递推过程写成了向量形式,其实我觉得向量形式简化过多,所以还是使用的原始形式,方便计算。s是转移函数,t是状态函数。在初始时,没有进行上级的转移,所以也就没有转移函数只有状态函数。

总结

   linear-CRF相较于HMM来说,最大的不同点是linear-CRF模型是判别模型,而HMM是生成模型,在整个学习、推断、预测问题的过程中,linear-CRF是利用最大熵模型的思路去建立条件概率模型,对于观测序列并没有做马尔科夫假设。而HMM是在对观测序列做了马尔科夫假设的前提下建立联合分布的模型。在这两个过渡中其实还有一个模型-MEMM,最大熵马尔科夫模型,三者之间的关系,我会再写一篇博客进行探讨,其中会与逻辑斯蒂回归进行关联。先占坑,等学会了CRF++的使用和看懂条件随机场与网络和图像的结合,会一起码上来的!小尚可以的!

猜你喜欢

转载自blog.csdn.net/weixin_44193282/article/details/108497691