在 TensorFlow 概率中形成条件分布

Forming conditional distributions in TensorFlow probability

我正在使用 Tensorflow Probability 构建一个 VAE,其中包括图像像素以及一些其他变量。 VAE 的输出:

tfp.distributions.Independent(tfp.distributions.Bernoulli(logits), 2, name="decoder-dist")

我正在尝试了解如何基于此形成其他条件分布,我可以将其与推理方法(MCMC 或 VI)一起使用。假设上面的输出是 P(A,B,C | Z),我如何利用该分布来形成我可以对其进行推理的后验 P(A|B, C, Z)?我一直在尝试通读文档,但在理解它们时遇到了一些困难。

您问题的答案在很大程度上取决于您想在其中进行调节的联合模型的性质。关于这个主题已经写了很多,简而言之,它通常是一个非常困难的问题 :)。如果不更多地了解您的问题的细节,就几乎不可能推荐有用的通用推理过程。但是,我们在此处的 TFP 存储库中确实有一堆示例(脚本和 jupyter/colab 笔记本):https://github.com/tensorflow/probability/tree/master/tensorflow_probability/examples

特别是

  • Hierarchical Linear Model 示例,这是一种罗塞塔石碑,展示了如何在 TFP、R 和 Stan 中使用 Hamiltonian Monte Carlo(一种 MCMC 技术)进行后验推理,

  • Linear Mixed Effects Model 示例,展示了如何使用 VI 解决标准 LME 问题,

等等。您可以单击这些笔记本顶部的 "Run in Google Colab" link 打开 运行 https://colab.research.google.com

也请随时通过电子邮件 tfprobability@tensorflow.org 与我们联系。这是 public Google Group 用户可以直接与构建 TFP 的团队互动的地方。如果您在那里向我们提供更多关于您想做什么的信息,我们很乐意提供有关使用 TFP 进行建模和推理的指导。

希望这至少是一个正确方向的开始!