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. Excel frequency函数

    计算连续次数最常用的函数就是FREQUENCY,下面就这个函数在计算连续次数的应用做一个详细图解.首先,我们需要了解一下FREQUENCY函数的计算原理.    FREQENCY(数据区域,用于设置区 ...

  2. Dsu on Tree

    这个属于一种技巧,可以解决类似于子树询问无修改可离线的问题,一些点分治的问题也可以用Dsu on Tree解决,并且常数较小,代码复杂度低,很具有可写性. 整体上的意思就是继承重儿子的信息,暴力修改轻 ...

  3. Spark SQL -- Hive

    使用Saprk SQL 操作Hive的数据 前提准备: 1.启动Hdfs,hive的数据存储在hdfs中; 2.启动hive -service metastore,元数据存储在远端,可以远程访问; 3 ...

  4. Metasploit简单应用

    什么是Metasploit Metasploit是一款开源的安全漏洞检测工具. 它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报.当我们第一次接触Me ...

  5. 记一次SpringMVC碰到的坑

            在SpringMVC中,我们Controller中接收比如表单的参数,只要保证方法的形参的名字和表单中input元素的的name一样就可以接收到参数.         但是,我开发的一 ...

  6. POJ 1789&&2485&&1258&&3026

    这个真的太水了——MST专辑. 如果不会MST的两种算法的同学可以出门右转了. 大致讲一下,第一题我是用Prim+堆优化的(毕竟点比较多),后面三题用的是Kruskal(习惯打,而且并查集常数实在小) ...

  7. 微信小程序之分享或转发功能(自定义button样式)

    小程序页面内发起转发 通过给 button 组件设置属性open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage 事件,如果当前页 ...

  8. Kubernetes调用vSphere vSAN做持久化存储

    参考 1.vSphere Storage for Kubernetes 2.IBM vSphere Cloud Provider 3.GitHub vSphere Volume examples 一. ...

  9. 机器学习初入门02 - Pandas的基本操作

    之前的numpy可以说是一个针对矩阵运算的库,这个Pandas可以说是一个实现数据处理的库,Pandas底层的许多函数正是基于numpy实现的 一.Pandas数据读取 1.pandas.read_c ...

  10. 人类又被AI碾压,这次是星际争霸

    还记得2017年,那个血洗围棋界的“阿尔法狗”吗?     这个由谷歌旗下 DeepMind 公司开发的 AI ,对阵世界顶尖围棋选手,打出完全碾压式的战绩: AlphaGo vs. 樊麾 - 5 : ...