Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prml/prmlt
Matlab code of machine learning algorithms in book PRML
https://github.com/prml/prmlt
algorithms machine-learning machine-learning-algorithms matlab prml
Last synced: 3 days ago
JSON representation
Matlab code of machine learning algorithms in book PRML
- Host: GitHub
- URL: https://github.com/prml/prmlt
- Owner: PRML
- License: mit
- Created: 2012-09-10T08:19:18.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2020-03-04T13:50:30.000Z (almost 5 years ago)
- Last Synced: 2024-10-29T15:29:11.519Z (about 2 months ago)
- Topics: algorithms, machine-learning, machine-learning-algorithms, matlab, prml
- Language: MATLAB
- Homepage: http://prml.github.io/
- Size: 494 KB
- Stars: 6,025
- Watchers: 405
- Forks: 2,158
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Introduction
-------
This Matlab package implements machine learning algorithms described in the great textbook:
Pattern Recognition and Machine Learning by C. Bishop ([PRML](http://research.microsoft.com/en-us/um/people/cmbishop/prml/)).It is written purely in Matlab language. It is self-contained. There is no external dependency.
Note: this package requires Matlab **R2016b** or latter, since it utilizes a new Matlab syntax called [Implicit expansion](https://cn.mathworks.com/help/matlab/release-notes.html?rntext=implicit+expansion&startrelease=R2016b&endrelease=R2016b&groupby=release&sortby=descending) (a.k.a. broadcasting). It also requires Statistics Toolbox (for some simple random number generator) and Image Processing Toolbox (for reading image data).
Design Goal
-------
* Succinct: The code is extremely compact. Minimizing code length is a major goal. As a result, the core of the algorithms can be easily spotted.
* Efficient: Many tricks for speeding up Matlab code are applied (e.g. vectorization, matrix factorization, etc.). Usually, functions in this package are orders faster than Matlab builtin ones (e.g. kmeans).
* Robust: Many tricks for numerical stability are applied, such as computing probability in logrithm domain, square root matrix update to enforce matrix symmetry\PD, etc.
* Readable: The code is heavily commented. Corresponding formulas in PRML are annoted. Symbols are in sync with the book.
* Practical: The package is not only readable, but also meant to be easily used and modified to facilitate ML research. Many functions in this package are already widely used (see [Matlab file exchange](http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A49739)).Installation
-------
1. Download the package to a local folder (e.g. ~/PRMLT/) by running:
```console
git clone https://github.com/PRML/PRMLT.git
```
2. Run Matlab and navigate to the folder (~/PRMLT/), then run the init.m script.3. Run some demos in ~/PRMLT/demo folder. Enjoy!
FeedBack
-------
If you find any bug or have any suggestion, please do file issues. I am graceful for any feedback and will do my best to improve this package.License
-------
Released under MIT licenseContact
-------
sth4nth at gmail dot com