
PPX: Probabilistic Programming EXecution Protocol and API Based on Flatbuffers - ArtWomb
https://iris-hep.org/projects/ppx.html
======
krisoft
This is only tangentially related to PPX, more like a general question about
probabilistic programming: Every time I hear about probabilistic programming I
get excited. Then I try to read more about it, and all I see everywhere is
just integral signs flying by. Is there any tutorial where they start with a
real world problem, or at least something one can believe a real human want to
solve maybe if we squint a bit, and then go through how that problem can be
formulated to be something one can solve with PP?

I had the same feeling with artificial neural networks. I have read a lot
about perceptrons, and how they are in a sense universal approximators, but it
didn't really click until I have seen a tutorial where they used a
convolutional network to classify handwritten digits. I never needed to write
a program to recognise handwritten numbers, but could imagine how that can be
useful. Also without the tool in question (neural networks) it would have been
very hard to achieve the same result.

In short: what is the mnist digits equivalent toy problem of probabilistic
programming?

~~~
Jabbermonkey
If you're genuinely eager to learn probabilistic programming then by far the
best resource I've found is a book called Statistical Rethinking by Richard
McElreath. His (almost finished) draft for the second edition is up here:
[http://xcelab.net/rmpubs/sr2/statisticalrethinking2_08dec19....](http://xcelab.net/rmpubs/sr2/statisticalrethinking2_08dec19.pdf)

Dr. McElreath also posts his lectures on youtube. The R code in the book and
his lectures use a library/package he wrote which provides a wrapper to
simplify building Stan models. The code has also been translated to PyMC3 on
Python.

Code, slides, lecture videos are all referenced here:
[https://github.com/rmcelreath/statrethinking_winter2019](https://github.com/rmcelreath/statrethinking_winter2019)

It might look like a huge amount of content but this course leads you very
gently through key concepts, keeping the mathematics to a minimum. Don't be
put off if you don't know the R language. The concepts are more important than
the programming language and the code examples are kept simple.

If you make it through Statistical Rethinking then you might consider picking
up Doing Bayesian Data Analysis by John Kruschke (a.k.a. the puppies book).
I've found DBDA to be heavier going than SR but Kruschke takes a different
approach to McElreath which can be useful if you get stuck on a concept, need
more detail or just want a different angle on the subject.

~~~
p1esk
But you haven't answered OP's question. Why would one want to invest several
months of learning PP without seeing any clear examples of how it could be
useful?

