Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MSR's Probabilistic Programming Language R2 Released (microsoft.com)
49 points by cf on Oct 20, 2014 | hide | past | favorite | 12 comments



Our code often involves quantities which have intrinsic errors (like readings from accelerometers or photo-sensors or even just plain data like averages). The probabilistic framework enables us to computer with these kind of quantities that have uncertainties embedded in to them.

Every programmer should read this paper. It's one of the nicely written paper than pretty much anyone can understand.


Are you aware of any open source implementation of it? I am working on a Scala `Uncertain[T]` library...


Nothing wrong with the paper, but the relationship of the paper to the OP seems tenuous. The paper you link is not doing inference, it seems like just sampling. The OP is doing inference using some non-obvious program transformations and MCMC.



I don't see any reference to infer.net [1]. Aren't both of them related?

[1] http://research.microsoft.com/en-us/um/cambridge/projects/in...

edit: typo


They are related in that they are both probabilistic programming languages, but the similarities stop there.

First, infer.net is a DSEL of C# implemented as a library, while this is a new language. More substantially, infer.net is designed to use variational inference, which limits the class of graphical models that can be supported, while R2 seems to be based on sampling hence has no limits on the models it can represent. A more similar approach would be Church (http://projects.csail.mit.edu/church/wiki/Church), a probabilistic language based on Scheme.

Of course, the downside of sampling is that inference is orders of magnitude slower, and there's no principled way to know when it converges, that's why many people prefer variational inference.


Of course, both variational inference and sampling-based inference are exponentially faster than actual exact probability calculations.


Hm, the obvious criticism is that it's not open source, unlike STAN and PyMC, and "only" has the advantage of being about twice as fast.

I haven't read the article thoroughly enough to know if the samples are of the same quality.


The name seems to have been ideally chosen to cause confusion between it and the existing R language.


It wouldn't surprise me if they had intended it as a homage/boast - both are statistics-related, after all.


Will there be a D2? will I be able to program in R2D2?




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: