What is a Machine Learning Algorithm?

An algorithm is a set of step-by-step instructions given to a computer to carry out discrete tasks. Programmers can write algorithms to do mundane things like auto-save a document every 30 seconds while a word processing application is open. However, this guide is primarily concerned with algorithms that carry out machine learning (ML) tasks.

You can think of an ML algorithm like a recipe, where the ingredients are data, and the dish is a model that can make predictions or inferences about the future. For example, video recommendation systems, like the one that powers Netflix, take in data about your preferences, location, shows you’ve watched in the past, which videos you’ve exited before finishing, and what other people who’ve watched the same videos as you have also streamed. The program then uses this information (and perhaps much more) to predict what you're most likely to enjoy watching next.

Some of the steps necessary to prepare the "dish" include sensibly organizing those data, accounting for the scientist's prior beliefs about what the data should look like, computing the relationship between each observation, deriving a mathematical equation representing that relationship, and updating that framework as more data are integrated. This process is known as "training." The result is a model that can dole out future predictions based on previously unobserved data. Netflix then serves you, the end-user, your helping of predictions as options on your home screen, likely prioritizing those that benefit the company most (i.e., videos produced by Netflix or those that are most profitable for them to stream).

Just like any recipe can be optimized for different goals—an entree can be optimized to be healthy, flavorful, authentic to a particular cuisine, or inexpensive—so too can predictive algorithms. The default in many machine learning tasks is to optimize for predictive accuracy. So, we "test" the model on prediction problems for which we already have the answer to see how often it answers correctly. Sometimes the model needs to be fine-tuned before it can perform well on these tests. Once it reaches an acceptable score (what constitutes "acceptable" is arbitrary and varies widely across projects), it is deployed and used on data "out in the wild."

development process of a machine learning system

Next
Next

What is Algorithmic Bias?