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

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

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

马尔科夫随机场(Markov random filed)

1.图的概念

   图(graph)是由结点(node)和连接节点的边(edge)组成的集合。结点和边分别记作v和e,节点和边的集合记作V和E,图记作G=(V,E)。
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第1张图片

2.D-划分

    模式识别中,使⽤概率模型时,条件独立性起着重要的作⽤。它简化了模型的结构,降低了模型的训练和推断的计算量。在有向图中我们判断一个图是否条件独立成立的方法是使用D-划分。在一个有向图中,A,B,C是任意无交集的结点集合。从A中任意结点到B中任意结点的所有可能的路径,如果存在以下两种情况,则表示A到B的路径被阻断:
   • 路径上的箭头以头到尾或者尾到尾的方式交汇于这个结点,且这个结点在集合C中。
   • 箭头以头到头的方式交汇于这个结点,且这个结点和它的所有后继都不在集合C中。
   如果所有的路径都被“阻隔”,那么我们说C把A从B中d-划分开,且图中所有变量上的联合概率分布将会满足A ⊥B | C(其中⊥表示独立,式子表达为在给定C的条件下是否满足A独立于B)。
举例:
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第2张图片
   我们定义以下这个箭头“→”为“tail→head”,以上图为例,因为结点与两个箭头的尾部相连,所以该图为“tail-tail”也就是概念中的尾到尾的方式,这样的⼀个连接,结点A和结点B的路径的存在使得结点相互依赖。然而,当我们以结点C为条件时,被用作条件的结点“阻隔”了从A到B的路径,使得A和B变得(条件)独⽴了。根据D-划分的概念,若C被观测,则路径被堵塞。也就是说,A ⊥B | C,给定条件C的情况下,A和B条件独立。D划分的概念并不是通过假定或猜想得到的,它得出是有理论依据的,主要依据贝叶斯网络和因子分解进行计算,具体的推导呢,在这里就不再多赘述。

3.无向图的条件独立性

全局马尔科夫
    假设在⼀个无向图中,我们有三个结点集合,记作A,B,C,考虑条件独立性质 A ⊥B | C。为了判定由图定义的概率分布是否满足这个性质,我们考虑连接集合A的结点和集合B的结点的所有可能路径。如果所有这些路径都通过了集合C中的⼀个或多个结点,那么所有这样的路径都被“阻隔”,条件独立性质成立。 然而,如果存在至少⼀条未被阻隔的路径,则对应至少存在一个于图的概率分布不满足条件独立性质。此方法与D-划分的准则完全相同,唯⼀的差别在于没有头到头的现象。因此,无向图的条件独立性的检测比有向图简单。
emsp;   另⼀种条件独立性的检测的方法是假设从图中把集合C中的结点以及与这些结点相连的链接全部删除。然后,我们考察是否存在⼀条从A中任意结点到B中任意结点的路径。如果没有这样的路径,那么条件独立的性质⼀定成立。如下图所示:
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第3张图片    根据有向图的条件独立性和马尔科夫毯的概念,我们可以得出无向图中从集合A中的任意结点到集合B中的任意结点的每条路径都至少经过集合C中⼀个结点的。所以,对于所有由这个图描述的任意概率分布,以C为条件,A与B均条件独立也就是说:A ⊥B | C。若集合A、B、C对应的随机变量组分别是 YA、YB、YC则表示:P(YA,YB|YC)=P(YA|YC)P(YA|YC)。也就是全局马尔科夫。
局部马尔科夫
    有全局马尔科夫也就对应着有局部马尔科夫,局部马尔科夫对应的就是设v∈V是无向图G中任意一个结点,W是与v有边连接的所有结点,o是除了v和W以外得到其他结点。其表示的是在给定w的条件下,v与o是独立的。即表示为:P(Yv,Yo|Yw)=P(Yv|Yw)P(Yo|Yw)。也就是说结点只条件依赖于相邻结点,条件独立于任何其他的结点。所以局部马尔科夫性也成无向图的马尔科夫毯。
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第4张图片
   马尔科夫毯的主要作用:进行特征选择,既然结点只依赖于相邻的结点,条件独立于其他任意结点,则马尔科夫毯就是我们需要的特征信息,其余非马尔科夫毯信息则为冗余特征。
成对马尔科夫
   设u和v是无向图中任意两个没有边连接的结点,结点u和v分别对应随机变量Yu和Yv。其他所有节点都为o,对应随机变量为Yo,给定随机变量Yo的条件下,Yu和Yv是条件独立的。即:P(Yu,Yv|Yo)=P(Yu|Yo)P(Yv|Yo)
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第5张图片

4.概率图模型的因子分解

