Hammersley-Clifford定理证明
Proof of Hammersley-Clifford Theorem
Proof of Hammersley-Clifford Theorem
依赖知识
定义1
定义2
证明过程
反向证明(吉布斯分布=>MRF)
正向证明(MRF=>吉布斯分布)
证明第一点
证明第二点
疑问点
 最近看语义分割论文DeepLab,有使用全连接CRF恢复局部的细节信息,提升分割精度。又回去复习了下CRF,仍然有一个问题很困扰: “根据Hammersley Clifford定理,一个无向图模型的概率可以表示为定义在图上所有最大团上的势函数的乘积”;为什么可以这么定义,也就是Hammersley Clifford定理证明过程,书中并没有没有给出;网上看到也有一些童鞋有同样的困惑,本文翻译并备注了证明过程,希望对大家有所帮助。
原文地址: Proof of Hammersley-Clifford Theorem
本文下载地址:Hammersley-Clifford定理证明
依赖知识
a): 熟悉概率论的基础知识
b):了解概率图模型;熟悉MRF,最大团相关知识
定义1
 一个无向图模型G称之为马尔科夫随机场(MRF),如果两个顶点被观测顶点分割情况下条件独立。也就是说对图中任意顶点XiXi ,以下条件属性成立 
P(Xi|XG∖i)=P(Xi|XNi)(1)
(1)P(Xi|XG∖i)=P(Xi|XNi)
 XG∖iXG∖i 代表除了XiXi 之外的所有顶点,XNiXNi 代表ii的所有邻居顶点-即所有与XiXi 相连的顶点。
定义2
 在无向图模型G上的一个概率分布P(X)P(X) 称之为吉布斯分布,如果它能够因子分解为定义在团(clique)上的正函数的乘积,这些团覆盖了G的所有顶点和边。即 
P(X)=1Z∏c∈CGϕc(Xc)(2)
(2)P(X)=1Z∏c∈CGϕc(Xc)
 CGCG 是G上所有(最大)团的集合,Z=∑x∏c∈CGϕc(Xc)Z=∑x∏c∈CGϕc(Xc) 是归一化常量。
证明过程
 Hammersley Clifford告诉我们这两个定义是等价的,下面将证明这个定理。
反向证明(吉布斯分布=>MRF)
 设Di=Ni⋃{Xi}Di=Ni⋃{Xi} 是包含XiXi 邻居顶点和XiXi 本身的集合。从等式(1)的右边开始 
P(Xi|XNi)=P(Xi,XNi)P(XNi)(3)
(3)P(Xi|XNi)=P(Xi,XNi)P(XNi)
       =∑G∖Di∏c∈CGϕc(Xc)∑xi∑G∖Di∏c∈CGϕc(Xc)(4)
(4)       =∑G∖Di∏c∈CGϕc(Xc)∑xi∑G∖Di∏c∈CGϕc(Xc)
 基于是否包含XiXi 将最大团CGCG 分为两组:
Ci=c∈CG:Xi∈cCi=c∈CG:Xi∈c 和 Ri=c∈CG:Xi∉cRi=c∈CG:Xi∉c ;现在可以将等式(4)分为CiCi 和 RiRi 上的乘积。 
P(Xi|XNi)=∑G∖Di∏c∈Ciϕc(Xc)∏c∈Riϕc(Xc)∑xi∑G∖Di∏c∈Ciϕc(Xc)∏c∈Riϕc(Xc)(5)
(5)P(Xi|XNi)=∑G∖Di∏c∈Ciϕc(Xc)∏c∈Riϕc(Xc)∑xi∑G∖Di∏c∈Ciϕc(Xc)∏c∈Riϕc(Xc)
=∏c∈Ciϕc(Xc)∑G∖Di∏c∈Riϕc(Xc)∑xi∏c∈Ciϕc(Xc)∑G∖Di∏c∈Riϕc(Xc)(5)
(5)=∏c∈Ciϕc(Xc)∑G∖Di∏c∈Riϕc(Xc)∑xi∏c∈Ciϕc(Xc)∑G∖Di∏c∈Riϕc(Xc)
 在G∖DiG∖Di 上的求和可以移到CiCi 乘积的后面,因为CiCi 团中所有的顶点一定都来自DiDi; 因为CiCi 只包含XiXi 和与XiXi 相邻的顶点,由DiDi 的定义可知;因而 CiCi 乘积对于在G∖DiG∖Di 上的求和相当于常数项,故可以把CiCi 乘积拿到G∖DiG∖Di 上的求和的外面。
 同样注意到因子∑G∖Di∏c∈Riϕc(Xc)∑G∖Di∏c∈Riϕc(Xc) 没有包含XiXi ,并且可以从分母移除,因为分子也包含了它。因此有: 
