我想学习贝叶斯模型的吉布斯采样。如何从条件分布中采样变量?

在这个例子中,箭头表示依赖;例如,Grade取决于Difficulty和Intelligence。要使用 Gibbs 抽样来计算联合分布,首先我将Difficultyand设置Intelligence为 (1,1)。
下一步是Grade从中采样,但我该如何采样?
吉布斯抽样如何从条件概率中抽样?贝叶斯模型
机器算法验证
吉布斯
贝叶斯网络
2022-03-19 08:35:59
2个回答
由于我们正在计算联合分布,我们假设我们的初始样本是。
为了计算下一个样本,我们需要从条件分布中对每个变量进行抽样。
- 从贝叶斯网络中的条件独立性简化为仅对进行采样。我们采样并得到值。
- 同样对于,我们采样并获得值。
- 由于贝叶斯网络编码的条件独立性,的采样。由于我们已经采样了,我们使用这些值并采样。在成绩的 CPD 中,我们可以从最后一行中选择一个值(其中)。我们采样得到值(值 0.3)
- 简化为. 我们从第二行采样 Letter CPD,其中,我们采样得到(值 0.6)。
- 同样,样本通过简化为. 我们得到(从 CPD 的第二行采样,其中.
我们会有一个新的样本.
如果条件分布不能直接从标准随机生成器生成,您可以在 Gibbs 采样器中应用 Metroplolis-Hastings 模式。
- 抽取一个样本,, 从使用具有初始值的 Metropolis 采样器
- 抽取一个样本,, 从使用具有初始值的 Metropolis 采样器
- 抽取一个样本,, 从使用具有初始值的 Metropolis 采样器
...
参考: R第 7 章介绍蒙特卡洛方法
其它你可能感兴趣的问题