In high school, my Computer Science class was taught that computer programs operated based on algorithms. I remember memorizing the definition of ‘algorithm’ for a test: a set of steps prescribed by a programmer that a computer follows to complete a task. Algorithms were likened to recipes and modelled with simple flow charts.

While it’s true that step-by-step algorithms are an essential part of programming, my high school lessons only told part of the story. Increasingly, computers and other intelligent machines employ machine learning. Think of a program that predicts future trends in stock prices based on historical data or a music platform that introduces you to new jams to complement your tastes perfectly. With such enormous amounts of data and such distinctly tailored results, the process involved is much more complex than any recipe.

Because machine learning can take so many different forms, it’s difficult to provide a single definition. However, an example of one fairly typical machine learning process should make the concept more clear. Imagine that you run a service that lets users view cool snake pictures, and you want to use machine learning to create a tool that recommends pictures that individual users are likely to enjoy. The first thing you’ll need is data.  You might input a data set representing the past behaviour of all users on the website, including data about the users themselves--their ages, genders, and countries of origin; data about the snakes in the pictures--their species, color, and size; and data about user interactions--which photos were liked by which users, and how much time they spent looking at each one.

An algorithm that has been programmed to process this data will then analyze it in search of patterns and correlations. By studying such a vast amount of information, the algorithm can identify trends in a fraction of the time a human would require. For example, it might determine that male teenagers raised in Northern Canada are predisposed to enjoy pictures of mud adders, or that users who like pictures of both ball pythons and sand vipers are disproportionately likely to appreciate anaconda pictures as well. These insights allow the program to study a single user’s demographic information and past behaviour to return a series of recommended images that are extremely well-suited to their preferences.

A critical feature of machine learning is that the algorithms have the ability to develop and improve as time goes on. As the algorithm presents recommendations and receives feedback--such as whether the user likes or deletes the recommended pictures--it can refine its understanding of the existing correlations and the relative importance of various factors. Through this process, the algorithm will grow more effective at identifying snake pictures to recommend and users’ rates of satisfaction with their recommendations will increase over time with no intervention from programmers.

As you might imagine, machine learning has a huge range of potential applications that extend far beyond connecting snake lovers with the reptilian images they crave. The ability to process enormous amounts of data in seconds, identify patterns that human workers might overlook, and grow more effective over time makes machine learning an immensely powerful tool for resolving real-world problems. If you’re interested in harnessing the power of machine learning to help your company achieve its goals, explore our website or reach out for more information.