• Stars
    star
    1,546
  • Rank 30,258 (Top 0.6 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 11 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Probabilistic Modeling Toolkit for Matlab/Octave.

Note: as of 2019, PMTK is no longer supported - use at your own risk. The new version of my book (which is in progress) now uses the Python code available from https://github.com/probml/pyprobml/.

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.) Since December 2011, the toolbox is 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.)

To get the code, click on the "Download zip" button on the right hand side of github, or just clone this repository.

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 has over 67,000 lines.

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

More Repositories

1

pyprobml

Python code for "Probabilistic Machine learning" book by Kevin Murphy
Jupyter Notebook
6,499
star
2

pml-book

"Probabilistic Machine Learning" - a book series by Kevin Murphy
Jupyter Notebook
4,932
star
3

pml2-book

Probabilistic Machine Learning: Advanced Topics
1,389
star
4

dynamax

State Space Models library in JAX
Python
675
star
5

probml-notebooks

Notebooks for "Probabilistic Machine Learning" book
Jupyter Notebook
202
star
6

sts-jax

Structural Time Series in JAX
Jupyter Notebook
182
star
7

ssm-book

Interactive textbook on state-space models
Jupyter Notebook
172
star
8

bandits

Bayesian Bandits
Jupyter Notebook
64
star
9

rebayes

Recursive Bayesian Estimation (Sequential / Online Inference)
Jupyter Notebook
57
star
10

pmtkdata

A collection of MATLAB data sets used by PMTK.
MATLAB
57
star
11

pmtksupport

Various packages used by PMTK.
MATLAB
54
star
12

JSL

Jax SSM Library
Python
51
star
13

jprobml

Julia code for Probabilistic Machine Learning
Julia
37
star
14

probml-utils

Utilities for probabilistic ML
Python
32
star
15

probml-data

Datasets associated with pyprobml
Jupyter Notebook
19
star
16

pgm-jax

Probabilistic Graphical Models in JAX
Jupyter Notebook
14
star
17

pmtk1

A probabilistic modeling toolkit for Matlab/Octave. (Deprecated/old version.)
MATLAB
9
star
18

shift-happens

Research code for ML with distribution shift
Jupyter Notebook
8
star
19

superimport

Simple package to lookup missing packages and autoinstall them.
Python
7
star
20

sequential-neural-testbed

Sequential neural testbed
Jupyter Notebook
7
star
21

shifty

Distribution Shift
Jupyter Notebook
6
star
22

covid19

Covid19 modeling experiments
Jupyter Notebook
5
star
23

pmtk2

A probabilistic modeling toolkit for Matlab/Octave. (Deprecated/old version.)
MATLAB
4
star
24

deimport

Python
4
star
25

colab_powertoys

A set of python functions that enhances your experience with Google's Colab (Not a Google Project)
Python
4
star
26

probml.github.io

HTML
4
star
27

chest_xray_kaggle

derived from https://www.kaggle.com/datasets/paultimothymooney/chest-xray-pneumonia
3
star
28

gan-zoo

Generative Adversarial Networks for images
1
star
29

bic

Python
1
star
30

vae-zoo

Variational Autoencoders for images
1
star