There’s much confusion surrounding and . Some people refer to and as synonyms and use them interchangeably, while other use them as separate, parallel technologies.
Α while ago, while browsing through the latest news, I stumbled upon a company that claimed to use “ and advanced ” to collect and analyze hundreds of data touch points to improve user experience in mobile apps. On the same day, I read about another company that predicted customer behavior using “a combination of and ” and “-powered .”
There’s much confusion surrounding and . Some people refer to and as synonyms and use them interchangeably, while other use them as separate, parallel technologies. In many cases, the people speaking and writing about the technology don’t know the difference between and . In others, they intentionally ignore those differences to create hype and excitement for marketing and sales purposes.
As with the rest of this series , in this post, I’ll (try to) disambiguate the differences between and to help you distinguish fact from fiction where is concerned.
We’ll start with , which is the easier part of the vs equation. Machine learning is a subset of , just one of the many ways you can perform . Machine learning relies on defining behavioral rules by examining and comparing large data sets to find common patterns. This is an approach that is especially efficient for solving classification problems.
For instance, if you provide a program with a lot of x-ray images and their corresponding symptoms, it will be able to assist (or possibly automate) the analysis of x-ray images in the future. The application will compare all those different images and find what are the common patterns found in images that have been labeled with similar symptoms. And when you provide it with new images it will compare its contents with the patterns it has gleaned and tell you how likely the images contain any of the symptoms it has studied before.
This type of is called “supervised learning,” where an algorithm trains on human-labeled data. Unsupervised learning, another type of , relies on giving the algorithm unlabeled data and letting it find patterns by itself. For instance, you provide an algorithm with a constant stream of network traffic and let it learn by itself what is the baseline, normal network activity and what are the outlier and possibly malicious behavior happening on the network.
Reinforcement learning, the third popular type of algorithm, relies on providing an algorithm with a set of rules and constraints and let it learn by itself how to best achieve its goals. Reinforcement learning usually involves a sort of reward, such as scoring points in a game or reducing electricity consumption in a facility. The algorithm tries its best to maximize its rewards within the constraints provided. Reinforcement learning is famous in teaching algorithms to play different games such as Go, poker, StarCraft and Dota.[…]