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 使得
为了将此分解与 graph 联系起来,我们为每个 创建一个完全子图,这些完全子图的并作为一个无向图。我们引入 reduce 这个概念,就是给定一些 r.v. 后对应的 GRF 称为一个 reduce GRF。
类似于 BN 我们可以定义 global Markov independencies:如果给定 后不存在从 到 的路径则 。我们可以容易证明 GRF蕴含着 global Markov independencies:如果我们选择的 ,这个就很容易证明,因为一个 clique 或者出现在 或者出现在 ,这样我们的 factor 就能分为两组,其中一组 clique 只跟 有关,另一组只跟 有关,这样很自然就有条件独立性了;如果并集不是全部的 r.v.s 也不要紧,我们总可以用 将这部分分离,一部分和 并起来,一部分和 并起来(否则与分离性矛盾),这两部分条件独立,所以能导致 。证明 completeness 需要使用构造性,由于存在一条连接两者的路径,我们可以选择最短的,然后对这条路径上的 clique potential 做手脚:如果两个路径上顶点值相同则取某个很大的值 ,否则为 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:这个证明可以用归纳法,从 的大小为 开始,这时候显然成立;那么对于更小的情形我们需要从某个至少含两个的集合里面取一个出来(保证两部分都是非空的),这样两部分分别与 并之后能利用归纳假设由于有 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,但是我们关心的是 ,我们往往会关心 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.
pgm2的更多相关文章
- 实战--利用Lloyd算法进行酵母基因表达数据的聚类分析
背景:酵母会在一定的时期发生diauxic shift,有一些基因的表达上升,有一些基因表达被抑制,通过聚类算法,将基因表达的变化模式聚成6类. ORF Name R1.Ratio R2.Ratio ...
- CSS3知识之立方体动画效果
效果图:
- 《深入理解java虚拟机》笔记(1)运行时数据区域
1.Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. 2.运行时数据区域划分 java虚拟机在执行java程序的过程中会把它所管理的内存划 ...
随机推荐
- Android分享到微信时点击分享无反应的问题解决(注意事项)
问题描述:调用分享到微信的sdk点击程序的分享按钮程序无反应 解决办法: 问题原因:微信分享对客户端的要求相当严格,首先你必须在给应用注册账号时,把注册信息相对的填写完整,其中“应用包名”,“应用的签 ...
- H.264从SPS中提取视频宽高
H.264有两种封装模式: (1)annexb模式:传统模式,使用start code来分隔NAL, SPS和PPS是在ES流的头部: (2)mp4模式:没有start code,使用NALU长度(固 ...
- Spark1.0.0属性配置
1:Spark1.0.0属性配置方式 Spark属性提供了大部分应用程序的控制项,并且可以单独为每个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: SparkConf方式 Spa ...
- 五,ESP8266 TCP服务器多连接(基于Lua脚本语言)
https://www.cnblogs.com/yangfengwu/p/7524326.html 一些时间去准备朋友的元器件了... 接着写,,争取今天写完所有的文章,,因为答应了朋友下周5之前要做 ...
- 2017-2018-2 20155229《网络对抗技术》Exp1:逆向及Bof基础实践
逆向及Bof基础实践 实践基础知识 管道命令: 能够将一个命令的执行结果经过筛选,只保留需要的信息. cut:选取指定列. 按指定字符分隔:只显示第n 列的数据 cut -d '分隔符' -f n 选 ...
- SQL Server Integration Services的10大最佳实践
原文出处:https://blogs.msdn.microsoft.com/sqlcat/2013/09/16/top-10-sql-server-integration-services-best- ...
- OpenStack与OpenDaylight的对接过程
由于项目中需要使用OpenDaylight(Oxygen)替换OpenStack(Otaca)中的neutron-openvswitch-agent,能找到的一些资料都是比较旧的版本,官网上的文档也一 ...
- 关于ueditor一些使用记录
1.使用的引用配置顺序 <script src="utf8-net/ueditor.config.js"></script> <script src= ...
- 管理idea Open Recent
在微服务开发过程中,随着服务的增加,日常需要在各个服务之间切换,这样idea 的 Open Recent 功能就显得特别有用,但是过多的最近打开记录中包括已经删除的工程或者无用的工程导致影响开发时切换 ...
- React笔记-事件注册
事件机制 本系列以React v16.8.3为基础进行源码分析 React事件主要分为两部分: 事件注册与事件分发.下面先从事件注册说起. 事件注册 假设我们的程序如下: <!DOCTYPE h ...