P(Xi|XNi)=∏c∈Ciϕc(Xc)∑xi∏c∈Ciϕc(Xc)(7)
(7)P(Xi|XNi)=∏c∈Ciϕc(Xc)∑xi∏c∈Ciϕc(Xc)
          =∏c∈Ciϕc(Xc)∑xi∏c∈Ciϕc(Xc)∗∏c∈Riϕc(Xc)∏c∈Riϕc(Xc)(8)
(8)          =∏c∈Ciϕc(Xc)∑xi∏c∈Ciϕc(Xc)∗∏c∈Riϕc(Xc)∏c∈Riϕc(Xc)
          =∏c∈CGϕc(Xc)∑xi∏c∈CGϕc(Xc)(9)
(9)          =∏c∈CGϕc(Xc)∑xi∏c∈CGϕc(Xc)
=P(X)P(XG∖{i})(10)
(10)=P(X)P(XG∖{i})
=P(Xi|XG∖{i})(11)
(11)=P(Xi|XG∖{i})
 消除了G∖DiG∖Di 上的求和项后,在公式(8)的分子分母乘上一个相同的因子,再次引入势函数;最终公式(11)与公式(1)的左边相等,证明了反向等价。
正向证明(MRF=>吉布斯分布)
 对于任意s⊂Gs⊂G,定义一个如下的候选势函数:
fs(Xs=xs)=∏z⊂sP(Xz=xz,XG∖z=0)−1|s|−|z|(12)
(12)fs(Xs=xs)=∏z⊂sP(Xz=xz,XG∖z=0)−1|s|−|z|
等式右边的乘积是在s的所有子集上进行的。
对于s任意子集z, P(Xz=xz,XG∖z=0)P(Xz=xz,XG∖z=0) 表示属于z的顶点(随机变量取值)与s一致,图中其它顶点给默认值(记做”0”)。
当s集合与z集合顶点个数不同时指数为1,否则为0; |s||s| 表示集合s中元素(顶点)个数。
很显然f是正函数,概率都是非负的。
只需要需要证明如下两点,即可说明无向图模型的概率P(X)P(X) 可以表示为图上所有团的势函数乘积。
a). ∏s⊂Gfs(Xs)=P(X)   (a)∏s⊂Gfs(Xs)=P(X)   (a) 
b). fs(Xs)=1fs(Xs)=1 如果ss 不是一个团
证明第一点
 为证明第一点,先来展示一个恒等式: 
0=(1−1)K=CK0−CK1+CK2+......+(−1)KCKK(13)
(13)0=(1−1)K=C0K−C1K+C2K+......+(−1)KCKK
a. CKNCNK 表示从K个元素中选取N个元素的所有组合情况
b. 现在证明∏s⊂Gfs(Xs)∏s⊂Gfs(Xs) 中所有的因子都可以互相抵消,除了P(X)P(X) ;
c. 对于任意子集z∈Gz∈G ,及zz 相关的因子Δ=P(Xz,XG∖z=0)Δ=P(Xz,XG∖z=0) ;它在s不包含z的情况下没有出现(此时z不会是s的子集);
d. 它在s=zs=z 情况下出现一次(z=s是s的子集),因而Δ−10=ΔΔ−10=Δ
f. 它在s包含z以及另外一个元素的情况下出现C|G|−|z|1C1|G|−|z| 次;因为s的选择有C|G|−|z|1C1|G|−|z| 种,并且满足|s|−|z|=1|s|−|z|=1 ,因此这时Δ−11=Δ−1Δ−11=Δ−1 。
g. 它在s包含z以及另外两个个元素的情况下出现C|G|−|z|2C2|G|−|z| 次;因为s的选择有C|G|−|z|2C2|G|−|z| 种,并且满足|s|−|z|=2|s|−|z|=2 ,因此这时Δ−12=ΔΔ−12=Δ
h. 依次类推… … ;最终第一点的等式(a)左边, z相关因子ΔΔ 所有乘积就是: 
Δ∗Δ−1(C|G|−|z|1)∗Δ−12(C|G|−|z|2)∗...∗∗Δ−1|G|−|z|(C|G|−|z||G|−|z|)
Δ∗Δ−1(C1|G|−|z|)∗Δ−12(C2|G|−|z|)∗...∗∗Δ−1|G|−|z|(C|G|−|z||G|−|z|)
=Δ(1−C|G|−|z|1+C|G|−|z|2+(−1)|G|−|z|(C|G|−|z||G|−|z|))
=Δ(1−C1|G|−|z|+C2|G|−|z|+(−1)|G|−|z|(C|G|−|z||G|−|z|))
 令K=|G|−|z|K=|G|−|z| , 根据公式(13)可以看出所有的因子互相抵消Δ0=1Δ0=1 ;除了一种情况z=Gz=G 。因而有 
