Learning systems : basic algorithm in Machine Learning design

 Aspects of developing a learning system

In the previous blog posts, I have already talked about the meaning of the term "learning" in machine learning. Go check out that blog (here!) if you have not read it already as it is a prerequisite for this one. This post will talk about how that "learning" is learned by machine learning systems and I will try to explain the basic algorithm that is followed in this process and the various aspects involved in the learning process.

Algorithm to design a learning system in ML workflow

The basic algorithm followed by an explanation is as follows:
  1. Choosing the training experience.
  2. Choosing the target function.
  3. Choosing the target function's representation.
  4. Choosing the learning or function approximation algorithm to infer the target function.

Explanation

Choosing the training experience

The training experience can be thought of as the training data. Basically, you need to have training data which the learning system will learn from (or train from). It is important to have properly processed data for proper future results. For example, in case of a regression problem to predict house price from features like house location, area, bedrooms, etc., your dataset regarding this will be your training experience (training data).

Choosing the target function

The target function is one we have to learn. Choosing the target function means describing it. In case of the above regression example, the target function will be a function which, given an input of features like house location, area, bedrooms, etc., will return the house price. Most of the times, it is not possible to learn the ideal target function, so we try to approximate it and this is the concept of function approximation.

Choosing the target function's representation

Choosing how to represent the target function means choosing the class of functions that you would want to use to approximate the target function : linear based, tree based, neural network, or kNN. Generally, you would want to start with a simpler class like linear-based because the functions here are easier to train and represent. However, a lot of times, you would have to go for more complex classes because the simpler ones like linear ones are simply not enough.

Choosing the learning algorithm for function approximation

Now that you have chosen how you would want to represent the target function (let us say you want to use a simple linear model), you would need a learning algorithm (also called function approximation algorithm) that would learn this target function, which basically means finding appropriate parameters (weights or coefficients in case of linear model) for the model. You might have heard of gradient descent which is the most popular learning algorithm. 

This is how a learning system comes about which can be used for further reasoning and prediction.

Through this process, we have covered the various aspects of developing a learning system. In the next post, I might talk about the different types of learning.

Popular posts from this blog

ML technical definition : Learning in AI defined

Batch Gradient Descent vs Stochastic Gradient Descent (SGD) vs Mini-Batch Gradient Descent

What exactly is Artificial Intelligence in simple words ? Explain AI in simple terms.