概率图模型介绍与计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概率图模型介绍与计算
01 简单介绍
概率图模型是图论和概率论结合的产物,它的开创者是鼎鼎大名的Judea Pearl,我十分喜欢概率图模型这个工具,它是一个很有力的多变量而且变量关系可视化的建模工具,主要包括两个大方向:无向图模型和有向图模型。无向图模型又称马氏网络,它的应用很多,有典型的基于马尔科夫随机场的图像处理,图像分割,立体匹配等,也有和机器学习结合求取模型参数的结构化学习方法。严格的说他们都是在求后验概率:p(y|x),即给定数据判定每种标签y的概率,最后选取最大的后验概率最大的标签作为预测结果。这个过程也称概率推理(probabilistic inference)。而有向图的应用也很广,有向图又称贝叶斯网络(bayes networks),说到贝叶斯就足以可以预见这个模型的应用范围咯,比如医疗诊断,绝大多数的机器学习等。但是它也有一些争议的地方,说到这就回到贝叶斯派和频率派几百年的争议这个大话题上去了,因为贝叶斯派假设了一些先验概率,而频率派认为这个先验有点主观,频率派认为模型的参数是客观存在的,假设先验分布就有点武断,用贝叶斯模型预测的结果就有点“水分”,不适用于比较严格的领域,比如精密制造,法律行业等。好吧,如果不遵循贝叶斯观点,前面讲的所有机器学习模型都可以dismiss咯,我们就通过大量数据统计先验来弥补这点“缺陷”吧。无向图和有向图的例子如(图一)所示:
图一(a)无向图(隐马尔科夫)(b)有向图
概率图模型吸取了图论和概率二者的长处,图论在许多计算领域中扮演着重要角色,比如组合优化,统计物理,经济等。图的每个节点都可看成一个变量,每个变量有N个状态(取值范围),节点之间的边表示变量之间的关系,它除了
可以作为构建模型的语言外,图还可以评价模型的复杂度和可行性,一个算法的运行时间或者错误界限的数量级可以用图的结构性质来分析,这句话说的范围很广,其实工程领域的很多问题都可以用图来表示,最终转换成一个搜索或者查找问题,目标就是快速的定位到目标,试问还有什么问题不是搜索问题?树是图,旅行商问题是基于图,染色问题更是基于图,他们具有不同的图的结构性质。对于树的时间复杂度我们是可以估算出来的,而概率图模型的一开始的推理求解方法也是利用图的结构性质,把复杂图转换成树(容易处理的图)的形式来求解,这个算法被称为联合树算法(junction tree algorithm)。联合树算法简单的说就是利用图的条件独立性质把图分解,然后以树的形式组织,最后利用树的良好操作性进行推理求解(消息传递),联合树算法是后续章节的重要的推理算法之一。但并不是所有的图都能拆分成树的形式,一般只有合适的稀疏边的图才能转成树,因此联合树算法也有一定的限制。不能构建联合树,那怎么推理求解?好在还有其他几种方法,概率图模型的第二个成分:概率,既然进入了概率空间,那基于蒙特卡洛(MCMC)的采样方法也就可以使用了,反正就是求最大后验概率,MCMC的求解方法也是经常利用的工具,还有一些基于均值场(mean field)以及变分方法(variational method)的求解工具。这几个求解方法的算法复杂度比较如(图二)所示:
(图二) 推理求解算法性能比较
(图二)中的几种求解方法也都是概率图模型或者统计机器学习里经常使用的方法,MCMC方法和变分方法都起源于统计物理,最近很火的深度学习也算是
概率图模型的一个应用,尽管你要反对,我也要把它划到概率图模型下^.^,RBM,CRBM,DBM都是很特殊的概率图模型,整个思路从建模到求解方法都是
围绕着求取图模型节点的最大后验概率来开展的。MCMC求解方法就不说了,
深度学习里已经用的很多咯,而变分方法(variational method)很有吸引力,andrew ng的师傅Michael Jordan认为把变分方法用在统计机器学习中的有希
望的方法是把凸分析和极家族分布函数链接起来,既然有凸分析,那么就会伴随着凸松弛(convex relaxtion),因为数据是离散的,具体可以看前面的关于凸松弛
的博文介绍。另外还有一些图模型特有的求解方法,比如belief
propagation(sum-product algorithm)n或者expectation propagation等求解方法。上面算是对概率图模型做了个简单的介绍,接下的来的博文就是按照下面的提纲来记录一下学习笔记,在尽量不违背honor code的情况下,用原来Daphne koller教授的作业来做辅助介绍。
一、介绍图模型定义
二、利用基于变分方法的极家族和凸分析来求边缘概率
三、逼近求解方法,如belief-propagation、expectation-propagation等
四、均值场求解方法等各种优化求解方法
五、结构化学习
02 概率图模型定义
翻开Jordan和Wainwright著作的书,正文开始(第二章)就说概率图模型的核心就是:分解(factorization)。的确是这样的,对于复杂的概率图模型,要
在复杂交织的变量中求取某个变量的边缘概率,常规的做法就是套用贝叶斯公式,积分掉其他不相干的变量,假设每个变量的取值状态为N,如果有M个变量,
那么一个图模型的配置空间就有N^M,指数增长的哦,就这个配置空间已经让
我们吃不消了,不可以在多项式时间内计算完成,求边缘概率就没办法开展下去了。此时分解就派上用场咯,我们想法找到一些条件独立,使得整个概率图模型分解成一个个的团块,然后求取团块的概率,这样就可以把大区域的指数增长降为小区域的指数增长。毕竟100^20这样的计算量比25*(4^20)的计算量大多咯。好了,不说这么抽象了,下面进入正题:
(图一)
(图二)
无向图模型又称马尔科夫随机场(markov random filed)无向图模型的分解就是通过团块(clique)来完成,所谓团块就是全连接的最大子图,如(图二)所示,(a)图的{1,2,3,4},{4,5,6},{6,7}都是全连接的最大子图,假设团块用C表示,为每个团块分配一个兼容函数(compatibility function)
,它的作用就是把团块取值状态映射到正实值空间,说白了就是给这个团块一个度量,可以是概率,也可以是取值状态和真实标签之间的差值平方和,根据应用而定,这个兼容函数有时又被称为势函数(potential function),有了兼容函数,无向图模型就可以通过(公式二)分解:
(公式二)
(公式二)中的Z是归一化的常量,学名叫配分函数(partition function),一
归一化就成概率了,不归一化不满足概率和为1的性质。为了能在图模型中直观的看到团块,可以用因子图(factor graph)来表示无向图模型,如(图二)(b)所示,和黑块连接的顶点表示全部互相连接(全连接),一个黑块部分表示一个团块,所以上面分解又多了一个名字:因子分解(factorization)。