1 Machine Learning Algorithms

 

This chapter covers

  • Types of ML algorithms
  • Importance of learning algorithms from scratch
  • Introduction to Bayesian Inference and Deep Learning
  • Software implementation of machine learning algorithms from scratch

An algorithm is a sequence of steps required to achieve a particular task. An algorithm takes an input, performs a sequence of operations, and produces a desired output. The simplest example of an algorithm is sorting: given a list of integers, we perform a sequence of operations to produce a sorted list. A sorted list enables us to organize information better and find answers in our data.

Two popular questions to ask about an algorithm are how fast it runs (run-time complexity) and how much memory it takes (memory or space complexity) for an input of size n. For example, a comparison-based sort, as we’ll see later, has O(nlogn) run-time complexity and requires O(n) memory storage.

1.1 Types of ML Algorithms

1.2 Why Learn Algorithms from Scratch?

1.3 Mathematical Background

1.4 Bayesian Inference and Deep Learning

1.4.1 Two Main Camps of Bayesian Inference: MCMC and VI

1.4.2 Modern Deep Learning Algorithms

1.5 Implementing Algorithms

1.5.1 Data Structures

1.5.2 Problem-Solving Paradigms

1.6 Summary