Exact Inference in Graphical Models

不羁的心 提交于 2021-01-05 23:51:36

独立(Independence)

统计独立(Statistical Independence)

两个随机变量X,Y统计独立的条件是当且仅当其联合概率分布等于边际概率分布之积:

$$ X \perp Y \leftrightarrow P(X,Y)=P(Y) P(Y) $$

思考:假设 $X \perp Y$,$Y \perp Z$,那么 $X$ 和 $Y$ 有没有独立关系呢? 举例:爸吃饭,奥巴马吃饭,妈吃饭

条件独立(Conditional Independence)

两个随机变量X,Y在Z的条件下独立的条件是当且仅当其条件联合概率分布等于条件边际概率分布之积:

$$ X \perp Y | Z \leftrightarrow P(X, Y|Z)=P(X|Z)P(Y|Z) $$

仅知道 Z 就能够决定 X ,此时 Y 与 X (条件)独立

概率图模型(Probabilistic Graphical Models)

预备知识

对于 D 个 K 项随机变量:$X_1, ..., X_D \quad X_i \in \left { 1, ..., K \right }$ 边际(Marginal): $$ P(X_{1:i-1,\ i+1:D})=\sum_{X_i}P(X_{1:D}) $$ 链式法则(Chain Rule)求联合分布 $$ P(X_{1:D})=P(X_1)\prod_{d=2}^{D}P(X_{d}|X_{1:d-1}) $$

计算联合分布时浮现的问题

计算该分布共需要 $O(K^D)$ 个参数(即概率)!

  • 推断:推断时计算量太大
  • 学习:学习这么多参数需要大量数据

想法:使用条件独立化简模型

有向图与无向图模型(Directed Graph and Undirected Graph Model)

图模型(Graphical Model)是一种能够通过条件独立假设来表达联合分布的方式

  • 更高效的参数化(Parameterization)
  • 更高效的推断(Inference)

$$ P(X_{1:D})=P(X_1) \prod_{d=2}^D P(X_{d}|X_{d-1}) $$

直观解释:要预测某个随机变量的值,只需要那些与之相关的变量。

有向图模型(Directed Graphical Model)

  • DAG -- 有向无环图(Directed Acyclic Graph)
  • 用局部条件分布的乘积来表示联合分布
  • 条件已经规范化
  • 也叫贝叶斯置信网络(Bayesian Belief Network)

关键性质

顺序马尔可夫性质(Ordered Markov Property):节点仅取决于直接父节点,即 $$ X_i \perp X_{pred(i)\setminus parent(i)} | X_{parent(i)} $$

无向图模型(Undirected Graphical Model)

...

图模型的主要任务(Main Tasks in Graphical Models)

有向图模型的条件独立(Conditional Independence in Directed Graph Model)

条件独立和 D-separation

D-separated Path 是指由一系列包含 Evidence 的节点集合 E 组成的路径 P 满足以下至少一个条件:

  • P 构成一条链结构:$s \rightarrow m \rightarrow t$ 或 $s \leftarrow m \leftarrow t$,其中 $m \in E$
  • P 构成一个峰结构:$_s \swarrow ^m \searrow _t$,其中 $m \in E$
  • P 构成一个谷结构:$^s \searrow _m \swarrow ^t$,其中 $m\cup descendant(m) \notin E$

此时,我们用 E 将节点集合 A,B 分隔开了。 同时,A 和 B 在 E 的条件下独立:$A \perp B\ |\ E$ 因此,我们找到了在 DAG 中对应于条件独立的性质 -- D-separation

贝叶斯球算法(Bayesian Ball Algorithm)

Bayesian Ball Algorithm 是一种判断 A B 在 E 下是否条件独立的简单算法。

步骤如下:

  1. 标记所有 E 中的节点表示其为观察值(Evidence);
  2. 在 A 中的每个节点放“球”,让它们以一定规则“弹射”(无视图中边的方向);
  3. 检查“球”是否进入了 B 中的节点。

“弹射”规则:

  1. 碰到链结构峰结构中会被“弹回”;
  2. 碰到谷结构会被“弹回”(注意:谷结构的“谷底”节点不是 Evidence)。 直观解释:谷结构中,两个父节点在共同子节点的条件下,两父节点相关(不独立)。这种现象被称为“explaining away”。例如,抛两枚硬币的先验是相互独立的。而当我们观察到正面硬币的个数时,概率被耦合起来了(正面朝上的硬币个数是1,有1枚硬币正面朝上,则另外1枚硬币必然反面朝上)。

谷结构

变量消除与精确推断(Exact Inference via Variable Elimination)

  • 运用统计独立拆分联合分布
  • Push sum into products(Key idea of Variable Elimination)
  • Elimination Order:优先清除连接边数最少的节点

联合树算法(Junction Tree Algorithm)

Moralization

将有向图模型(DGM)转化为无向图模型(UGM)时需要的一种方法,任何 share 同一子节点的父节点们必须加一条边接通(教化:未婚先孕必须马上结婚?) 目的:保证 DGM 和 UGM 在条件独立上的对应性

Triangulation

先介绍一个重要概念:弦图(Chordal Graph)

若某图(graph)中所有拥有4个及以上节点的环(Cycle)都有弦(chord),则称该图为弦图。 其中,弦不是环的一部分,但连接环中任意两个节点。

步骤

(实质上就是 variable elimination 算法)

  1. 根据 elimination order 确定要消除的节点 N;
  2. 添加 fill-in edges:节点 N 的所有 neighbor 要互相连接,以确保相关性信息不会被同时清除; 同时,保存节点 N 及其 neighbor 构成的 clique; 注意:如果给的图模型已经是弦图,可以证明步骤2能够被跳过。
  3. 删除该节点 N。

Triangulation 完成后,我们必定会得到一个弦图。

建立 Junction Tree

找出 Triangulation 步骤中保存的所有 cliques 中的 maximal cliques,则这些 maximal cliques 就可以被拿来构成junction tree(也称为 clique treecluster tree

Junction Tree 的树节点(即 clique,又叫 cluster)之间的边是不同树节点中的图节点的交集来标记的; 交集表示这些树可以通过这些图节点交换信息。

Running Intersection Property

如果某个图节点 $N \in C_i$ 且 $N \in C_j$( $C$ 表示 clique),则 $N$ 一定包含在 $C_i$、$C_j$之间路径上的所有 cliques 里面。

Junction Tree 一定满足 RIP,因为 VE 算法中一个图节点存在于 clique 的时间是从出现到直到被消除。

可以证明,如果一棵树满足 RIP,对该树做BP,就会得到我们需要的结果。

Junction Tree 也可以被推广为 Cluster Graph;


Written with StackEdit.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!