An open API service indexing awesome lists of open source software.

https://github.com/vagmcs/prml

PRML notes, proofs and algorithms implemented in Python
https://github.com/vagmcs/prml

machine-learning notebooks python

Last synced: 5 months ago
JSON representation

PRML notes, proofs and algorithms implemented in Python

Awesome Lists containing this project

README

        

# Pattern Recognition and Machine Learning (PMRL)

[![nbviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.jupyter.org/github/vagmcs/prml/tree/master/)
[![License: LGPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)

The project contains notes and proofs as Jupyter notebooks, as well as, Python code implementing algorithms as presented in the book "Pattern Recognition and Machine Learning" by Christopher Bishop.

## License

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; See the [GNU General Public License v3 for more details](http://www.gnu.org/licenses/gpl-3.0.en.html).

## Instructions

In order to run the notebooks locally type the following:

```bash
make install
make jupyter
```

To generate a PDF document from the notebooks just type:

```bash
make notes
```

To generate markdown documents from the notebooks just type:

```bash
make markdown
```

## Notebooks

* [1. Introduction](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch1_introduction.ipynb)
* [2. Probability Distributions](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch2_probability_distributions.ipynb)
* [3. Linear Models for Regression](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch3_linear_models_for_regression.ipynb)
* [4. Linear Models for Classification](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch4_linear_models_for_classification.ipynb)
* [5. Neural Networks](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch5_neural_networks.ipynb)
* [Gradient Descent Algorithms](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/gradient_descent_algorithms.ipynb)
* [6. Kernel Methods](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch6_kernel_methods.ipynb)
* [7. Sparse Kernel Machines](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch7_sparse_kernel_machines.ipynb)
* [9. Mixture Models and EM](https://nbviewer.jupyter.org/github/vagmcs/PRML/blob/master/notebooks/ch9_mixture_models_and_em.ipynb)

## Resources

* [PRML Book](https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning)
* [PRML Errata](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/05/prml-errata-3rd-20110921.pdf)
* [An overview of gradient descent optimization algorithms](https://www.ruder.io/optimizing-gradient-descent) by Sebastian Ruder
* [An updated overview of recent gradient descent algorithms](https://johnchenresearch.github.io/demon) by John Chen
* [3Blue1Brown YouTube Channel](https://www.youtube.com/@3blue1brown)