# amber-kshz/PRML

Python implementations (on jupyter notebook) of algorithms described in the book "PRML"

repo name | amber-kshz/PRML |

repo link | https://github.com/amber-kshz/PRML |

homepage | |

language | Jupyter Notebook |

size (curr.) | 8097 kB |

stars (curr.) | 163 |

created | 2017-11-11 |

license | |

# PRML

“What I cannot create, I do not understand” Richard Phillips Feynman

## About the repository

The book “Pattern Recognition and Machine Learning” by C. M. Bishop is one of the most famous textbooks on machine learning. Although the book describes diverse algorithms of machine learning in depth from theoretical perspectives, it barely touches on the implementation of these algorithms.

Hence, I wrote these notebooks. The aim of these notebooks is to understand how the algorithms can be implemented step by step, and each notebook describes which part of the equation shown in the book corresponds to which part of the code.

Although these notebooks are mainly written for myself, I will be glad if they would be helpful for people who are reading the book.

To view the notebooks, please see the links below.

## notebooks

- chapter 3 : Bayesian Linear Regression
- chapter 4 : Logistic Regression
- chapter 5 : Feedforward Neural Networks
- chapter 6 : Gaussian Process Regression
- chapter 7 : Support Vector Machine
- chapter 9 : Expectation Maximization algorithm
- chapter 10 : Variational Inference
- chapter 11 : Metropolis-Hastings algorithm, Hamiltonian Monte Carlo
- chapter 12 : Probabilistic PCA
- chapter 13 : Hidden Markov Models
- chapter 14 : Bagging and AdaBoost, Decision Tree Classifier

## Required packages

- Python 3 ( >= 3.5)
- numpy
- scipy
- jupyter notebook or lab
- matplotlib
- scikit-learn (mainly for loading datasets)