Hacker News new | past | comments | ask | show | jobs | submit login
Probabilistic Programming and Bayesian Methods for Hackers (2015) (camdavidsonpilon.github.io)
172 points by dacm on Aug 21, 2016 | hide | past | favorite | 10 comments



I also really like a related book and its companion resource:

* https://probmods.org/

* http://forestdb.org/


I'm having a really hard time comprehending what should be simple code in church, the LISP like programming language used in probmods.

Mostly I'm having a hard time figuring out if what-ever I'm working with is a function that requires input or is a result from a function. I'm mostly familiar with ML/NLP stuff in python.

Is there some "trick" to more easily figure out what is going on? My understanding of the prerequisites was that lambda-calculus was not a requirement.


Church is a Scheme dialect. Scheme is a Lisp-1, meaning there's a single namespace for everything, including functions. That is, a variable can be bound to a function object, an integer, a list, etc. This is IMHO a very good thing.

Functions or macros can return other functions. It's not easy to say what is going on, unless you look a bit at the context to spot e.g. function applications.


> That is, a variable can be bound to a function object, an integer, a list, etc. This is IMHO a very good thing.

The same with Python, which I spend most of my time using. However, I cannot remember the last time I had trouble figuring out if I was dealing with a variable that contained a value or a function in python, whereas in probmod I am having difficulties with a simple countess application.


If you're more familiar with JavaScript then checkout WebPPL. * made by the same people as 'church'

If you're more familiar with Haskell, then checkout hakaru.

If you are more familiar with Scala, or Java, checkout figaro. * has associated textbook https://www.amazon.com/Practical-Probabilistic-Programming-A...

If you're more familure with Clojure, then checkout 'Anglican'


Few hackers I know don't have a python environment installed. Let alone numpy scipy pymc and jupyter.


Oh this is interesting. Do you know people who use PyMC extensively, especially in industry? I'm working on some empirical Bayes estimation nowadays, and it's not unrealistic to think I'll encounter an ugly posterior soon enough.


Not a data scientist by any means, but I heard [Bayesian Data Analysis](http://www.stat.columbia.edu/~gelman/book/) mentioned more than once, and it seems to use Stan (there is also PyStan)


It's awesome! It is what I'm looking for!


This is not the place, but I've been frustrated in the last few days by jupyter not being able to run these notebooks with an up to date python scientific stack. The kernel dies whenever a cell is run that attempts to generate an in-line chart.

Alright, I'll go and open an issue now :)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: