前面的近似策略是寻找了 energy functional 的近似,该近似导致了 LBP,这使得 message passing 的算法不变。近似使用 I-projection,尽管这个一般说来并不容易得到解,但是给出了 partition function 的下界。这部分我们讨论的第一个策略是尽量保持目标函数不变,而在更新的时候使用近似的消息。

这个想法来自这样一个观察:如果我们用消息的 M-projection,比如离散变量情形,如果假定了近似分布是 factorized,我们根据前面的结论就知道这相当于要求在这些 margin 上近似分布与 message 相同。咋一看 M-projection 似乎使我们得到了更好的算法(因为有解析解了),但是问题是我们在原分布上做 inference,这些边际分布往往是 intractable 或者未知的。但是这里的 trick 就是如何 decompose 原来的 graph,如果我们得到的两个子图仍然具有比较复杂的结构,那么计算 message 就会比较麻烦(因为需要 marginalize 掉一些变量),但是如果我们让这些子图都是简洁的 tree 这种,我们可以直接用 BP 就能快捷的计算出来需要的 margin 了,这意味着这时的近似消息成为了可能!这样我们的基本思路就是沿用 LBP 的框架,将消息替换成为 M-projection 获得的简化版本。

对 message passing 的另一种参数化,即 belief update 而言,对精确的情形我们有 ,我们前面的想法等价于寻求这个比值的 M-projection。另一种思路是我们寻求 的 M-projection,记为 ,然后用 ,这个方法有一个奇怪的特点是 的消息依赖了 的消息,这是近似上的一种 tradeoff,能让近似更关注“更相关”的区域。这导致了一类所谓 expectation propagation 的算法(EP)。这是对 belief update 的修改,此时不仅仅保存一份 而是两个方向都有保存。

为了能够方便的计算我们的 approximate message,我们将候选的近似分布选择为指数族,事实上指数族的 M-projection 导致了 moment matching 这个要求:以上方法我们首先需要为 belief 获得近似,通过指数族的 sufficient statistics 上的 matching(如果我们能能算,否则 EP 就不能用,如 MRF),我们就可以得到 ,另一方面我们因为 message 也是 exponential family,我们有

EP 有一个问题是对 BN 很多时候可以获得合适的 M-projection,但是更新的策略却往往无视了参数空间的约束,这导致 EP 迭代中可能获得非法参数,某些问题中这可能导致严重的后果。

那么 EP 对应于一个什么样的优化问题呢?从某个角度我们很容易发现,那就是以上更新公式将参数放在一起

这等价于要求两侧的矩 matching,而不是原先的分布是 consistency 的:

而与前者一样使用的都是近似的 energy functional。我们对这个问题使用 Lagrange multiplier 就可以证明,EP 的消息传递等价于对应的 fixed point equation 的迭代。

正是由于这个方法使用了近似的消息,我们无法保证其收敛性,这也是它与后一种方法(structured variational approximation)的重要区别。这里我们将近似函数族选的足够的简单,使得上面的 inference 非常容易,常见的选择就是让这个部分 factorized 足够厉害,当然这表示近似分布的表述力也会比较有限,然而我们得以可以优化精确的 free energy(也是 I-projection)。

那么这种想法最极端的形式(mean field approximation)就是将近似分布选择为完全独立的情况,此时自由能中 factor 部分成为 ,对应的熵部分可以完全解耦。此时我们写出来的 Lagrange multiplier 然后类似写出 fixed point equation 得到如下的解

这导致了很简洁的更新方式,每次固定其他的更新某一个 ,这等价于 coordinate ascent,因此我们可以证明这个方法不仅收敛,而且收敛于某个 stationary point。这是比 EP 更优越的分析性质。

完全独立便于推导,但是其表述能力比较有限,比较自然的想法就是 decompose 的时候不要那么彻底,而是保留些结构(与 EP 在这方面的想法类似)。这时,我们假定有一个我们设定的分解记为 ,这时候的形式比单变量稍微繁复一些:

