Traditional computer programs instruct machines to deploy algorithmic logic to make transformations on well-defined data. Such a paradigm is useful for answering question which have a known step-by-step method of obtaining a solution to a problem, based on the provided data. These programs, once executed by the machine solves computational problems which are too tedious or slow when executed by humans.

Machine learning attempts to go a step further, by algorithmically teaching computers to identify rules and patterns present in the provided data and to solve problems based on algorithms which the machine builds. In some cases, the machine is trained on a data-set where the solutions to the problem are provided. The machine elicits the patterns which result in different solutions and comes up with heuristics that it can then employ on real data. The machine can continuously update its algorithm based on a feedback system and is expected to get better at solving problems as it consumes more data, building better internal models of the relationship between features of the available information and the outcomes. With suitable programming and training, computers can be made to recognize patterns, structures and relationships which are often too delicate or obscure for human recognition, and subsequently employ algorithms using these recognized entities that are too complex or involved for human cognition. The mathematical foundation and the algorithmic expansion of the field has been astonishing in recent times leading to several unprecedented demonstrations of the power of the methodology: from IBM’s Watson answering questions on the TV show “Jeopardy!” and subsequently employing its architecture to make early cancer diagnoses, to Google’s AlphaGo beating the reigning champion in three games and the expansion of its deep learning architecture Deep Mind to power image recognition, translations and natural language processing.


Supervised Learning

  • The most widely used form of Machine Learning is Supervised Learning. Data provided to the learning program is separated into properties of the data-point (features) and the known outcome (label). The program is tasked to discover a relationship between the features and the label. Once the program establishes a relationship with confidence, the learned algorithm can be applied to data which contain only features. It is expected that the algorithm would then be able to predict the label. Since the data scientist must provide a substantial amount of labeled training data for the algorithm to be discovered, such a process is called Supervised Learning. Algorithms of varying sophistication can be used to address problems of classification, where we want to categorize objects into pre-defined categories, and regression, where we want to predict a real number.

Unsupervised Learning

  • A more powerful form of machine learning does not rely on labeled training data, but derives the structure of the data by inferring its structure and patterns. This form of machine learning, Unsupervised Learning, is characterized by automated exploratory analysis of the data and subsequent detection of features, patterns and correlations based on some a priori models provided to the algorithm. Once the algorithm comprehends the structure of the data, it can apply itself to identify clusters, recognize anomalies or separating a mixed signal into components.

Reinforcement Learning

  • When neither data about the environment nor outcomes are explicitly provided, but both are available once the algorithm explores various actions, a distinct form of machine learning, Reinforcement Learning, needs to be deployed. Usually, the algorithm is allowed to make decisions and take actions and is informed of a reward or cost for that action. The algorithm learns the consequence of the action and simultaneously explores and models the environment while optimizing for a goal.