pgm2

MRF 笔记

我们先讨论引入 MRF 的必要性。经典的例子就是四个 r.v.s 连成一个正方形的结构的时候,我们没法通过 BN 获得给定对角线两个 r.v.s 而剩下的条件独立(不都是 d-sep),反过来如果希望通过 MRF 刻画某些 BN 也是不可行的,经典的例子就是 inter-causal reasoning 的情形,因为给定中间的节点后必然独立。MRF 与 BN 相比,更加不直观一些,其参数化使用的是 factor 而不是 CPD 这种比较容易理解的概念,事实上 MRF 的 training 也比 BN 复杂。

我们首先从 GRF 开始,所谓 Gibbs random fields 是指存在一组 factor 使得

\displaystyle \Pr(X_1, \ldots, X_n) = \frac{1}{Z}\prod_{i = 1}^C \phi_i (X_{C_i})

为了将此分解与 graph 联系起来,我们为每个 C_i 创建一个完全子图,这些完全子图的并作为一个无向图。我们引入 reduce 这个概念,就是给定一些 r.v. 后对应的 GRF 称为一个 reduce GRF。

类似于 BN 我们可以定义 global Markov independencies:如果给定 Z 后不存在从 XY 的路径则 X \perp Y \mid Z。我们可以容易证明 GRF蕴含着 global Markov independencies:如果我们选择的 X, Y, Z: X\cup Y \cup Z = \{X_1, \ldots, X_n\},这个就很容易证明,因为一个 clique 或者出现在 X \cup Z 或者出现在 Y \cup Z,这样我们的 factor 就能分为两组,其中一组 clique 只跟 X 有关,另一组只跟 Y 有关,这样很自然就有条件独立性了;如果并集不是全部的 r.v.s 也不要紧,我们总可以用 Z 将这部分分离,一部分和 X 并起来,一部分和 Y 并起来(否则与分离性矛盾),这两部分条件独立,所以能导致 X \perp Y。证明 completeness 需要使用构造性,由于存在一条连接两者的路径,我们可以选择最短的,然后对这条路径上的 clique potential 做手脚:如果两个路径上顶点值相同则取某个很大的值 W,否则为 1,这样可以证明两者并不独立。

除了 global Markov independencies 以外,我们还可以定义两种:

  • local Markov independencies:一个 node 与非相邻 node 在给定其 neighbors 时条件独立
  • pairwise Markov independencies:任意两个不相邻顶点在给定其他节点时条件独立

我们可以证明 local Markovian 蕴含着 pairwise Markovian:直接套定义;GRF 可以诱导 local Markovian:把 factor 分为含有给定点的和不含的然后用 local Markovian 的定义就发现独立性了;对正分布而言,pairwise Markovian 蕴含着 Global Markovian:这个证明可以用归纳法,从 Z 的大小为 n-2开始,这时候显然成立;那么对于更小的情形我们需要从某个至少含两个的集合里面取一个出来(保证两部分都是非空的),这样两部分分别与 Z 并之后能利用归纳假设由于有 separability 得到分别的独立性,这样根据正概率的 intersection 性质可以得到独立性;其他情况需要另想办法。这样我们可以证明对正概率情形,GRF、global Markovian、local Markovian 和 pairwise Markovian 是等价的。

对于 minimal I-map 问题,一种方式就是将 pairwise Markov independencies 列出来,所有不满足这个 assertion 的肯定有边。另一种策略是使用 local Markovian,取最小的 Markov blanket。我们可以证明这俩做法都获得的是唯一的最小的 I-map。

下面我们讨论 parameterization 的问题。使用 GRF 的问题是 clique 的参数个数随着 clique 元素增多而指数的变化,这导致一定的不变。另一种做法是通过 factor graph(每个 factor 对应一个 node,如果某个 node 在某个 clique 里面就连边,这样得到一个二分图)。我们可以为每个 factor 引入指数的表示形式(因为正的),而我们同时可以为 factor 引入所谓的 feature(在那组 r.v.s 上的函数),通过 feature 就能降低 parameterization 的代价了,通常这会引入所谓的 log-linear model。比如 logistic regression/CRF,另外有二阶的,比如 Boltzmann machines。常用的一些 parameterization 的策略包括 caninical parameterization,这时为所有的 clique 都分配对应的 potential function,另一种思路是从 feature 入手,寻找 non-redudent features,然后决定参数。

接下来讨论一下 BN 与 MRF 之间的关系。

我们可以把 CPD 看成时 factor,这样我们就能从形式上把 BN 转换成为 MRF,只是此时的 independency assertion 并不一样,为此我们引入 moral graph 的概念:如果两个随机变量存在有向边则转换成无向边,如果有 common effect 也加无向边。这时两者的 I-map 是一样的,且是最小的,也是 perfect 的。另外一个重要的结论是可以利用 moral graph 证明 d-seperation 的合理性。

如果反过来,这个过程却很难,可以证明,如果某个 BN 是某个 MRF 的 minimal I-map,那这个 BN 就没有 immoralities(v-structure 里面 prior 之间都有边)。事实上,这个图也有特殊的性质,我们称为 chordal,这个将 BN 转换为 MRF 过程称为 triangularization。对于 non-chordal MRF 来说没有 BN 与其等价,因此必须通过 triangularization 加边,成为 chordal MRF 后才能构造对应的 BN:所谓 chordal graph 就是 cycle 长度不超过 3。