∏s⊂Gfs(Xs)=Δ{z=G}=P(XG,XG∖G=0)=P(XG)=P(X)
∏s⊂Gfs(Xs)=Δ{z=G}=P(XG,XG∖G=0)=P(XG)=P(X)
i. 第一点证明完毕。
证明第二点
 为证明第二点,需要使用马尔科夫属性,如果s不是一个团,那么一定有两个属于s的顶点a、b,它们之间没有边连接,我们按照如下方式重写fs(Xs)fs(Xs)
 fs(Xs=xs)fs(Xs=xs) 
=∏z⊂sP(Xz=xz,XG∖z=0)−1|s|−|z|(14)
(14)=∏z⊂sP(Xz=xz,XG∖z=0)−1|s|−|z|
=∏w⊂s∖{a,b}[P(Xw,XG∖w=0)P(Xw⋃{a,b},XG∖w⋃{a,b}=0)P(Xw⋃{a},XG∖w⋃{a}=0)P(Xw⋃{b},XG∖w⋃{b}=0)]−1∗(15)
(15)=∏w⊂s∖{a,b}[P(Xw,XG∖w=0)P(Xw⋃{a,b},XG∖w⋃{a,b}=0)P(Xw⋃{a},XG∖w⋃{a}=0)P(Xw⋃{b},XG∖w⋃{b}=0)]−1∗
 公式(15)将z⊂sz⊂s 分为4中情况:z=w,z=w⋃{a},z=w⋃{b}和z=w⋃{a,b}z=w,z=w⋃{a},z=w⋃{b}和z=w⋃{a,b} ,并显示的写出了这些因子。注意公式(15)中的位置是对的哦。接下来将证明他们互相抵消。因此指数是多少不重要了,这里用−1∗−1∗ 表示。
根据贝叶斯规则有:
P(Xw,XG∖w=0)P(Xw⋃{a},XG∖w⋃{a}=0)
P(Xw,XG∖w=0)P(Xw⋃{a},XG∖w⋃{a}=0)
=P(Xa=0|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xa|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)(16)
(16)=P(Xa=0|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xa|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)
=P(Xa=0|Xb,Xw,XG∖w⋃{a,b}=0)P(Xb,Xw,XG∖w⋃{a,b}=0)P(Xa|Xb,Xw,XG∖w⋃{a,b}=0)P(Xb,Xw,XG∖w⋃{a,b}=0)(17)
(17)=P(Xa=0|Xb,Xw,XG∖w⋃{a,b}=0)P(Xb,Xw,XG∖w⋃{a,b}=0)P(Xa|Xb,Xw,XG∖w⋃{a,b}=0)P(Xb,Xw,XG∖w⋃{a,b}=0)
=P(Xw⋃{b},XG∖w⋃{b}=0)P(Xw⋃{a,b},XG∖w⋃{a,b}=0)(18)
(18)=P(Xw⋃{b},XG∖w⋃{b}=0)P(Xw⋃{a,b},XG∖w⋃{a,b}=0)
a) 公式(16)依据概率分解P(a,b)=P(a|b)∗P(b)P(a,b)=P(a|b)∗P(b) ; 首先仅仅看因子部分P(Xw,XG∖w=0)=P(Xa=0,Xb=0,Xw,XG∖w⋃{a,b}=0)=P(Xa=0|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xw,XG∖w=0)=P(Xa=0,Xb=0,Xw,XG∖w⋃{a,b}=0)=P(Xa=0|Xb=0,Xw,XG∖w⋃{a,b}=0)P(Xb=0,Xw,XG∖w⋃{a,b}=0)
b) 同理分母部分一样的分解
c) 公式(16)的左边部分,由于XaXa 和XbXb 在给定图剩余部分是条件独立的,因此可以将Xb=0Xb=0 替换为XbXb ;分子分母都替换了。
d) 公式(16)的右边部分,分子分母是一样的,可以约掉,实际上是先约掉,然后在同时乘一个相同的因子;得到公式(17),自然而然概率连乘得到公式(18)
e) 将公式(18)结果带入公式(15); 可知公式(15) 恒等于1. 第二点证明完毕。
疑问点
本文的证明,只能说明无向图模型的概率可以分解为G上所有团的势函数乘积;并不能说明是所有的最大团的势函数乘积。 哪位网友知道,麻烦给我回复,非常感谢!
--------------------- 
作者:csuyzt 
来源:CSDN 
原文:https://blog.csdn.net/csuyzt/article/details/81709439 
版权声明:本文为博主原创文章,转载请附上博文链接!
Hammersley-Clifford定理证明的更多相关文章
- Wilson定理证明
		Wilson定理证明 就是那个\((p-1)! \equiv -1 \pmod{p}\),\(p\)是一个素数. Lemma A \(\mathbb{Z}_p\)可以去掉一个零元变成一个群. 即\(\ ... 
- tensorflow deepmath:基于深度学习的自动化数学定理证明
		Deepmath Deepmath项目旨在改进使用深度学习和其他机器学习技术的自动化定理证明. Deepmath是Google研究与几所大学之间的合作. 免责声明: 该存储库中的源代码不是Google ... 
- 数学定理证明机械化的中国学派(II)
		所谓"学派"是指:存在一帮人,具有同样或接近的学术观点或学术立场,採用某种特定的"方法"(或途径),在一个学术方向上共同开展工作.而且做出了相当有迎影响的学术成 ... 
- 【Learning】最小点覆盖(二分图匹配) 与Konig定理证明
		(附一道例题) Time Limit: 1000 ms Memory Limit: 128 MB Description 最小点覆盖是指在二分图中,用最小的点集覆盖所有的边.当然,一个二分图的最小 ... 
- [自用]数论和组合计数类数学相关(定理&证明&板子)
		0 写在前面 本文受 NaVi_Awson 的启发,甚至一些地方直接引用,在此说明. 1 数论 1.0 gcd 1.0.0 gcd $gcd(a,b) = gcd(b,a\;mod\;b)$ 证明:设 ... 
- [自用]多项式类数学相关(定理&证明&板子)
		写在前面 由于上一篇总结的版面限制,特开此文来记录 \(OI\) 中多项式类数学相关的问题. 该文启发于Miskcoo的博客,甚至一些地方直接引用,在此特别说明:若文章中出现错误,烦请告知. 感谢你的 ... 
- [总结]数论和组合计数类数学相关(定理&证明&板子)
		0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ... 
- [总结]多项式类数学相关(定理&证明&板子)
		目录 写在前面 前置技能 多项式相关 多项式的系数表示 多项式的点值表示 复数相关 复数的意义 复数的基本运算 单位根 代码相关 多项式乘法 快速傅里叶变换 DFT IDFT 算法实现 递归实现 迭代 ... 
- lucas定理证明
		Lucas 定理(证明) A.B是非负整数,p是质数.AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]. 则组合数C(A,B)与C(a[n],b[n])* ... 
