Welcome to Inside Learning Machines! My name is Michael Attard, I’m a senior data scientist based in Amsterdam, the Netherlands. I have a deep interest in machine learning, and its application to solve real-world problems. Please feel free to visit my LinkedIn page.

Throughout my career, I have found a lot of information online regarding various topics in data science and machine learning. However, often these lack deep insight into how machine learning algorithms actually work.  All too often, these algorithms are treated as little more than black boxes:

Inside Learning Machines

The aim of this site is to thoroughly explain how machine learning algorithms, and related technologies, actually work. My hope is that the reader can walk away with a deep understanding for these algorithms, and in what circumstances they are applicable to a given data science problem.

 The articles written so far fall into one of the following categories. Note that for most of the coding examples provided, the notebooks are available on my GitHub.

  1. Supervised Models: Each post here focuses on a single supervised machine learning algorithm. Content covers the motivation, foundational assumptions, mathematical derivation, and implementation of a given algorithm in Python. 
  2. Unsupervised Models: Like the previous category, here each article focuses on a single unsupervised machine learning algorithm. Content covers the motivation, foundational assumptions, mathematical derivation, and implementation of a given algorithm in Python. 
  3. Coding: These posts cover subjects related to coding best practices, and various technologies that can be used to help move your machine learning application from concept to implementation. 
  4. Metrics: Each article covers methods typically used to evaluate machine learning models. The intent of these posts is to describe these approaches, such that the reader will walk away with sufficient knowledge to properly use and understand them.
  5. Ensembles: Each post here focuses on a single ensemble machine learning algorithm, many of which also fall within the supervised domain. Content covers the motivation, foundational assumptions, mathematical derivation, and implementation of a given algorithm in Python. 
  6. Neural Networks: The posts found here focus on specific components of neural networks, as well as full implementations. Like the other articles, here the reader can follow along as we build the neural networks, and their components, from the ground-up!
  7. Optimisation Techniques: The articles here cover, in detail, various common optimisation algorithms that are used within learning procedures. 
  8. Recommendation: Recommender systems have a wide variety of use cases within industry. In these posts, I aim to convey to the reader how these algorithms work at an intuitive level.

If you have any questions or suggestions regarding the articles, please feel free to leave a comment. I sincerely hope you enjoy, and gain value from, Inside Learning Machines.