同样我们可以获得类似的算法和证明收敛性。另外有一些关于简化 MRF 分解的东西后面再仔细看看吧。

另外一种策略是使用 local variational bound。这就是为我们 maximize 的 objective function 找到合理的下界,这样我们通过 optimize 一个更简单的目标函数得以最大化目标函数的下界。常用的 lower bound 就是通过凸函数的 Legendre-Finchel 变换后获得的界(往往是在 local 区域逼近较好)进行优化(调整 variational parameters)。

最后想谈一下与 PRML 在这方面的比较。读书笔记节选的七和八对应于 PRML 中第八章和第十章,很显然 PRML 对 exact inference 讲的比较详细,更侧重于“过程”,PGM 这部分更偏重理论;对于 LBP,PRML 仅仅一带而过。PGM 将几种近似的策略从优化的角度完美的统一了起来,进行了细致的区分,每种算法都可以用 stationary point 处满足的 fixed point equation 获得迭代的算法,这的确是比 PRML 上通过一些具体例子讲的更加理论和清晰。总体感觉来说 PRML 将几种解决问题的思路与一些具体的例子(特别是 machine learning 里面常见的例子)结合的比较清楚,特别是一些连续变量的情形,这方面我觉得需要在看完 PGM 后重新认识一下,推导一下。

——————
And Abimelech took sheep, and oxen, and menservants, and womenservants, and gave them to Abraham, and restored him Sarah his wife.

pgm8的更多相关文章

  1. JMeter中的关联-正则表达式提取(2)

    JMeter获取正则表达式中的提取的所有关联值的解决方法: 需求如下: { : ", : "results": : [ : : { : : : "total_e ...

  2. uva 10562 undraw the trees(烂题) ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABB4AAAM9CAYAAAA7ObAlAAAgAElEQVR4nOyd25GsupKGywVswAV8wA ...

  3. Jmeter正则表达式提取器二(转载)

    转载自 http://www.cnblogs.com/qmfsun/p/5906462.html JMeter获取正则表达式中的提取的所有关联值的解决方法: 需求如下: { : "error ...

随机推荐

  1. Android ListView下拉刷新时卡的问题解决小技巧

    问题:ListView下拉刷新时看上去非常的卡 解决方案: 在BaseAdapter的getView方法中,有三个参数 public View getView(int position, View c ...

  2. odoo tree视图 当页不弹窗显示方法

    <xpath expr="//tree" position="attributes"> <attribute name='editable'& ...

  3. 大数据入门第二十天——scala入门(一)入门与配置

    一.概述 1.什么是scala  Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序. ...

  4. 2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒

    2017-2018-1 20155202 张旭 嵌入式C语言--时钟提取时分秒 任务要求: 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案, ...

  5. 20155227《网络对抗》Exp6 信息收集与漏洞扫描

    20155227<网络对抗>Exp6 信息收集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 基础问题回答 哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府 ...

  6. 2015306 白皎 《网络攻防》EXP6 信息搜集与漏洞扫描

    2015306 白皎 <网络攻防>EXP6 信息搜集与漏洞扫描 一.问题回答 (1)哪些组织负责DNS,IP的管理. 顶级的管理者是Internet Corporation for Ass ...

  7. Python基础(字符串和编码)

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...

  8. 五、MYSQL的索引

    对于建立的索引(姓,名字,data) 5.1.索引对一下的查询类型有效 1.全值匹配:能查找姓+名为ALLEN.出生日期为1990-11-05的人: 2.最左前缀匹配:可以查找姓为ALLEN的人:即只 ...

  9. GBDT源码剖析

    如今,GBDT被广泛运用于互联网行业,他的原理与优点这里就不细说了,网上google一大把.但是,我自认为自己不是一个理论牛人,对GBDT的理论理解之后也做不到从理论举一反三得到更深入的结果.但是学习 ...

  10. 蓝牙重启case之:hardware error

    蓝牙的通信分为host和controller,host端发送数据和命令到controller,controller 上传event以及数据到host端,这要求上下两端的通信要求状态一致性. 当发生状态 ...