My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

PMTK is a collection of Matlab/Octave functions, written by Matt Dunham, Kevin Murphy and various other people The toolkit is primarily designed to accompany Kevin Murphy's textbook, Machine learning: a probabilistic perspective, but can also be used independently of this book. The goal is to provide a unified conceptual and software framework encompassing machine learning, graphical models, and Bayesian statistics (hence the logo). (Some methods from frequentist statistics, such as cross validation, are also supported.) The toolbox is currently (December 2011) in maintenance mode, meaning that bugs will be fixed, but no new features will be added (at least not by Kevin or Matt).

PMTK supports a large variety of probabilistic models, including linear and logistic regression models (optionally with kernels), SVMs and gaussian processes, directed and undirected graphical models, various kinds of latent variable models (mixtures, PCA, HMMs, etc) , etc. Several kinds of prior are supported, including Gaussian (L2 regularization), Laplace (L1 regularization), Dirichlet, etc. Many algorithms are supported, for both Bayesian inference (including dynamic programming, variational Bayes and MCMC) and MAP/ML estimation (including EM, conjugate and projected gradient methods, etc.)

PMTK builds on top of several existing packages, available from pmtksupport, and provides a unified interface to them. In addition, it provides readable "reference" implementations of many common machine learning techniques. The vast majority of the code is written in Matlab. (For a brief discussion of why we chose Matlab, click here. Most of the code also runs on Octave, an open-source Matlab clone.) However, in a few cases we also provide wrappers to implementations written in C, for speed reasons. PMTK currently (October 2010) has over 67,000 lines of code.

PMTK contains many demos of different methods applied to many different kinds of data sets. The demos are listed here, and the data is available from pmktdata (but will be downloaded automatically when a demo calls loadData).

Documentation Click here for information on how to download, install and use the toolbox.

Contributing code Authorized users can check in changes to the source code and/or documentation using the svn interface (see here for some hints and tips). Also, they can edit the documentation via the wiki interface. To become an authorized user, send Kevin Murphy an email describing your credentials. Contributors of code should follow the guidelines here.

Reporting bugs Please post bug reports here.

Versions As you can tell by the name, PMTK3 is the third version of PMTK. Older versions are obsolete, but are briefly described here.

Powered by Google Project Hosting