Machine Learning (ML) is a subset of Artificial Intelligence (AI) which enable computers to learn from data and improve themselves without being explicitly programmed. Although Machines are stone-hearted, they can also learn. That’s how your phone recognizes your fingerprint, that’s how google voice translates your speech to text and that’s how Siri communicates with you.

As we’ve seen that Machines are becoming more and more intelligent, AI has been applied to Business, Health Care,Finance,Agriculture and several other sectors. In this post, I will walk you through a very quick introduction to ML, ML algorithms and the type of problems these ML algorithms can be applied to.

Tom Mitchell (1998) — Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

Let’s apply the above definition to this problem:

Suppose your email program watches which emails you do or do not mark as spam, and based on that learns how to better filter spam.

What is experience E, task T and performance measure P in the above setting?

E = The experience of watching you mark emails as spam or not spam.

T = The task of classifying emails as spam or not spam.

P = The performance measure which gives the probability that the program will mark emails correctly as spam or not spam.

Generally, ML problems can be solved using the following ML algorithms:

— Supervised Learning

— Unsupervised Learning

Other types of ML algorithms are:

— Reinforcement Learning

— Recommender Systems

— Neural Networks

— Support Vector Machines

Supervised Learning

A Supervised Learning algorithm is similar to the way a child might learn arithmetic from a teacher. This is because the data scientist acts as a guide to teach the algorithm what conclusions it should come up with.

It requires that the algorithm’s possible outputs are already known and that the data used to train the algorithm is already labeled with correct answers.

A Supervised Learning algorithm is usually applied to Regression and Classification problems.

Classification and Regression Algorithms

Regression problems are problems that map input variables to predict a continuous valued output e.g predicting stock prices, predicting the number of users that will like an article on medium etc.

Classification problems are problems that map input variables into discrete categories e.g Breast cancer prediction,Predicting if a picture contains a cat or not.

Let’s analyze the scenario below:

You’re running a company, and you want to develop learning algorithms to address each of two problems.

Problem 1: You have a large inventory of identical items. You want to predict how many of these items will sell over the next 3 months.

Problem 2: You’d like software to examine individual customer accounts, and for each account decide if it has been hacked/compromised.

Is this a classification or regression problem?

Problem 1 is a regression problem. This is because you are trying to predict a large number of items over a particular duration. There is no particular limit to the number of items you can sell during the duration of three months. Hence, this problem has a continuous valued output.

Problem 2 is a classification problem. This is because you are only trying to predict if the accounts has been hacked or not…nothing more,nothing less. Hence, this problem has a discrete valued output.

Unsupervised Learning

An Unsupervised Learning algorithm allows one to approach problems with little or no idea of what the output will look like. Structures can be derived from data where the effects of the variables are not known. These structures can be derived by clustering the data based on the relationships among the variables in the data.

Clustering Algorithm

An Unsupervised Learning algorithm is usually applied to clustering and non-clustering problems.

Examples of clustering problems are market segmentation, social network analysis, organizing computing clusters etc.

An example of a non-clustering problems is identifying different speakers in a particular voice note.

One can not predict the output of an Unsupervised Learning algorithm.

Unsupervised Learning algorithm can be applied to the examples below:

— Given a set of news articles found on the web, group them into set of articles about the same story.

— Given a database of customer data, automatically discover market segments and group customers into different market segments.

Lastly…

I hope that this article has helped you to ease into the topic of Machine Learning.

I love feedback (positive and negative) so please let me know what you think — write a response or just hit the clap button and share this post with friends and colleagues.

Thanks for reading!