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的更多相关文章

  1. 实战--利用Lloyd算法进行酵母基因表达数据的聚类分析

    背景:酵母会在一定的时期发生diauxic shift,有一些基因的表达上升,有一些基因表达被抑制,通过聚类算法,将基因表达的变化模式聚成6类. ORF Name R1.Ratio R2.Ratio ...

  2. CSS3知识之立方体动画效果

    效果图:

  3. 《深入理解java虚拟机》笔记(1)运行时数据区域

    1.Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. 2.运行时数据区域划分 java虚拟机在执行java程序的过程中会把它所管理的内存划 ...

随机推荐

  1. liMarquee – jQuery无缝滚动插件(制作跑马灯效果)

    liMarquee 是一款基于 jQuery 的无缝滚动插件,类似于 HTML 的 marquee 标签,但比 marquee 更强大.它可以应用于任何 Web 元素,包括文字.图像.表格.表单等元素 ...

  2. Exp7 网络欺诈技术防范

    Exp7 网络欺诈技术防范 基础问题回答 1.通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名服务器,来发送伪造的数据包,从而修改 ...

  3. Exp1 PC平台逆向破解(5)M

    Exp1 PC平台逆向破解(5)M [ 直接修改程序机器指令,改变程序执行流程] 用命令cp pwn1 20155320备份pwn1 输入objdump -d 20155320反汇编,找到call指令 ...

  4. 20155333 《网络对抗》 Exp9 Web安全基础

    20155333 <网络对抗> Exp9 Web安全基础 基础问题回答 1.SQL注入攻击原理,如何防御? 原理: 通过在用户名.密码登输入框中输入一些',--,#等特殊字符,实现引号闭合 ...

  5. 让vim成为VS的编辑器

    编辑代码是还是感觉vim的比较方便--于是让vim成为VS的编辑器. 发现,安装了VsVim之后,也不失VS的便捷性,相当不错呢-- 对了我用的是VS2012---- 1.菜单栏->工具-> ...

  6. Hadoop日记Day7---HDFS的WED端口

    HDFS 对外提供了可供访问的http server,开放了很多端口,下面介绍常用的几个端口(http://hadoop:……). 一.50070 端口,查看NameNode 状态,如图1.1所示. ...

  7. sql——sql中的各种连接

    现有两张表 tablea 和 tableb     各种连接 1.笛尔卡积 SELECT * FROM TabA a,TabB b where a.id = b.id /*笛尔卡积乘积*/ 返回的结果 ...

  8. 记录:tf.saved_model 模块的简单使用(TensorFlow 模型存储与恢复)

    虽然说 TensorFlow 2.0 即将问世,但是有一些模块的内容却是不大变化的.其中就有 tf.saved_model 模块,主要用于模型的存储和恢复.为了防止学习记录文件丢失或者蠢笨的脑子直接遗 ...

  9. java后台面试知识点总结

    本文主要记录在准备面试过程中遇到的一些基本知识点(持续更新) 一.Java基础知识 1.抽象类和接口的区别 接口和抽象类中都可以定义变量,但是接口中定义的必须是公共的.静态的.Final的,抽象类中的 ...

  10. MSSQL批量写入数据方案

    近来有一个项目Feature需要有批量写入数据的场景,正巧整理资料发现自己以前也类似实现的项目,在重构的同时把相关资料做了一个简单的梳理,方便大家参考. 循环写入(简单粗暴,毕业设计就这样干的)(不推 ...