概率图模型包括贝叶斯网络和马尔科夫场, 但都可以用因子图factor graph来表示。 因子factor是指数个变量variable各个取值之间的关系,而在贝叶斯网络中,这种关系特指条件概率, 马尔科夫场中特指势函数potential。 推断inference则可以理解为是在factor graph上给定一些证据evidence推理某一个变量的边缘概率marginal的问题。 而问题的瓶颈往往在于变量之间复杂的相互关联关系, 最暴力的求解当然是计算出所有变量的联合分布然后再按照需要进行marginalize, 但显然变量数过多则会导致计算量过大。所以,需要进行有次序地marginalize和join操作,才能较为高效地推断。 常见的精确推断方法:Variable Elimination,Factor Elimination,Join-tree Algorithm,Belief Propagation; 常见的近似推断方法:Join-graph Algorithm,Variational Inference,Sampling。 本文主要记录除VI和Sampling以外的方法。

graphviz 在线工具

http://magjac.com/graphviz-visual-editor/

graphviz 文档

https://graphviz.org/doc/info/shapes.html

https://www.sphinx-doc.org/en/master/usage/extensions/graphviz.html