« Ara Howard: Ruby Queue | Main | Jeff Barczewski on MasterView »

Bayesian Networks in Ruby

Carl Youngblood is speaking on Bayesian networks in Ruby. He starts by pointing out that building complete logical systems by building rules is necessarily a futile task. The answer? A system that accounts for ignorance and degree of belief probabilistically. He quote Norvig: “Probability provides a way of summarizing the uncertainty that comes from our laziness and ignorance.”

After a brief tutorial on how probability can be used to overcome the weaknesses of predicate logic, Carl launches a discussion of Bayesian inference and networks. That took quite a while, but was a good tutorial on the problems.

Carl is the author of SBN, a Ruby module for Bayesian networks. He shows how you can create Bayesian networks, input the probabilities for the state tables, and build the network. Once that’s done, you can query the network to understand the probabilities of events represented by the nodes.

Currently, you have to specify the network structure, rather than allowing it to learn the structure, something that makes the entire process easier, not to mention useful for many of the tasks people like to use Bayesian networks for.

Posted by windley on March 16, 2007 1:13 PM

See related posts:

1 Comments

Wouldn't the temptation to plug this probabilistic data (guesses) back into the Bayesian nodes undermine the whole purpose? I am talking about a human error, not the code itself. Some programmer deploys this, sees what he/she thinks are definite patterns, and then plugs those back in. Now we have a random element (the probability results) and a feedback loop-- the two basic elements to generate chaos theory. (good or bad)

Leave a comment

I encourage you to leave a comment below. Your email address will not be displayed on Technometria, but allows me to communicate with you directly. Your email address won't be displayed, but will be used to compute a MicroID for your comment.