# Are there any tutorials on Bayesian probability theory or graphical models by example?

I've seen references to learning Bayesian probability theory in R, and I was wondering if there is more like this, perhaps specifically in Python? Geared towards learning Bayesian probability theory, inference, maximum likelihood estimation, graphical models and the sort?

• Is Bayesian probability theory any different from regular probability theory? I agree that Bayesian decision theory, Bayesian inference, Bayesian estimation theory etc. do differ significantly from the frequentist versions of these two topics, but probability theory is the same for both camps, no? – Dilip Sarwate Dec 25 '11 at 22:18
• Thanks, poor use of terminology :) What word would I use to encompass those topics? – 3ds Dec 25 '11 at 23:10
• Are you interested in coding or math? If the former, how about "programming Bayesian estimation procedures..."? Also, maximum likelihood estimation isn't Bayesian, except asymptotically in almost all cases. – jbowman Dec 25 '11 at 23:32
• Really both. I want to really understand the math, but I've found that methods shown by coding seem to solidify understanding, kind of like the 'Think Stats' series for basic statistics in python :) – 3ds Dec 25 '11 at 23:36

Starting late January 2012, a 10 weeks course on the topic of Probabilistic Graphical Models will be held online for free by the Stanford Professor Daphne Koller. It's considered a natural continuation of Andrew NG's ML course, and if it's anywhere near Andrew's, it's going to be of exquisite quality.

There is also mathematicalmonk's - free youtube videos covering many topics like MLE, Bayes networks, they are more math heavy.

ai-class course units 3.x Probability in AI and 4.x Probabilistic Inference (if you create an account on http://www.ai-class.com you may see them in a nice ordered interface)

Great use of ipython notebook and learning Bayesian methods is Probabilistic Programming and Bayesian Methods for Hackers. If you are using the Ipython /Scipy stack, you can download the notebook and run the example code locally; it's interactive console is great for learning, testing, and writing Python.

Ipython: http://ipython.org/

• Very Python indeed. – Cam.Davidson.Pilon Jun 13 '13 at 19:04

If you really want to learn fundamental concept of Bayesian statistics, definitely you should read Bayesian data analysis written by Andrew Gelman. I encourage you do the exercise. You will learn much from it. Doing the math of Bayesian statistics is an important step for you to learn Probabilistic Graphical Models. It seems you are freshman to Bayesian concept. DO NOT read Probabilistic Graphical Models hastily if you have not learnt any basic concept and not familiar with the Bayesian mathematical calculation. you know my suggestion If you have read the video lectures from Stanford provided by Andrew Ng.

Just came across this MOOC "Autonomous Navigation of Flying Robots" (https://www.edx.org/course/autonomous-navigation-flying-robots-tumx-autonavx-0). In the course the instructors teach participants how to programme (in python) a flying robot for autonomous navigation, exploiting Bayesian statistics for states estimation and other useful techniques (e.g. Kalman filtering of noisy sensor input). The nice thing is that the code that one writes in class is usable for some commercially available flying robots, so one can later play more around with this and seek possibilities how to improve Bayesian state estimation.

For the Ipython Notebook "Probabilisic Programming & Bayesian Methods for Hackers", I can also highly recommend it. Haven't come across such a well accessible and comprehensive hands on introduction before and really learned a lot within a relatively short time!