/ML-foundations

Machine Learning Foundations: Algebra, Calc, Stats & CS

Primary LanguageJupyter NotebookMIT LicenseMIT

Machine Learning Foundations

Where and When

This repository is home to the code that accompanies Jon Krohn's Machine Learning Foundations series of tutorials. From May 2020 through September 2020, these tutorials are being rolled out as eight 3.5-hour-long live online trainings in the O'Reilly learning platform. In parallel, the content is being rolled out as free videos via Jon Krohn's ML Foundations YouTube playlist.

To stay informed of upcoming live trainings and new videos as they're released onto YouTube consider:

Content Covered

The Machine Learning Foundations series provides a comprehensive overview of all of the foundational subjects -- mathematics, statistics, and computer science -- that underlie contemporary machine learning approaches, including deep learning and other artificial intelligence techniques.

The eight subjects in the series are organized into four couplets:

Later subjects build upon content from earlier subjects, so the recommended approach is to progress through the eight subjects in the order provided. That said, you're welcome to pick and choose individual subjects based on your interest or existing familiarity with the material.

Pedagogical Approach

As with other materials created by Jon Krohn (such as the book Deep Learning Illustrated and his 18-hour video series Deep Learning with TensorFlow, Keras, and PyTorch), the content in the series is brought to life through the combination of:

  • Vivid full-color illustrations
  • Straightforward examples of Python code within hands-on Jupyter notebooks
  • Comprehension exercises with fully-worked solutions

Why Study the Foundations of Machine Learning?

The purpose of this series it to provide you with a practical, functional understanding of the content covered. Context will be given for each topic, highlighting its relevance to machine learning. You will be better-positioned to understand cutting-edge machine learning papers and you will be provided with resources for digging even deeper into topics that pique your curiosity.

The content in this series may be particularly relevant for you if:

  • You use high-level software libraries (e.g., scikit-learn, Keras, TensorFlow, PyTorch) to train or deploy machine learning algorithms, and would now like to understand the fundamentals underlying the abstractions, enabling you to expand your capabilities
  • You’re a software developer who would like to develop a firm foundation for the deployment of machine learning algorithms into production systems
  • You’re a data scientist who would like to reinforce your understanding of the subjects at the core of your professional discipline
  • You’re a data analyst or A.I. enthusiast who would like to become a data scientist or data/ML engineer, and so you’re keen to deeply understand the field you’re entering from the ground up (very wise of you!)

Prerequisities

All code demos will be in Python so experience with it or another object-oriented programming language would be helpful for following along with the code examples.

Notebooks

All code is provided within Jupyter notebooks in this directory.

These notebooks are intended for use within the (free) Colab cloud environment. However, if you're keen to run them locally, you're welcome to do so (for the Jupyter uninitiated, check out the installation instructions here for guidance).

Finally, here's an illustration of Oboe, the Machine Learning Foundations mascot, created by the wonderful artist Aglaé Bassens:

Oboe