Machine Learning is the trend technology nowadays. As a result, IT companies around all the world started to adopt this technology due to its importance.

In fact, Machine Learning is almost everywhere. The moment when you google something and it gives you what you’re looking for, that is Machine Learning. The moment when facebook suggests you someone to tag, the ads that you see in YouTube. All that is Machine Learning.

What is Machine Learning:

The most significant definition that we can give to machine learning is giving the machine the ability to learn without being explicity programmed. Hence, saving us from writing thosands , maybe millions of line of codes listing all possible things about a particular subject.

In fact, Machine learning is not new, it existed since the 60s, but back at that time, there was neither of data nor powerful machines. Unlike nowadays both of them exists, and that where the magic comes from.

What does Machine Learning ?

Machine Learning helps to build:

  • Classifiers: given an image, predict what objects are in it. Identify if an email is spam or not. predict house pricing. Identify text in images, etc.
  • Find relations between objects in a data set: cluster articles based on their subject, data compression etc.
  • Train the machine to do a task: make a self driving car, make a robot to learn to move forward or to jump, etc.

Types of Machine Learning

We identify three main fields in Machine learning: Supervised Learning, Unsupervised Learning, and Reinforcement Learning.

Supervised Learning:

In Supervised Learning, the idea is to bring a large labeled data set, and the Machine Learning algorithm tries to learn from that data.

Given a data set of apple and orange images, we call { x(i), Y(i) } the i-th training example where x(i) is the i-th image and Y(i) its label where: Y ∈ [ orange, apple ].

The goal of supervised learning is to find the function f that maps a given image x(i) to its Y(i) , i.e f(x(i)) = Y(i).

Actually, this what humans do, we learn by experience. For instance, a little baby learns to identify objects just like this, you give him an object and you tell him what it is. Hence, the humain brain learns that function f for us.


  • Given a data set of spam emails and non spam emails, we can build a classifier to predict whenever an email is spam or not
  • Build a model that predicts house pricing in some region based on some features like area, and number of rooms, number of floors.
  • Predicts what’s written in handwritten image

To implement these ideas we can use one of these algorithms:

  • Linear Regression for house pricing
  • Logistic Regression for predicting handwritten image character
  • Deep Neural Network for identifying objects in an image
  • Support Vector Machine to predict if an email is spam or not


Unsupervised Learning:

Unlike Supervised learning. In Unsupervised Learning, the Machine Learning algorithms tires to learn from an unlabeled data set. Concretly we’re giving it just the x(i) without its Y(i) and the algorithms tries to learn a function f. which tries to find a relation between the training examples. A concrete example of this the google news section: basically, the Google news section search the web and find articles that talks about the same subject. An other application of Unsupervised Learning, is to detect anomalous examples in a data set. Let’s say we’re having a data center with a 1000 computers, the model tries to detect when a computer is not functioning like the others.

The most known algorithms in Unsupervised Learning:

  • The K-means algorithm
  • The Hierarchical clustering algorithm
  • Anomaly detection algorithm

Reinforcement Learning:

In Reinforcement Learning we don’t really need data, since the algorithm tries to learn by its own. Basically the algorithm is given a goal, and given a reward if it gets close to acheive it, otherwise a punishment, the algorithm will do this over and over maximizing its rewards until it acheives the gaol. Imagine you’re training a dog, if it does something good, you give a reward “food” or not giving anything. Reinforcement Learning is most used in robotics, self driving cars, and games.

This is all exciting, but what algorithms can we use ?

  • Genetic algorithm (GA algorithm)
  • Evolution Strategy algorithm (ES algorithm)

Getting started:

To get started in Machine Learning you need to have:

  • A programming background
  • Be familiar with Python and its libraries like NumPy and Pandas 
  • Mathematics : It’s recommended to have a nice background at maths, especially in Calculus, Linear algebraStatistics and Probability. If you are not that good with maths, than it’s okay, you still can study machine learning, but a little background will really help you to understand more of the core concepts.

Machine Learning Vs Deep Learning :

Machine learning uses classic algorithms, as we have seen, these algorithms tires to learn a function f that maps some data set to its labels  and make informed decisions based on what it has learned. Deep learning do the exat same but uses structures algorithms in layers to create an “artificial neural network” that can learn and make intelligent decisions on its own. Hence Deep learning is just a subfield of machine learning which is more powerful than the classic algorithms.


Machine Learning is the new electricity, it will change (it’s already changing) a lot of things in our world. In the next articles we will talk more about the core concepts in Machine Learning and its best practices, so stay tuned.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.