I’ve been thinking of a topic/theme for this blog for a while now. For the last few months I have become interested in machine learning, and so have been trying to learn more about the topic. I figured it would be good exercise to summarize things I learn on this blog. They say a good understanding is a pre-requisite to explaining.

**What is machine learning?**

Machine learning is the science that deals with inferences. It uses statistical methods to make those inferences. These inferences can then be used for forecasting or predictions.

There are different types of forecasting viz. classification, regression.

**Classification:**

The task of determining which one of the available classes, a variable belongs to, is classification. Think of these values as enumerated types. And usually these classes are disjoint. *Eg:* A system that detects which blood group a given sample belongs to, is a classification system. The sample can take one of the following values {A, B, AB, O} (let’s forget positive and negative for simplicity).

**Regression:**

The task of determining the exact value a target variable can take, is regression. This variable can take any value (from the set of real numbers). *Eg:* A system that predicts the premium for your car insurance, or the cost of a house, or the interest rate on a loan.

**Why machine learning?**

Traditionally machines have been used to follow instructions, which means we still need to tell them what to do. The next step in the evolution of computing is to enable machines to ‘learn’ just like humans. We can leverage the recent explosion of data-sets (big data) and increased compute ability of processors to ‘teach’ machines to ‘think, predict, estimate, classify’ instead of just following our instructions (executing algorithms we write).

There are a number of ways to ‘teach’ machines. They are broadly categorized as ‘supervised learning’, ‘unsupervised learning’ and ‘reinforcement learning’.

**Supervised learning:**this is analogous to classroom learning for humans.**Unsupervised learning:**this has no external intervention, the system ingests a lot of training samples and figures out what features matter. I will talk about this in depth in another post.**Reinforcement learning:**this is a game theory based approach where the system is given rewards or punishments depending on it’s correct or incorrect predictions. The system modifies it’s prediction algorithm according to this feedback.

**PS:** I haven’t blogged for many years. I hope that the ‘flow’ of my posts improve as I continue blogging.