/machine-learning

In this repository, I will upload some projects I have been working on. These include building algorithms from scratch, as well as some applications of these.

Primary LanguageJupyter Notebook

Machine learning for the working mathematician

A comprehensive, mathematically detailed revision

In this repository, I will upload some projects I have been working on. These include the building algorithms from scratch, as well as some applications of these. These notebooks follow the perspective of a theoretical mathematician, so they provide details of the algorithms which are normally skipped. The suggested order of the notebooks is

  1. Linear regression
  2. Multiple and polynomial regression
  3. Logistic regression
  4. Neural networks
  5. A note on gradient descent and convergence
  6. Stochastic gradient descent
  7. K-nearest neighbor
  8. K-means
  9. Evaluation
  10. Linear discriminant analysis
  11. Quadratic discriminant analysis
  12. Naive Bayes
  13. Support vector machines, part 1
  14. Support vector machines, part 2
  15. Support vector machines, part 3

Most of the examples are done using basic datasets in order to illustrate each concept.

Sources: my sources are mainly my notes from Andrew Ng's course and The Elements of Statistical learning by Hastie et al.

Disclaimer: I am not a programmer, so my code is not the most elegant possible. In contrast, as a mathematician, my notebooks will tend to be full of math and equations, so beware.