Sunday, 17 December 2017

Introduction to Machine Learning (ML)

What really is machine learning? Let's try to explain it in a way that everyone can easily understand and appreciate. Here we would define Machine Learning and outline the various aspects of machine learning.

What is Machine Learning?
Machine Learning is an branch of artificial intelligence that provides the computer system the ability to progressively learn and improve its performance on handling various tasks without being explicitly programmed to perform all the task.
Another definition of Machine Learning explains it as 'the process of trying to deduce unknown values from known values'.

Figure 1: Types of Machine Learning Problem

The Theory of Machine Learning
Remember the second definition of machine learning has to do with trying to determine unknown values given a set of know values.
Example: if a set of 30 students class 5 normally scores between 70% and 100% in a test and a set of 30 students in class 3 normally scores between 40%  and 60%.
Now if you have a score of  45% from a new student, different from the ones you know and you have to place this student in a class, what class would you place him? Obviously, since he scored 45% which lies between 40% and 60%, you will likely place him in class 3. This is an example of classification. Now let's take a more formal definition.
Given a set of data(training data set) that comprise of N observations {xn}, where n = 1,...,N, and you are also given the corresponding values {tn} (target value), the goal of machine learning is to predict the value of t for a new value of x.
The approach would be to first construct an appropriate function y(x). The values of this function for the new input x constitute the predictions for the corresponding value of t.
There would be need to examine also examine the probability that the predicted value of t is correct. This probability is expressed as p(t |x), that is probability of t given x. This expresses how certain or uncertain our prediction is. By now you understand the theory behind machine learning: that is making predictions about what is not known.
Understanding this theoretical approach would help us understand the various types of Machine Learning problems.

Types of Machine Learning Problem
From Figure 1, we could see the classes of machine learning problem. Machine learning problems are divided into two broad categories: Supervised Learning and Unsupervised Learning.

Supervised Learning
In supervised learning applications, the training data set(given data set) comprises of samples of input vectors {x} along with their corresponding target vectors. The task here would be to find a function f(x) that takes a data point x and produces the equivalent target value t such that f(x) = t
Supervised Learning problems can either be Classification or Regression.
Classification:  In classification, the training data is from some finite set. Here the aim is to assign each of the input vectors to one of a definite number of discrete categories.
Regression: Here, the training data set is in R-dimensional real space. Here the output would just be one or more continuous variables

Unsupervised Learning
Unsupervised Learning has to do with finding patterns or trend within the input data. Unsupervised learning could either be clustering, density estimation or dimensionality reduction.
In clustering, we find clusters or groups of similar examples withing the data.
Density estimation has to do with finding groups of data that belong to the same density distribution
Dimensionality Reduction reduces data from a higher dimensional space to lower dimension like 2 or 3 dimensions.

There is also another class of machine learning problems known as semi-supervised learning. It would just suffice to know that under this class we have:
  • Reinforcement learning
  • Active learning

Final Notes
I do think that this lesson would not be too difficult for you to follow. For now we have an overview of the whole concept of Machine Learning. In subsequent lessons, we would go a little deeper into formal definitions using the statistical derivations.