概率图模型(probabilistic graphical model)

   概率图模型是一个由无向图表示的联合概率分布。设有一组联合概率分布P(Y) (Y∈y)。无向图G=(V,E)表示联合概率P(Y)。以图概念中的图为例,在图G中的一个结点v表示一个随机变量Yv,Y=Yv(v∈V),边 e1 e2表示随机变量之间的依赖关系。如果联合概率分布P(Y)满足成对、局部或全局马尔科夫性,我们称此联合概率分布为概率无向图模型或马尔科夫随机场。
   在实际应用中,我们更关心如何用数字化去计算联合概率分布,并且将整体的联合概率写成若干个子联合概率的乘积形式,也就是将概率进行因子分解,从而使模型便于学习与计算。而事实上,概率无向图模型的最大特点就是便于因子分解。但由于无向图的无向性导致我们不能用像HMM一样的条件概率参数化表示联合概率,而要从一组条件独立函数中找出一系列局部函数的乘积来表示联合概率。讲这个之前我们先明确几个概念:
团的概念
   无向图G中任何两个结点均有边连接的结点子集称为团,如下图所示,绿色圈出来的就是一个团。若C是无向图G的一个团,并且不能再加进任何一个G的结点使其称为一个更大的团,则称此C为最大团。蓝色圈出来的就是一个最大团。 在图的概念中,无向图中每个节点表示一个或者一组势函数,也就是我们前文提到的“因子”。小白学习:李航《统计学习方法》第二版第11章 条件随机场_第6张图片势函数的概念
   最简单的局部函数是定义在图结构中的团上的势函数,并且是严格正实值的函数形式。将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解。
   下图是一个简单的马尔科夫随机场:
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第7张图片
   他们的边表示一种依赖关系,这种关系采用势函数进行度量,因为它刻画的是两个局部变量之间的关系,所以我们规定势函数是一个非负数的函数,这里为了满足非负性,我们通常使用指数函数进行度量。其中Yc表示最大团对应的随机变量。
在这里插入图片描述
   其中E(Yc)是一个能量函数,其实往深了研究,能量函数的来源是统计物理学中原子之间的能量关系,所以我们不再继续深究,通常的能量函数表示如下,其中αuv和βv 是需要学习的参数,称为参数估计。第一项考虑每对节点之间的关系,第二项考虑单节点之间关系。在这里插入图片描述
这里我有一个疑惑,这里面的Xu和Xv如何定义,能量函数究竟如何得到的,如何评判你的能量函数的优劣性。这个还需要再去翻看一些文献来解决。
因子分解
   一个无向图可以分解成不同的团,团内的结点之间的关系又可以通过势函数得到,所以很自然的我们就能想到想要分解一个团,将其写成因子的乘积,所以一个概率无向图的联合概率分布就可以写成图的最大团块的势函数的乘积的形式。所以这也就是为什么我们要保证势函数必须为严格正数。
在这里插入图片描述
其中Z是规范化因子(potential function)。
在这里插入图片描述
   这里规范化因子的求解可以参考指数族分布中求归一化因子的方法进行两边积分,得出配分函数从而求出Z的值,比较简单,这里不在推导。
Hammersley-cilfford 定理
   为此我们就得到求概率无向图模型的联合概率分布的公式,也就是Hammersley-cilfford 定理:
概率无向图模型的联合概率分布P(Y)可以表示成:
在这里插入图片描述
   其中,c是无向图的最大团,Yc是结点对应的随机变量,ψc(Yc)是C上定义的严格正函数,每个势函数只和一个团相关,乘积是在无向图中的最大团上进行。
关于Hammersley-cilfford 定理的证明,在这里给一个链接,该文章详细的讲解了Hammersley-cilfford 定理证明,有需要的同学可以参考。

举个栗子:

以上图为例:小白学习:李航《统计学习方法》第二版第11章 条件随机场_第8张图片   此图中极大团有{x2,x4,x5}、{x2,x3}、{x1、x2}、{x1、x6},{x5、x6},则它的马尔科夫随机场为:
在这里插入图片描述

4.马尔科夫随机场中图像的应用

   在实际图像应用中,马尔科夫随机场应用十分广泛,在图像降噪、图像分割、纹理合成等领域都有涉及。下面我们举一个图像分割的栗子,来说明图像分割中MRF的应用:
   图像其实就是一个典型的马尔科夫随机场,因为在图像中每个像素点和周围的点都有或多或少的联系,和距离远的点没有关系,与周围像素点的关系最大。正如下图所示,该图中的每个像素对应一个结点,每个结点之间存在关联。当我们进行图像分割时,我们只需要知道每个像素点的分类标签,当然就可以很好地对图片进行分割了。从聚类角度讲,就是一个图像聚类问题,把具有相同性质的像素点设置为一类。也就是一个标签分类问题,比如把一副图像分割成4类,那么每一个像素点必定属于这四类中的某一类,假设四类为1,2,3,4类,L=4,那么分割就是给每个像素点找一个标签类。小白学习:李航《统计学习方法》第二版第11章 条件随机场_第9张图片根据贝叶斯公式:
