有人可以更清楚地解释 "programming" 概率编程的一部分吗?

Could someone explain more clear "programming" part of probabilistic programming?

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

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

比如我想在图片上找一只猫。我可以编写概率程序来描述猫的长相以及它们的表现形式。而且我的描述越详细越好吗?

谢谢, 德米特里

对我来说,"probababilistic programming" 只是意味着你用一种具有概率结构的编程语言写下你的模型。 Stan 为您提供了一种命令式编程语言,其中包含表示随机变量的变量。

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

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

我认为用详细的手工模型来描述猫的运气不会太好。