有人可以解释概率编程中更清晰的“编程”部分吗?

时间:2017-11-21 16:29:29

标签: bayesian pymc pymc3 stan edward

通常在概率编程框架的文档中,我可以阅读很多关于MCMC但不是很多关于编程的内容。我看到的每个例子通常只有非常简短的概率程序。通常它们大约是5到10行代码,如果你不计算数据的输入和结果的输出。所以,它看起来不像编程。

据我了解,我可以编写概率程序来规范学习过程,因此我的概率程序越长,计算速度越快,我需要的训练数据集越小,我得到的结果就越正确。我对吗?

例如,如果我想在图片上找到一只猫。我可以编写概率程序来描述猫的样子以及它们可以是什么样的阐述。我的描述越详细,效果会更好吗?

谢谢, 德米特里

1 个答案:

答案 0 :(得分:2)

对我来说,“概率编程”只是意味着你用编程语言编写模型并使用可能的结构。 Stan为您提供了一种命令式编程语言,其中包含表示随机变量的变量。

Stan的文档在Stan的编程有200多页,所以我不确定你在寻找什么。它涵盖了从数据类型到参数化到用户定义函数的所有内容。像大多数介绍和手册一样,这些例子往往很短。如果您想查看更长的程序,请查看案例研究或关注用户论坛。

较大的型号并不一定意味着您需要更少的数据。在您开始之前(先前),模型包含的关于答案的信息越多,您需要的数据就越少。随着您拥有更多数据,您可以进行更细粒度的推断。

我不认为你会用一个详细的手工制作的模型来描述猫。