通常在概率编程框架的文档中,我可以阅读很多关于 MCMC 的内容,但对编程了解不多。我看到的每个示例通常只有非常简短的概率程序。如果不计算数据的输入和结果的输出,通常它们大约是 5-10 行代码。所以,它看起来不像编程。
据我了解,我可以编写概率程序来规范学习过程,所以我的概率程序越长,计算速度越快,我需要的训练数据集越小,我可以获得更正确的结果。我对吗?
例如,如果我想在图片上找到一只猫。我可以编写概率程序来描述猫的长相以及它们的表现形式。我的描述越详细,结果就会越好?
谢谢,德米特里
对我来说,“概率编程”只是意味着你用一种具有概率结构的编程语言写下你的模型。Stan 为您提供了一种命令式编程语言,其中的变量表示随机变量。
Stan 的文档有 200 多页关于 Stan 编程的内容,所以我不确定您在寻找什么。它涵盖了从数据类型到参数化再到用户定义函数的所有内容。像大多数介绍和手册一样,示例往往很短。如果您想查看更长的程序,请查看案例研究或关注用户论坛。
更大的模型并不一定意味着您需要更少的数据。模型在您开始之前(先验)包含的关于答案的信息越多,您需要的数据就越少。有了更多数据,您就可以做出更细粒度的推断。
我认为你不会很幸运地用详细的手工模型来描述猫。