/ml

Foundations of Machine Learning Course Materials.

Primary LanguageJupyter Notebook

Foundations of Machine Learning Course Materials.

This is the repository of my course in Foundations of Machine Learning (EE 298M/CoE 197M). Similar to my previous course in Deep Learning, I would like to strike a balance between theory and practical implementation of concepts. The course materials are still under development. Please expect occasional errors, missing parts, bugs, etc. Apologies in advance.

With some modifications, the theory part is based on Mathematics for Machine Learning book. It is freely available at this link.

Thank you! I greatly appreciate the authors for having the book available online. This is helpful for students who have limited resources.

As much as possible, code examples are written to better understand key concepts. The code examples in this course are in Jupyter Notebook. I tried using Google Colab but encountered errors in saving my notebooks. So, I switched to Jupyter Notebook. In theory, you can upload the notebooks here to Google Colab.

Roadmap

  1. Why Machine Learning - Importance of Foundations of Machine Learning, Course Outline
  2. Linear Algebra - Tensors, Operations, Basis, Rank, Spaces/Subspaces, Groups, Linear Mappings
  3. Analytic Geometry - Distance, Metric, Norm, Inner Product, Basis, Projection, Gram-Schmidt, Rotation
  4. Matrix Decomposition - Eigenvalues, Eigenvector, Eigendecomposition, Spectral Theorem, Singular-Value Decomposition, Matrix Approximation
  5. Vector Calculus - Learning, Taylor Series, Gradients, Jacobian, Backpropagation, Hessian
  6. Probability Distributions - Distributions, Gaussian, Bayes, Sufficient Statistics, Exponential Family, Conjugacy, Transformation
  7. Optimization - Gradient Descent, Stochastic Gradient Descent, Convex Optimization, Linear & Quadratic Programming, Convex Conjugate
  8. Expectation Maximization (EM) and Maximum A Posteriori (MAP)
  9. Regression
  10. Gaussian Mixture Models
  11. Support Vector Machines

Cheat Sheets

  1. Numpy
  2. Scikit-Learn
  3. dplyr and tidyr
  4. Neural Networks

Appreciation

If you find the materials in this repo useful, please give it a star or fork it.

Citation

If you find this work useful, please cite:

@misc{atienza2020ml,
  title={Foundations of Machine Learning},
  author={Atienza, Rowel},
  year={2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/roatienza/ml}},
}