Learning is one of the strongest concepts out there. I mean, we learn all the time don’t we? How to make coffee, solve a problem, program, present…and the list goes on and on. In fact, all living things learn! From plants learning how to respond to light, animals learning how to hunt, to humans learning how to make coffee. Sorry, I just happen to like coffee a lot today.

Knowing the power to learning, people thought and wondered, “hmm, if learning is such a powerful skill, why can’t we somehow make machines learn too?”. This spark of curiosity is what started it all!

Machine Learning

Let’s make a more formal definition here:

Machine Learning is the concept of letting a machine/system build logic and learn on its own through provided data and algorithms. There is no need for custom code or additional logic from the programmer. The machine/system builds its own logic from given information and models to solve a problem. It can be though of as the“brain” to a machine.

Hopefully it’s making some sense now. Let’s look at some applications first.

Applications of Machine Learning

As you might’ve guessed, the power of machine learning (ML) has become unmatched in the recent years. Improvements made to these ML models have made it a key player in so many fields today. Here are some of its applications:

  • E:Commerce: One of the largest uses of ML. Finding customer base.
  • Healthcare: Prediction of patient reports
  • Social Media: Content discovery
  • Speech Recognition: Natural language processing etc.

The list goes on and on but let’s take more specific examples.

While shopping online, you might have seen a “frequently purchased with this” section giving you more personalized product options. This is a common application machine learning that we will see later in this article. Music streaming platforms like Apple Music also use machine learning in the way that the model learns what songs you like, what you don’t, and provides you with customized recommendations of songs to check out next. Hopefully this provided you some clarity.

These machine learning models are trained to such precision that it’s not easily noticeable how its contributing in a system!

A Deeper Dive

Machines like patterns. They enjoy analyzing, understanding, and evaluating patterns in data.

Picture this analogy. Let’s say you join a Java programming course but have no knowledge of coding whatsoever. You are the machine here. Now the teacher feeds you knowledge through assessments, notes, quizzes, and more. Day by day, you understand the material and learn. The teacher is the Machine Learning Engineer or Developer here and the information that is being taught to you is the real world data. The more information that is taught to you, the smarter you get! This is the same way a machine behaves as well. See why I said its the “brain” of the machine?

Now this analogy isn’t totally accurate because in a course or school the information or “data” is always correct. It’s never wrong or inaccurate information. When we consider real world data, it is never this case.

Real world data is very impure. It’s like diamond. It has many errors.

Diamond when first mined is not the bright, shiny gem we know it as. It has to first be cleaned, prepared, then manufactured into beautiful looking chains, necklaces etc. Similarly, real world data needs to be obtained, cleaned, and prepared before it is put into a machine learning model. The right data has to be used for the right model. If not, it is not that the machine learning model will fail, but that it will conclude in inaccurate results that is the biggest worry. Consider this happening at a large-scale! A whole business could go down simply because of bad data.

With the data inputted, machine learning models can predict the future!

This sounds impossible but that’s how the models work. They use “old data”, analyze it, and compare with future situations to make a prediction. It is important to note that it can’t output optimal results if the old and future situations are vastly different from each other. There must be connectivity.

3 Main Categories of Machine Learning

  • Supervised Learning -> learn from labeled data
  • Unsupervised Learning -> learn from un-labeled data
  • Reinforcement Learning ->learns in a reward-based system

That probably didn’t make too mush sense right? Let’s brief on them.

As this article is not focused on the technical side to machine learning, we will go more in-depth with discussed machine learning models in later articles.

Supervised Learning: You might have heard this term frequently. That’s because supervised learning is the most common and practiced technique out there. The biggest reason for this is because the model works with labeled data (very easy to handle). Generally the two types of problems that you work with are: regression or classification.

Regression is a prediction model. “How much a house will cost in 5 years?” is a typical problem for this technique.

Classification is a “yes” or “no” categorization model. “Is the wall red?” is a good example for this technique.

Unsupervised Learning: Here the model works with un-labeled data. It is important to not that un-labeled is much harder to handle than labeled data. This is because when data is labeled, it is organized.

Unsupervised learning analyzes unlabelled data to find patterns and group them together. It works independently to organize information into groups without any third-party assistance. Generally the two types of problems that you work with are: clustering or association.

Clustering is a grouping model. It looks at the data to see any common “clusters” to group information. A very simple example for this is the grouping of customers based on purchases for a specific product.

Association uses a “relationship” based analysis of the un-labeled data to group them. It tries to seek out any commonality or associations between the data. One common example of association is when it is used to understand frequently purchased items for some given main item. We briefly mentioned this earlier in the article.

Reinforcement Learning: Reinforcement learning is a cool concept. It’s a reward/penalty system. If the machine does well and learns as it should, it’s rewarded. If not, it is penalized.

You might realize this term popping up a lot in the field of Artificial Intelligence (AI). That is because, reinforcement learning is actually a subset of AI. This technique is a strong iterative learning model.

Self driving cares hugely rely on this model!


Happy reading!

Software Engineer and Blogger! Contact me at: barathvelmu@gmail.com.