Blog

Musings of a Developer

Common terms in the world of Machine Learning

This is my first post and i will be dedicating this post to most common and basic terms you might have heard or seen while googling your way around trying to understand what machine learning really is.

Artificial Intelligence(AI) has taken over the computer software industry with a huge storm lately so it is quite usual you might have heard of words such as Machine Learning(ML), Deep Learning, Neural Networks etc. Let’s face it!!! Drilling all of the information related to machine learning and Artificial Intelligence from around the internet through the skull is an exhausting task, given all of the humongously techsavy terms used.Understanding the terminologies and concepts behind them can be more than difficult for someone who is new to the field (like me). This post aims at boiling down some of the common terminologies used in ML world to a state where a layman can grasp it. Now without wasting any more time lets dive in and learn something new.


  • Algorithm: In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems. Algorithms can perf…. BLAH BLAH BLAH. An algorithm is nothing but a few lines of instruction’s, written in a form in which a computer can understand, to tell the computer to perform a desired task. That is it. For example — A taxi algorithm will have following set of instructions(in order).
    1. Go out of the house
    2. Go to a taxi stand
    3. Provide the address
    4. Book a ride

  • Artificial intelligence(AI): It is a field in computer science that stresses and accentuates on creating machine/software/system capable for solving problems the way humans do. Basically creating brains for machines, artificially through various processes. Some of the activities for which machines need to be intelligent includes learning, planning, speech recognizing, image recognizing etc. The goal is to get efficient output for tasks which cannot be practically achieved by any human.

  • Machine Learning(ML): It is the sub field of AI. It is an incredibly powerful real time application of AI. ML revolves around the idea of providing access of large amount of relevant data to the machine and letting it learn for itself. Learning includes finding Patterns, Distinguishing signals, making decisions based on past “experience”. This can be achieved by combining algorithms, data-sets and powerful computational capabilities.

  • Supervised Learning: A phenomenon where the algorithm/system is ‘trained’ on a predefined dataset and based off on that training dataset, it can make accurate decisions when exposed to a new dataset. For example :- A system is created, to distinguish and recognize Dogs from other animals or things, by providing it with millions of images of different dogs and then exposing it to totally different images from that of the previous dataset. It can also be seen as “learning by observation”.

  • Unsupervised Learning: A phenomenon where the algorithm/system is exposed to a total random and new dataset and it automatically finds patterns and relationships inside of that dataset. For example:- unsupervised learning is used in Email clustering. Distinguishing between spam mails and useful mails. It can also be seen as “learning by Example”.

  • Reinforcement Learning: A phenomenon where the algorithm/system is exposed to a total random and new dataset and it automatically finds patterns and relationships inside of that dataset. The system is rewarded when it finds a desired relationship inside of that dataset but it is also punished when finds an undesired relation. The algorithm learns from Awards and punishments and updates itself continuously. This type of algorithm is always in production mode. It requires real time data to be able to update and present actions.

  • Neural Networks: Also known as Artificial Neural Networks (ANN). Inspired from biological neural networks inside the brain, these ANN’s are a huge network of numerous interconnected conceptualized artificial neurons which pass data between themselves. These neurons have activation threshold, if met, are ‘fired’. The combinations of these fired neurons results in learning. Neural networks are used when the volume of inputs is far too large for conventional machine learning approaches.

  • Deep Learning: It refers to a category of ML algorithm’s that often uses ANN’s to generate a model. It is a process of applying deep neural network technologies(Neural Networks with multiple hidden layers) to solve machine learning problems. Currently deep learning is enjoying its fair share of success as the best possible ML technique to solve todays and future’s real world problems through AI.

  • Classification: It is a sub category of supervisd Learning. Classification is a process of taking random sort of input dataset and then assigning it a label. There can be multiple labels in a single dataset. A classification problem is when the output variable is a category, such as “red” or “blue” or “disease” and “no disease”. Classification technique can be used when there is a distinct form of yes/no, true/False for the dataset output. Real time examples of Classification problem includes :- “Is this tumor cancerous ?”, “Does this cookie meet our quality standards ?”, “Will Obama win this time ?”

  • Regression: It is a sub category of supervised Learning. Regression is a process of predicting the value to a discrete ‘yes/no’ label, provided it falls on a continuous spectrum of input values. In a regression problem the output variable is a real value such as dollars, weights etc. A regression algorithm answers the questions like “How much ?” “How many ?”. Real time examples of Regression includes:- Stock value prediction, real estate value prediction.

  • Support Vector Machine: (Note: lots of imagination required). Lets say
    1. We have 2 colors of balls on the table that we want to separate.
    2. We get a stick and put it on the table.
    3. Someone comes and places more balls on the table, it kind of works but one of the balls is on the wrong side and there is probably a better place to put the stick now.
    4. SVMs try to put the stick in the best possible place by having as big a gap on either side of the stick as possible.
    5. Now when that someone returns, the stick is still in a pretty good spot.that someone has seen how good you are with a stick so he gives you a new challenge.
    6. There’s no stick in the world that will let you split those balls well, so what do you do?
    7. You flip the table throwing the balls into the air.
    8. Then you grab a sheet of paper and slip it between the balls while they are in the air.
    9. looking at the balls from where the challenger is standing, the balls will look split by some curvy line.(I already told you. It will require lots of imagination)
    10. Consider balls as data, the stick as a classifier, the biggest gap trick as an optimization, flipping the table as kernelling and the piece of paper a hyperplane(a simple line).
    Finally. I am not going to lie here. I took this explanation from Reddit.

  • Clustering: It is a sub category of unsupervised learning. It is a technique used for analyzing data which does not include pre-labeled classes. Clustering is used for identifying and grouping instances on the basis of similarity as opposed to ungrouped instances which are much less similar to one another. In simpler terms, considering the live example of email, clustering means differentiating between spam mails, promotional mails, primary mails etc and assigning labels to it.

  • Association: It is a sub category of unsupervised learning. It can be best explained by market basket analysis(m.b.a). m.b.a attempts to identify association/relation between various that has been chosen by a particular shopper and placed in their basket (real or virtual) respective. The output value from this lies in cross marketing of products and customer behaviour analysis. Association is the generalization of m.b.a. Ex:- there is a good chance that a customer will buy bread if he has already bought milk and eggs.

  • Decision Tree: It is a way of representing the algorithm graphically. A decision tree is a decision support tool that uses tree like graph of decisions and their possible outcomes. Decision tree is composed of 2 main tasks.

    1. Tree induction: Taking a set of pre-classified instances, splitting it, and recursing on the spilt data untill all training is categorized. This is done to keep the number of splits to minimum
    2. Tree Pruning: It is the process of removing unnecessary structure from a decision tree in order to make it more efficient, more accurate and understandable to human.

  • ChatBot: Abbreviation for Chatter Robot. Essentially a chatbot is a software/computer program that conversates with a human in a human understandable language. The chatbot tries to simulate human conversation with the help of artificial intelligence. It is one of the many applications of machine learning. Some of the very common examples of chatbots include Apple’s SIRI, Google’s Google-assistant, Amazon’s Alexa, Microsoft’s Cortana and so on. These piece of technology can be used in E-commerce customer service, for internet gaming, in call centers etc.

This ends some of the most common Terminologies and underlying concepts in the magical world of Artificial Intelligence and also this post. Although this does not cover even a tiny percentage of what truly AI has to offer and there is a lot more to explore but it does provide a starter kick for no-pro AI and ML enthusiasts.

Stay tuned. Until next time…!