This package is a Matlab implementation of the algorithms described in the book: Pattern Recognition and Machine Learning by C. Bishop (PRML).
The repo for this package is located at: https://github.com/PRML/PRMLT
If you find a bug or have a feature request, please file issue there. I do not usually check the comment here.
The design goal of the code are as follows:
Succinct: Code is extremely terse. Minimizing the number of line of code is one of the primal target. As a result, the core of the algorithms can be easily spot.
Efficient: Many tricks for making Matlab scripts fast were applied (eg. vectorization and matrix factorization). Many functions are even comparable with C implementation. Usually, functions in this package are orders faster than Matlab builtin functions which provide the same functionality (eg. kmeans). If anyone found any Matlab implementation that is faster than mine, I am happy to further optimize.
Robust: Many numerical stability techniques are applied, such as probability computation in log scale to avoid numerical underflow and overflow, square root form update of symmetric matrix, etc.
Easy to learn: The code is heavily commented. Reference formulas in PRML book are indicated for corresponding code lines. Symbols are in sync with the book.
Practical: The package is designed not only to be easily read, but also to be easily used to facilitate ML research. Many functions in this package are already widely used (see Matlab file exchange).
Mo Chen (2022). Pattern Recognition and Machine Learning Toolbox (https://github.com/PRML/PRMLT), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired: Variational Bayesian Linear Regression, Probabilistic Linear Regression, Variational Bayesian Relevance Vector Machine for Sparse Coding, Bayesian Compressive Sensing (sparse coding) and Relevance Vector Machine, Gram-Schmidt orthogonalization, Kalman Filter and Linear Dynamic System, Kernel Learning Toolbox, EM for Mixture of Bernoulli (Unsupervised Naive Bayes) for clustering binary data, Adaboost, Probabilistic PCA and Factor Analysis, Dirichlet Process Gaussian Mixture Model, Log Probability Density Function (PDF), Naive Bayes Classifier, Hidden Markov Model Toolbox (HMM), MLP Neural Network trained by backpropagation, Logistic Regression for Classification, Pairwise Distance Matrix, Kmeans Clustering, Kernel Kmeans, EM Algorithm for Gaussian Mixture Model (EM GMM), Kmedoids, Normalized Mutual Information, Variational Bayesian Inference for Gaussian Mixture Model, Information Theory Toolbox
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!