General Purpose Algorithms

Machine learning can be thought of as a collection of general purpose algorithms. This is arguably its most powerful trait; one machine learning algorithm can be trained to perform ten different tasks, compared to ten different algorithms each handwritten to solve one of those same ten tasks with traditional programming. This has groundbreaking implications for both speed and productivity of development. It means that small meta-improvements to a machine learning algorithm itself can have a rippling effect, improving the performance of thousands of tasks that it can be trained to solve. This idea of a general purpose algorithm that machine learning provides has the potential to be one of the most radical technologies since the advent of the general purpose computer.

Artificial Neural Networks (ANNs, or simply NNs), one of the most popular family of machine learning algorithms, are perhaps the best example of this. Neural networks act as universal function approximators; Given an infinite number of neurons (units of computation), they can represent any mathematical function or model any real-world occurrence. Let that sink in... Though practically unfeasible, this one fairly straightforward algorithm, can solve any computable problem in the universe.

Before we dig into exactly how this works in the Neural Networks & Deep Learning section, I want to introduce some of the common problem domains that machine learning algorithms function particularly well for. At their core, today's machine learning algorithms excel at various forms of pattern recognition. Given enough data, machine learning algorithms are able to learn the inherent patterns in the data. This is a particularly useful trait, especially for the following types of problems.

The Basics

Supervised learning, the most developed and popular form of machine learning today, uses two differing but related approaches to solving tasks: classification and regression.

Classification

Classification tasks are perhaps the most traditional application of machine learning. A model that predicts which discrete category, or class, a piece of input data belongs to solves a classification task. The number of classes varies per problem, but is always greater than one. Examples of classification problems include:

Regression

Rather than outputting a discrete class, models solving regression tasks output continuous floating-point numbers. Examples of regression problems include:

Going Further

Supervised machine learning can also be used for tasks that are more difficult and nuanced than predicting simple values or class labels for new data. Below are a few common tasks that machine learning is well suited to solve. Solutions for these tasks often use more specialized algorithms for pattern recognition, sometimes utilizing both classification and regression techniques at once. We've organized this list into several groups for convenience and demonstration, however, in the real world unique problems often blur the lines between these categories. Finding a good machine learning solution to a problem sometimes involves picking and choosing a combination techniques from several different fields of ML study.

Translation and Transcription

Machine translation applications have seen a huge boost in performance correlated with development of ML algorithms. This task necessitates the translation of arbitrary data from one form to another:

Anomaly Detection

ML models are exceptionally good at detecting irregularities in patterns. In these situations the number of positive examples (irregularity) is far fewer than negative examples (common data). They are often used to:

Synthesis and Sampling

ML models that synthesize new data based on example data are called generative models. They can be used to:

De-noising

De-noising problems involve removing artifacts and noise from data in order to produce a clean sample. De-noising models are often trained by artificially introducing noise to otherwise clean samples in order to learn de-noising patterns. A trained model can then apply what its learned from the synthesized data to noisy data found in the real-world. Examples include:

Note that the above list of common machine learning problem domains is far from extensive. Rather, it is a small collection of a few of the tasks that ML-based approaches are dependably good at solving. Many tasks also fall into a few of these categories at once.

Next: Data is Key
Previous: What is Machine Learning

Return to the main page.

All source code in this document is licensed under the GPL v3 or any later version. All non-source code text is licensed under a CC-BY-SA 4.0 international license. You are free to copy, remix, build upon, and distribute this work in any format for any purpose under those terms. A copy of this website is available on GitHub.