Pattern Recognition and Machine Learning Toolbox
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).
Cite As
Mo Chen (2024). Pattern Recognition and Machine Learning Toolbox (https://github.com/PRML/PRMLT), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox >
- AI and Statistics > Deep Learning Toolbox > Image Data Workflows > Pattern Recognition and Classification >
Tags
Acknowledgements
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!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
chapter01
chapter02
chapter03
chapter04
chapter05
chapter06
chapter07
chapter08/MRF
chapter08/NaiveBayes
chapter09
chapter10
chapter11
chapter12
chapter13/HMM
chapter13/LDS
chapter14
common
demo/ch01
demo/ch03
demo/ch04
demo/ch05
demo/ch06
demo/ch07
demo/ch08
demo/ch09
demo/ch10
demo/ch11
demo/ch12
demo/ch13
demo/ch14
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | update description |
|