1. Sum-product(Message passing) on trees
-
目的是为了计算边缘分布,相比于 elimination 的优势在于可以用较少的计算次数计算所有随机变量的边缘分布,关键在于复用 message
-
algorithm
-
Step 1: Compute messages
mi→j(xj)=xi∑ϕi(xi)ψij(xi,xj)k∈N(i)\{j}∏mk→i(xi) -
Step 2: Compute marginals
p×i(xi)∝ϕi(xi)j∈N(i)∏mj→i(xi)
-
-
Remarks
-
什么是 message?
-
tree 的一枝表示什么?实际上就是一个条件分布,如下图中实际上就是 m2(x1)=∑x2,x4,x5p(x2,x4,x5∣x1)
-
2. Sum-product algorithm on factor trees
-
algorithm
-
Message from variable to factor
mi→a(xi)=b∈N(i)\{a}∏mb→i(xi) -
Message from factor to variable
ma→i(xi)=xN(a)\{i}∑fa(xi,xN(a)\{i})j∈N(a)\{i}∏mj→a(xj)
-
3. Max-Product for undirected tree/factor tree
4. Parallel Max-Product
- 所有节点同时运算,至多需要 d(最长path的length) 次迭代即可
- trick: 整体的减少乘法次数