随机推荐
- ML面试1000题系列(71-80)
			本文总结ML面试常见的问题集 转载来源:https://blog.csdn.net/v_july_v/article/details/78121924 71.看你是搞视觉的,熟悉哪些CV框架,顺带聊聊 ... 
- JavaScript--location.href的跳转
			页面重载 true 强制从服务器加载 false 优先从缓存加载 window.location.reload(true); window.location.href.self.location. ... 
- arcgis点密度专题
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- Android——内存管理基础
			内存收集概念 内存垃圾收集器(garbage collector) 概念:自定内存管理. 功能:分配内存.保证所有被引用的对象还在内存中.可以释放在运行的代码中不再引用的对象的内存. 垃圾收集器避免了 ... 
- 2-2 Numpy-矩阵
			# !usr/bin/env python # Author:@vilicute import numpy as np # 矩阵的创建 matr1 = np.mat("4 2 3;4 5 6 ... 
- java jsp j2ee
			1. JavaScript用于编写嵌入在网页文档中的程序,它由浏览器负责解释和执行,可以在网页上产生动态的显示效果和实现与用户交互的功能,譬如,让一串文字跟着鼠标移动,让一个图标在网页漂浮移动,验证用 ... 
- node.js对象数据类型
			在这里复习下前端JS的数据类型:前端JS中的数据类型: 1.基本/原生/值类型 string.number.boolean.null.undefined 2.引用/对象类型 ES对象类型:Str ... 
- SQLServer —— 数据类型的转换
			一.使用convert函数实现强制转换 例如我们现在有如下一张学员成绩表: 现在想查询学号等于100003的学员总成绩,并按照要求打印出来,我们可以这样实现: 结果报错,因为最后一句字符串不能和数值相 ... 
- sas信用评分之第二步变量筛选
			sas信用评分之第二步变量筛选 今天介绍变量初步选择.这部分的内容我就只介绍information –value,我这次做的模型用的逻辑回归,后面会更新以基尼系数或者信息熵基础的筛选变量,期待我把. ... 
- 【JZOJ4816】【NOIP2016提高A组五校联考4】label
			题目描述 输入 输出 样例输入 3 2 2 0 1 2 3 3 2 1 3 1 2 3 3 1 1 2 2 3 样例输出 4 2 12 数据范围 样例解释 解法 设f[i][j]为在第i个点填了j的合 ... 
