Live data from Hacker News

What is probabilistic programming?

radar.oreilly.com

1–10 of 21 posts

Re: What is probabilistic programming?

#4
I'm still confused. What exactly does a probabilistic programming language do differently than a normal one? Does it just have a lot of support for machine learning and representing data and stuff like that, or is there something fundamentally different?

Re: What is probabilistic programming?

#5

I'm still confused. What exactly does a probabilistic programming language do differently than a normal one? Does it just have a lot of support for machine learning and representing data and stuff like that, or is there something fundamentally different?

A probabilistic programming language is probably better understood as a way to model stochastic processes. What I mean by modeling stochastic processes is we have data that we know was generated by some non-deterministic process. We also don't know all the parameters of this process. Probabilistic programming languages make the point that the best way to specify these processes is as programs. Once we do that, we can in a sense run these simulations in reverse to infer parameters in our models and even infer values for missing data.

Re: What is probabilistic programming?

#7

I'm still confused. What exactly does a probabilistic programming language do differently than a normal one? Does it just have a lot of support for machine learning and representing data and stuff like that, or is there something fundamentally different?

Correct me if I'm wrong, conceptually, probabilistic programming does to equation solvers what declarative language like SQL do to query data.

Say you have a model, y = mx + b, and you have some data. Normally you can solve this explicitly with matrices or whatever. But you'll need to implement the solution. With probabilistic language like BUGS, you can feed in the model and the data and it would return `m` and `b` as a probability distribution.

This is an trivial example. One example of where it really comes in handy is doing bayesian inference.

Re: What is probabilistic programming?

#8
post #7

I'm still confused. What exactly does a probabilistic programming language do differently than a normal one? Does it just have a lot of support for machine learning and representing data and stuff like that, or is there something fundamentally different?

Correct me if I'm wrong, conceptually, probabilistic programming does to equation solvers what declarative language like SQL do to query data. Say you have a model, y = mx + b, and you have some data. Normally you can solve this explicitly with matrices or whatever. But you'll need to implement the solution. With probabilistic language like BUGS, you can feed in the model and the data and it would return `m` and `b`…

A useful analogy is Prolog, which you can think of as a logical programming language. It has formal, logical rules as primitives, and the deductive inference search happens under the hood. Similarly, probabalistic programming languages have random variables and probability distributions as primitives and do probabalistic inference (usuallly Baysian) under the hood.

Re: What is probabilistic programming?

#9
post #6

Probabilistic Programming and Bayesian Methods for Hackers: https://github.com/CamDavidsonPilon/Probabilistic-Programmin...

And for a more theoretical, less interactive picture, here's a video of Noah Goodman, one of the creators of Church, at a Google tech talk discussing the language's philosophical foundations and showing a bunch of applications in cognitive science/psychology.

https://www.youtube.com/watch?v=fclvsoaUI-U

Post reply on HN