Notes on Machine Learning

Published on 4 December 2023 | 3 mins to read

My personal notes on the field of machine learning.

Special thanks to Alexandr Popadin for the cover image.

This article started as a Google Doc of my notes while learning Machine Learning. At some point, I turned the document into a blog post that others may benefit from, hence this article.

I am still learning, so these notes continuously change. As they do, I will update this article. Therefore, these notes are not authoritative and are likely to be wrong. Feel free to email me with corrections.

Machine Learning

The study and development of algorithms that enable computers to make decisions without being explicitly programmed on how to arrive at that conclusion.

Instead, algorithms are shown sample data from which they "learn" to make better decisions.

Some tasks are feasible for a programmer to tell a computer how to calculate or decide. For example, it is almost trivial to build a program to calculate time given distance and speed.

def calculate_speed(distance, speed):
    return distance / speed

Other programs such as accounting systems may be complex, but still possible to build within a reasonable timeframe.

However, some tasks are impractical or impossible for the programmer to tell a computer how to do them. This might be because the logic required to perform such tasks is not well-understood. For example, identifying objects in an image.

But we know these tasks can be done because we(humans) always do them. This is after learning from many training examples. So, with Machine Learning, we show algorithms loads of training examples from which they will be able to learn.

Machine Learning is a crucial part of Artificial Intelligence. Artificial Intelligence studies and develops computer systems that mimic and exhibit human intelligence. Learning is one part of intelligent behaviour, so Machine Learning is one part of Artificial Intelligence.

Terminology

There are some important keywords used in Machine Learning.

Types of Learning

Supervised Learning

Unsupervised learning

Reinforcement Learning

Types of Data

Structured Data

Unstructured Data

Supervised Machine Learning Objectives

Regression

Classification

Deep Learning

Non-Deep Learning

K Nearest Neighbours

The Mathematics Involved in Machine Learning