【发布时间】:2021-10-06 20:25:42
【问题描述】:
我正在尝试使用 pyro 来指定贝叶斯网络。我有一个子节点D,它是连续的,它有三个离散节点是父节点,每个节点都有 10 种可能的状态:
所以,我首先将我的离散节点定义为:
import torch
import pyro
import pyro.distributions as dist
def model(data):
A = pyro.sample("A", dist.Dirichlet(torch.ones(10)))
B = pyro.sample("B", dist.Dirichlet(torch.ones(10)))
C = pyro.sample("C", dist.Dirichlet(torch.ones(10)))
现在,据我了解,我需要定义 P(D|A, B, C)。我想将其建模为正态分布,但不确定如何进行此调节。我的计划是对这个分布参数进行先验,然后使用 MCMC 或 HMC 来估计后验分布并学习模型参数。
但是,不确定如何继续进行模型定义。
【问题讨论】: