background preloader

Bayesian Networks

Facebook Twitter

Aragorn: Publications. Chuanyi Ji. Graphical Models. By Kevin Murphy, 1998.

Graphical Models

"Graphical models are a marriage between probability theory and graph theory. They provide a natural tool for dealing with two problems that occur throughout applied mathematics and engineering -- uncertainty and complexity -- and in particular they are playing an increasingly important role in the design and analysis of machine learning algorithms. Fundamental to the idea of a graphical model is the notion of modularity -- a complex system is built by combining simpler parts. Probability theory provides the glue whereby the parts are combined, ensuring that the system as a whole is consistent, and providing ways to interface models to data.

The graph theoretic side of graphical models provides both an intuitively appealing interface by which humans can model highly-interacting sets of variables as well as a data structure that lends itself naturally to the design of efficient general-purpose algorithms. This tutorial We will briefly discuss the following topics. Bayes nets. Incremental Bayesian Networks for Natural Language Parsing.

Statistical Data Mining Tutorials. Advertisment: In 2006 I joined Google.

Statistical Data Mining Tutorials

We are growing a Google Pittsburgh office on CMU's campus. We are hiring creative computer scientists who love programming, and Machine Learning is one the focus areas of the office. We're also currently accepting resumes for Fall 2008 intenships. If you might be interested, feel welcome to send me email: awm@google.com . The following links point to a set of tutorials on many aspects of statistical data mining, including the foundations of probability, the foundations of statistical data analysis, and most of the classic machine learning and data mining algorithms.

These include classification algorithms such as decision trees, neural nets, Bayesian classifiers, Support Vector Machines and cased-based (aka non-parametric) learning. I hope they're useful (and please let me know if they are, or if you have suggestions or error-corrections). Software Packages for Graphical Models / Bayesian Networks. Banjo: Bayesian Network Inference with Java Objects. Banjo is a software application and framework for structure learning of static and dynamic Bayesian networks, developed under the direction of Alexander J.

Banjo: Bayesian Network Inference with Java Objects

Hartemink in the Department of Computer Science at Duke University. Banjo was designed from the ground up to provide efficient structure inference when analyzing large, research-oriented data sets, while at the same time being accessible enough for students and researchers to explore and experiment with the algorithms. Because it is implemented in Java, the framework is easy to maintain and extend. Banjo focuses on score-based structure inference (a plethora of code already exists for variable inference within a Bayesian network of known structure).

Available heuristic search strategies include simulated annealing and greedy hill-climbing, paired with evaluation of a single random local move or all local moves at each step. The current version of Banjo is 2.2.0. Licensing Overview. How to use the Bayes Net Toolbox. This documentation was last updated on 29 October 2007.

How to use the Bayes Net Toolbox

Click here for a French version of this documentation (last updated in 2005). To define a Bayes net, you must specify the graph structure and then the parameters. We look at each in turn, using a simple example (adapted from Russell and Norvig, "Artificial Intelligence: a Modern Approach", Prentice Hall, 1995, p454). Graph structure Consider the following network. To specify this directed acyclic graph (dag), we create an adjacency matrix: N = 4; dag = zeros(N,N); C = 1; S = 2; R = 3; W = 4; dag(C,[R S]) = 1; dag(R,W) = 1; dag(S,W)=1; We have numbered the nodes as follows: Cloudy = 1, Sprinkler = 2, Rain = 3, WetGrass = 4.

In Matlab 6, you can use logical arrays instead of double arrays, which are 4 times smaller: dag = false(N,N); dag(C,[R S]) = true; ...