最后讨论一些关于 partially directed models。比较经典的例子是 CRF:CRF 本质上是一个 MRF,但是我们关心的是 \Pr(Y \mid X),我们往往会关心 chain 结构的 CRF,这个在后面我们会详细的讨论。

——————
And it came to pass, when God destroyed the cities of the plain, that God remembered Abraham, and sent Lot out of the middle of the overthrow, when he overthrew the cities in the which Lot dwelled.

About these ads

转载于:https://www.cnblogs.com/focus-ml/p/3775450.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(六)ElasticSearch 6.1.1聚合查询

1 普通类型 1.1 基本操作 1.1.1 导入实战数据 数据字段如下: 字段类型作用pricelong汽车售价colortext汽车颜色maketext汽车品牌solddate销售日期 # 创建索引 PUT /cars {"mappings" : {"transactions" : {"properties" : {"…

12 Essential Bootstrap Tools for Web Designers

12 Essential Bootstrap Tools for Web Designers Posted by vikas on June 6, 2014, filed in: Tools, Web Design 原文地址:http://designzum.com/2014/06/06/12-best-bootstrap-tools-for-web-designers/Bootstrap is a great front end website development pla…

Sublime Text3自定义快捷键

转载于:https://www.cnblogs.com/shimily/articles/3783711.html

打jar包和执行jar包

使用eclipse打jar包 默认生成的目录在/Work/Projects/eclipse-workspace 执行 java -cp hellotest.jar com.feiyangedu.sample.Main java -cp testtesttest.jar com.feiyangedu.sample.Person out:print person java -cp testtesttest.jar com.feiyangedu.sample.…

受限波尔兹曼机

1. 概述 前面描述的神经网络模型是一种确定的结构。而波尔兹曼网络是一种随机网络。如何来描述一个随机网络呢?很多书上有大量的篇幅介绍其原理。这里把它总结为以下两点。 第一,概率分布函数。由于网络节点的取值状态是随机的,从贝叶斯网的…

推荐20款基于 jQuery CSS 的文本效果插件

jQuery 和 CSS 可以说是设计和开发行业的一次革命。这一切如此简单,快捷的一站式服务。jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQuery 插件。 所以今天我们将展示一些很酷的文本效果插件&#xff0…

王灏:光音网络致力打造Wi-Fi大生态圈

光音网络,做的是本地网络综合服务。在中国,想把互联网做到覆盖延伸范围之外的最后100米,光音网络是当中一家,也是最坚持的一家。为千万家本地生活商户提供帮助,为数亿本地用户提供最佳的本地网络体验,这是光…

Replication--查看未分发命令和预估所需时间

当复制有延迟时,我们可以使用复制监视器来查看各订阅的未分发命令书和预估所需时间,如下图: 但是当分发和订阅数比较多的时候,依次查看比较费时,我们可以使用sys.sp_replmonitorsubscriptionpendingcmds来查看&#xf…

利用反射和xml配置文件手写一个小型的框架

通用的增删改查1. 利用xml配置实体类和数据库表名的映射关系2. 根据xml设计,用正确的数据结构映射类封装好xml信息3. 得到数据库连接前,读取xml信息,用map封装成映射数据4. 写dao时根据反射和map生成sql语句,拿到属性值测试为了解…

DPtoLP/LPtoDP 和 ScreenToClient/ClientToScreen

设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以…

前端学习(1127):递归求数学题2

斐波那契数列 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head>…

1008 数组元素循环右移问题 (20分)

输入样例: 6 2 1 2 3 4 5 6 输出样例: 5 6 1 2 3 4 # -*- coding: utf-8 -*- import mathdef right_shift(lst, m):n len(lst)m m % nfor j in range(math.gcd(m, n)):temp lst[j]i jwhile (i - m) % n > j:lst[i] lst[(i - m) % n]i (i - m) % nlst[i] tempretur…

MVC分层开发模式

MVC 1. 什么是mvc开发模式2. 基于servlet手写mvc框架1. 什么是mvc开发模式 mvc不是一种技术&#xff0c;只是一种开发模式使用分层开发模式能在大型项目中&#xff0c;让开发人员更好的协同工作便于项目的维护和扩展 M: Model 模型层->数据库层->daoV: View 视图层->…

C#_uploadify_mvc_version

jQuery Uploadify在ASP.NET MVC3中的使用 1、Uploadify简介 Uploadify是基于jQuery的一种上传插件&#xff0c;支持多文件、带进度条显示上传&#xff0c;在项目开发中常被使用。 Uploadify官方网址&#xff1a;http://www.uploadify.com/ 2、ASP.NET MVC3中的使用Uploadify 搭…

1010 一元多项式求导 (25分)

输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 -10 1 6 0 # -*- coding: utf-8 -*-def get_derivation(lst):length len(lst)idx 0while idx < length:if lst[idx 1] ! 0:lst[idx] * lst[idx 1]lst[idx 1] - 1else:lst[idx] 0idx 2return lstif __name__ __main__…