This is used when the information used to train is neither classified nor labelled.  The system does not determine the correct output, instead it explores the data and can draw inferences from data-sets to describe hidden structures from unlabelled data.

The goal is to have the computer learn how to do something that we don't tell it how. There are two approaches to unsupervised learning.

  1. Use a technique called association.  Teach the agent not by giving explicit categorisations, but by using some sort of reward system to indicate success. (this type of training will generally fit into the decision problem framework because the goal is not to produce a classification but to make decisions that maximise rewards). This approach nicely generalises to the real world, where agents might be rewarded for doing certain actions and punished for doing others
  2. Use a technique called clustering. In this type of learning, the goal is not to maximise a utility function, but simply to find similarities in the training data. The assumption is often that the clusters discovered will match reasonably well with an intuitive classification. For instance, clustering individuals based on demographics might result in a clustering of the wealthy in one group and the poor in another.


When there are no correct answers and no teacher! 

The algorithms discover and present interesting structures in the data.


  1. You have molecules, part of them are drugs and part are not but you do not know which are which and you want the algorithm to discover the drugs.
  2. A friend invites you to his party where you meet totally strangers. Now you will classify them using unsupervised learning (no prior knowledge) and this classification can be on the basis of gender, age group, dressing, educational qualification or whatever way you would like.
  3. Let's suppose you have never seen a Cricket match before and by chance watch a video on internet, now you can classify players on the basis of different criterion: Players wearing same sort of kits are in one class, Players of one style are in one class (batsmen, bowler, fielders), or on the basis of playing hand (RH vs LH) or whatever way you would observe [and classify] it.
  4. You are conducting a survey of 1,000 questions about predicting the IQ level of job interview candidates. Since this questionnaire is too big, so after 100 candidates, the administrator decides to trim the questionnaire down to fewer questions and for it we use some statistical procedure like PCA (Principal Component Analysis) to reduce the dimensionality of the data.


It is like learning without a teacher
The machine learns through observation & finds structures in data

There are two main types of supervised learning

Clustering: A clustering problem is where you want to discover the inherent groupings in the data

  • such as grouping customers by purchasing behaviour

Association: An association rule learning problem is where you want to discover rules that describe large portions of your data

  • such as people that buy X also tend to buy Y.


​Machine Learning (ML) is the development of computer programs that can access data and use it to learn.

Traditional software development takes data and program as input and produce some form of output.  By comparison, ML takes data and the desired output, processes it to produce a program.

There are three main categories of ML

  • Supervised Learning
  • Unsupervised Learning
  • Semi-Supervised Learning​
machine learning vs traditional programming


This is about applying to new data what has been learned in the past using labelled examples to predict future events.  Starting with a known training data-set, this algorithm produces an inferred function which is used for predicting output values.  The algorithm can compare its output with intended, correct output and then find errors.  This can then be used to modify the model.

Supervised learning is the most common technique for training neural networks and decision trees. Both of these techniques are highly dependent on the information given by the predetermined classifications. In the case of neural networks, the classification is used to determine the error of the network and then adjust the network to minimise it, and in decision trees, the classifications are used to determine what attributes provide the most information that can be used to solve the classification problem.


In the classification problem, the goal of the learning algorithm is to minimise the error with respect to the given inputs. These inputs, often called the "training set", are the examples from which the agent tries to learn. But learning the training set well is not necessarily the best thing to do. A common problem is over-fitting the data and essentially memorising the training set rather than learning a more general classification technique.


The correct answers are known.  The algorithm iteratively makes predictions on the training data and is corrected by the teacher. Learning stops when the an acceptable level of performance is achieved by the algorithm.


  1. You have a collection of molecules and information about which are drugs and you train a model to answer whether a new molecule is also a drug
  2. Based on past information about spams, filtering out a new incoming email into Inbox (normal) or Junk folder (Spam)
  3. Cortana, Siri or any speech automated system in your mobile phone trains your voice and then starts working based on this training
  4. Biometric systems where you train the machine after couple of inputs (of your biometric identity - be it thumb or iris etc.), the machine can validate your future input and identify it is you.


It is like learning with a teacher. 

The training data-set is like a teacher.

The training data-set is used to train the machine.

There are two main types of supervised learning

Classification: Machine is trained to classify something into some class.

  1. classifying whether a patient has disease or not
  2. classifying whether an email is spam or not

Regression: Machine is trained to predict some value like price, weight or height.

  1. predicting house/property price
  2. predicting stock market price

Robots, Art, Offshore Finance, Life - Machine Learning Introduction

Robots, Art, Offshore Finance, and Life 


​This is a method that leverages both unsupervised and supervised learning. 

In essence, it is a hybrid approach.


The biggest difference between supervised and unsupervised machine learning is:

  • Supervised machine learning algorithms are trained on data-sets that include labels added by a data scientist that guide the algorithm to understand which features are important to the problem at hand.
  • Unsupervised machine learning algorithms, on the other hand, are trained on unlabelled data and must determine feature importance on their own based on inherent patterns in the data. 

Semi-supervised learning algorithms are trained on a combination of labelled and unlabelled data. This is useful for a few reasons. First, the process of labelling massive amounts of data for supervised learning is often prohibitively time-consuming and expensive. What’s more, too much labelling can impose human biases on the model. That means including lots of unlabelled data during the training process actually tends to improve the accuracy of the final model while reducing the time and cost spent building it.


Semi-supervised learning is an optimal approach for use cases like web-page classification, speech recognition, or even genetic sequencing. In all of these cases, data scientists can access large volumes of unlabelled data, but the process of actually assigning supervision information to all of it would be an insurmountable task.

Taking web-page classification as the example, assume you want to classify any given web-page into one of several categories (e.g "Travel"; "Entertainment", "Business news", etc.). This is a case where it's prohibitively expensive to go through tens of thousands of web-pages and have a human workforce annotate them. However, in terms of availability, there is an almost bottomless ocean of web-pages are available. 


  • Supervised classification: The algorithm learns to assign labels to types of web-pages based on the labels that were inputted by a human during the training process.
  • Unsupervised clustering: The algorithm looks at inherent similarities between web-pages to place them into groups.
  • Semi-supervised classification: Labelled data is used to help identify that there are specific groups of web-page types present in the data and what they might be. The algorithm is then trained on unlabelled data to define the boundaries of those web-page types and may even identify new types of web-pages that were unspecified in the existing labels input by the human workforce.


We will introduce three approaches to machine learning

  1. Supervised Learning
  2. Unsupervised Learning
  3. Semi-Supervised Learning