Software for machine learning
The programming language for CS540 will be Matlab.
You will be required to learn this, if you do not already know it
(see these Matlab
tutorials.)
If you do not have access to matlab, you can either buy a student copy
from the UBC bookstore ($150), or you can apply for a CS guets
account.
Matlab
The following packages
(all either written in, or callable from, Matlab)
may be useful for your final project.
- Netlab:
contains code for feedforward neural networks (MLPs), Gaussian processes,
mixtures of Gaussians, etc.
Very well documented (comes with a book).
-
Spider,
new object oriented matlab machine learning library, with an emphasis on
kernel-based and other discriminative methods
- BNT:
(Bayes net toolbox), contains code for inference and learning in
graphical models (emphasis on discrete states and directed graphs)
- MATBUGS:
a matlab interface to
WinBugs,
a popular program for Gibbs sampling on hierarchical Bayesian models.
- VIBES:
a Java program (with matlab interface) for (mean field) variational
message passing on (conjugate) hierarchical Bayesian models.
-
MCMCstuff:
MCMC for MLPs, Gaussian processes, etc.
-
FBM tools
for matlab,
a matlab interface to
Software for Flexible Bayesian Modeling and Markov Chain Sampling
by Radford Neal.
Java
-
Weka,
a Java library (with heavy GUI emphasis) for various kinds of
classifiers and discrete Bayes nets
- Yet
Another Learning Environment, emphasis on data mining
(compatible with Weka)
-
Mallet,
code for statistical natural language processing (including 1D CRFs).
Other