在这里插入图片描述
   我们可以得到,假设我们的待分割图像是S,大小m*n,图像中的像素点为p∈S,W为分割的结果,假设图像分为4类:W1,W2,W3,W4。其中W1,W2,W3,W4∈W,我们可以得出:
在这里插入图片描述
   其中P(W)为先验概率,P(S|W)为条件概率,其实这个条件概率和隐马尔可夫随机场(HMM)中的一部分,P(S|W)为给定W的条件下得到S的概率,W则为观察值,S就是隐马尔可夫随机场中包含的概率转移链。
   同时P(S|W)是P(W|S)的似然函数,(似然函数用来描述已知随机变量输出结果时,未知参数的可能取值。例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次,落地都是正面向上”这种事件,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。)。我们的任务是求P(W|S),根据输入图像得到分类信息,而P(S|W) 则是知道了分类信息去求这个分类信息表示的像素点的概率,表示我们分好类的各个像素点和真实的像素点分布是否匹配的关系。
P(S)是我们输入图像的分布,此值为一个确定的值。不需再进行计算求解。问题就转化成:
      • P(S|W) 是我们要求P(W|S)的似然函数 ;
      • P(W)是这个模型的先验概率。
通过计算以上两点来计算我们要求的P(W|S)。
   首先,我们先随机设定一个标签,然后求每个像素点是标签L的概率,初始的标签可以是随机给定的,也是可以使用一些聚类算法进行一个预处理,那么如何去体现马尔科夫随机场呢?
   简单来说,马尔科夫随机场告诉了我们像素之间的关联性,也就是说究竟这个像素跟周围的哪些像素相关,关联度为多少?我们可以根据像素点之间的邻域分类情况得出该像素是否需要更新。但在实际计算中我们往往只是计算这个像素点周围标记信息的次数来判断这个像素点属于哪个分类标记。通过Hammersley-cilfford 定理我们可以看出,其实著名吉布斯分布和马尔科夫随机场是等价的,也就是说我们可以用求图像的Gibbs随机场的概率P代替了P(W)。如果还不理解的话可以看下吉布斯分布的公式:
在这里插入图片描述
   是不是有一种熟悉的感觉,所以吉布斯分布的能量函数确定了,那么马尔科夫随机场也就确定了。所以P(W)我们可以通过吉布斯分布的势能函数去计算。
   而求P(S|W)即利用标记信息去估计这个像素点的值,假设某个类的标记分类中的像素点分布满足高斯分布,我们就可以根据某一个像素点的值判断它在哪个分类中。
   P(S|W),就是已知分类标签那么它的像素值(灰度)是s的概率。现在就假设W=1,某个像素点灰度为s,那么表示的意思就是在第一类里面像素灰度为s的概率。因为分类标签在前面说到,每次迭代的时候是有一个分类标签的,那么我们可以把属于第一类的所有点都挑出来,考虑每个点都是独立的,并且认为每一类里面的所有点服从高斯分布,那么在每一类里面我们是不是可以根据这一类里面的这些点建立一个属于这一类的高斯密度函数。
小白学习:李航《统计学习方法》第二版第11章 条件随机场_第10张图片

   为此可以可以得到每一个点s的P(s|W1)、P(s|W2)、P(s|W3)、P(s|W4)分布通过计算每一个点属于4类的概率,得到最大似然概率,然后通过乘上计算的P(W)得到的概率越大,所属的类别可能越高。这样就完成了一次迭代,所有的点所属于的类更新一遍,那这个新的类标签作为下一次迭代的类标签,反复下去。
具体的代码和结果参考:https://blog.csdn.net/on2way/article/details/47307927
参考文献:
   [1]李航:《统计学习方法第二版》
   [2]Christopher M. Bishop:《Pattern Recognition and Machine Learning》
   [3]周志华 :《机器学习》
   [4]马尔科夫随机场(MRF)在深度学习图像处理中的应用-图像分割、纹理迁移
   [5]从贝叶斯理论到图像马尔科夫随机场
   [6]shuhuai008:机器学习【白板推导系列】 PS:up主简直就是男神,得知大神跟我在一个城市,恨不得冲去守在路口要一张签名。许愿希望有机会能在路上偶遇大神,一定要一张签名!

你可能感兴趣的:(小白学习,机器学习,人工智能,计算机视觉)