Variable Elimination
某个确定了的概率图,它的推断可以看作是一个关于所有变量的函数,我们要求的是这个函数的具体值是多少,从概率的角度上消除变量,其实就是做这个函数的边缘化 marginalization,
我们尽量争取每次计算(消除)的变量比较少,这样总的复杂度不会高。。
Elimination 似乎可以适用于所有结构的 graph 。
Directed Chain
假设我们的图的结构是这样的 $A\rightarrow B\rightarrow C\rightarrow D\rightarrow E$
复杂度 Complexity:
- Eliminate 方法: costs $O(k^2 n)$ _这里面的 $k^2$ 表示迭代 k 次,每次计算概率也要 k_
- Naive 方法: cost $O(k^n)$
Undirected Chain
假设我们的图是这样的无向图 $A - B - C - D - E$
这里是无向图,原始的势函数运算成为 m 的结果不是概率,所以这里我们要 normalize 一下:
Graph Elimination
我们从一张图来看 Elimination 的每一次过程后,剩下的图的结构
- 对于一张 graph 首先我们确认 elimination 的 order
- 对于每一个待消除的变量,它会连接一些变量,我们将这些变量两两相连
- 消除待消除的变量
我们再来观察每次 Elimination 后,也就是边缘化操作后形成的函数,发现这些函数的变量在一起,刚好能组成这个概率图结构的 cliques 集合,如果我们考虑这些 cliques 组成的树,那么 elimination 操作其实就是在这颗树上进行 message passing。
Key insight 就是这些 message 其实是可以 reused 的,重复使用是指,当我们要进行多次 querying 的时候,信息的重复使用,所以我们希望设计好的算法,能够在 querying 的过程中保存下来这些信息,于是有了后面的 Sum-Product 算法。
Complexity of Variable Elimination
这里 $y$ 未知的,后面操作可能要消除的变量,$x$ 是正在消除的变量,$m$ 是当前要消除的乘子,sum-product 算法分为下面两部
- Sum:
- Product:
乘起来就是一次 Elimination 的复杂度: $k\cdot | Var(X) |\cdot \prod_i |Var(Y_{C_i})|$
也就是当前变量的状态乘上,乘子也就是对应的 clique 的所有变量的状态叉乘
我们发现整个算法的复杂度取决于最大的最大的 clique,我们称这个 clique 的变量数量 k 为 Tree-width , 同时要注意的是,不同的 elimination order 的 Tree-Width 是不同的,找到最优的 order 是 np-hard 问题。。。
Belief Propagation
asd
- Trees
- Two-pass Algorithm
- Factor Trees
- Message Passing on Factor Graph
- Non-Trees (General Graph)
- Junction Tree Algorithm
概率图中有向图模型其实是无向图的一种特例,从有向图到无向图的转换关系如下
Undirected Tree:
Directed Tree:
Equivalence:
Trees
Elimination 操作可以看作是 message passing.
令 $m_{ji}(x_i)$ 当作是从 i 那里变量消除后生成的乘子,同时,这就是 $x_i$ 的函数:
上面的公式可以理解为:从 $i$ 到 $j$ 的信息,只和传递信息箭头相反的范围内的那些节点相关
对于某个节点所对应的概率,我们可以这样表示:
可以看到计算 $p(x_i)$ 的时候, $m_{ij}(x_i)$ 会被重复的使用, 所以我们可以存储 $m$ 的值
树的 Elimination 来做 querying 算法的复杂度是 $O(NC)$ (where N=nodes, C=complexity of one complete passing/clique bottleneck). 但是使用了 two path 算法(因为是无向图所以每条边有两个方向)以后,复杂度就变成了: 2C, or $O(C)$
belief propagation is only valid on trees
Factor Trees
首先,我们定义一个变换,这个变换把一个图变成了一个新的图,变换后的图称为 Factor Graph,如果变换后刚好是一颗树,那么我们也可以称之为 Factor Tree。 在新的 Factor Graph 中,每一个 factor (clique) 在图中表示一个节点 f, 下面是一个例子, 其中的一个性质就是 $f$ 节点只和 $x$ 节点相连,也就是说,x 的某个变量把它和其他变量的关系都托付给了 f 节点。
对于一个图,可能有好几种变换方式,我们希望变换后的结果就是一个树,和下面的 Example 3 一样。
另外变换后的图其实是一个二分图(bipartite),二分图每一侧都是一种类型的节点,所以信息传递策略于传统的方法有些不同。。有两种信息的传递方式
- $\nu$ : from variables to factors(左图)
- $\mu$ : from factors to variables(右图)
- _上面的 $\sum$ 操作是遍历变量的赋值,$\sum$ 操作下面的 x 可以看作是一个向量,遍历向量里面所有的赋值._
Factor Tree 算法只能够处理一些长得像树的概率图
Junction Trees
Junction tree data-structure for exact inference on general graphs
Algorithm
- Moralization
- Triangulation
- Junction tree
- Message Propagation
Moral Graph
因为我们要处理的是广泛结构的概率图模型,所以我们先把 BN 纳入到 MRF 的框架里面,这一步骤叫做 Moralization,我们知道 BN 中的 factor 是某些父变量对于指定变量的条件概率,我们不管哪些是条件变量,我们就把他们看成是一个整体的函数,我们的终极目的是生成一个 clique,clique 有要求是全联通的,于是我们就将这个变量的父节点两两配对相连,这样就形成了一个 clique,原来的 factor 就变成了势函数 potential。
在这里我们得到一个启发,就是增加一条边后,原本的 graph 是新的 graph 的一种特殊情况。
Triangulation
对于三角化的操作,我们可以先看后面两个操作的介绍再回来,因为这是为了解决后面问题的而诞生的一个步骤
问题就是 Local Consistency 不能导出 Global Consistency,只有在三角化后的图中
三角化以后的图是没有大于 4 个节点以上的环的, 三角化的方法就是在大的环中添加额外边
Clique Tree
下面的推断可以知道,有向图条件概率乘积的表达形式,其实就是 clique tree 表达形式的一种特殊情况
General Form : 之所以下面是要除以 cliques 之间的交集 S ,是因为交集的信息可能出现了多次
Message Passing
传递方式有两种,这两种方法算出来的结果应该是一样的,这是我们做出的假设称为 Local Consistency
下面的第一行是 forward update,第二行是 backward update,其中 $\frac{\phi_S^*}{\phi_S}$ 是通过 Local Consistency 得出的,是建立起矩形节点两边沟通的桥梁
上面是 clique tree 信息传递的方式,
Shafer-Shenoy algorithm
Appendix
General Variable Elimination
为了让计算机能够自动的处理各种各样结构的概率图的 Elimination,我们可以设计一种更加 general 的形式,但是这个形式的设定,主要还是为了进行计算机的运算的。。
- Let $X$ be set of all random variables
- Let $F$ denote the set of factors and then for each $\phi \in F$,$Scope[\phi] \in X$
- There three type of variables in Elimination Model
- Let $Y\subset X$ be a set of query variables
- Let $Z = X - Y$ would be the set of variables to be eliminated
- Let $\mathcal{E}$ be the known variables, and $\bar{e}_i$ is the assignment
The core operation can be view as the form of, we can extend it to general form by import evidence potential
The evidence potantial:
Total evidence potential:
- Introducing evidence:
The elimination algorithm
… …
Reference
https://www.jianshu.com/p/f90100680749
.