Machine learning is a blanket term that characterizes the use of automated training techniques to discover better algorithms. It was first coined by Arthur Samuel at IBM in 1959. Technically speaking, machine learning is a type of AI. Deep learning uses artificial neural networks, but other kinds of machine learning techniques are commonly used in practice and to train many deep learning algorithms.
Practitioners often refer to four main types of machine learning models according to their suitability for the processes used to set up the data.
- Supervised learning models consume data that has been prelabeled by humans.
- Unsupervised learning models discover patterns in data that hasn't been previously labeled.
- Semi-supervised learning models involve an iterative process that works with both labeled and unlabeled data.
- Reinforcement learning models use algorithms that can tune models in response to feedback about performance after deployment.
Choosing the right machine learning type
Data science starts with an experimental and iterative process to see what approach is most valuable in terms of performance, accuracy, reliability and explainability. Machine learning types are useful when considering the different strengths and weaknesses of a given class of algorithms for a specific problem based on the provenance of the data. Machine learning practitioners are likely to combine multiple machine learning types and various algorithms within those types to achieve the best outcome.
Data scientists might analyze a data set using unsupervised techniques to achieve a basic understanding of relationships within a data set -- for example, how the sale of a product correlates with its position on a store's shelf. Once that relationship is confirmed, practitioners might use supervised techniques with labels that describe a product's shelf location. Semi-supervised techniques could automatically compute shelf location labels. After the machine learning model is deployed, reinforcement learning could fine-tune the model's predictions based on actual sales.
A deep understanding of the data is essential because it serves as a project's blueprint, said David Guarrera, EY-Parthenon principal in the quantitative strategies and solutions practice at EY. The performance of a new machine learning model depends on the nature of the data, the specific problem and what's required to solve it.
Neural networks, for example, might be best for image recognition tasks, while decision trees could be more suitable for a different type of classification problem. "It's often about finding the right tool for the right job in the context of machine learning and about fitting to the budget and computational constraints of the project," Guarrera explained.
1. Supervised learning
Supervised learning models work with data that has been previously labeled. The recent progress in deep learning was catalyzed by the Stanford project that hired humans to label images in the ImageNet database back in 2006. The downside is that someone or some process needs to apply these labels. Applying labels after the fact requires a lot of time and effort. In some cases, these labels can be generated automatically as part of an automation process, such as capturing the location of products in a store. Classification and regression are the most common types of supervised learning algorithms.
- Classification algorithms decide the category of an entity, object or event as represented in the data. The simplest classification algorithms answer binary questions such as yes/no, sales/not-sales or cat/not-cat. More complicated algorithms lump things into multiple categories like cat, dog or mouse. Popular classification algorithms include decision trees, logistic regression, random forest and support vector machines.
- Regression algorithms identify relationships within multiple variables represented in a data set. This approach is useful when analyzing how a specific variable such as product sales correlates with changing variables like price, temperature, day of week or shelf location. Popular regression algorithms include linear regression, multivariate regression, decision tree and least absolute shrinkage and selection operator (lasso) regression.
Common use cases are classifying images of objects into categories, predicting sales trends, categorizing loan applications and applying predictive maintenance to estimate failure rates.
2. Unsupervised learning
Unsupervised learning models automate the process of discerning patterns present within a data set. These patterns are particularly helpful in exploratory data analysis to determine the best way to frame a data science problem. Clustering and dimensional reduction are two common unsupervised learning algorithmic types.
- Clustering algorithms help group similar sets of data together based on various criteria. Practitioners can segment data into different groups to identify patterns within each group.
- Dimension reduction algorithms explore ways to compact multiple variables efficiently for a specific problem.
These algorithms include approaches to feature selection and projection. Feature selection helps prioritize characteristics that are more relevant to a given question. Feature projection explores ways to find deeper relationships among multiple variables that can be quantified into new intermediate variables that are more appropriate for the problem at hand.
Common clustering and dimension reduction use cases include grouping inventory based on sales data, associating sales data with a product's store shelf location, categorizing customer personas and identifying features in images.
3. Semi-supervised learning
Semi-supervised learning models characterize processes that use unsupervised learning algorithms to automatically generate labels for data that can be consumed by supervised techniques. Several approaches can be used to apply these labels, including the following:
- Clustering techniques label data that looks similar to labels generated by humans.
- Self-supervised learning techniques train algorithms to solve a pretext task that correctly applies labels.
- Multi-instance techniques find ways to generate labels for a collection of examples with specific characteristics.
4. Reinforcement learning
Reinforcement learning models are often used to improve models after they have been deployed. They can also be used in an interactive training process, such as teaching an algorithm to play games in response to feedback about individual moves or to determine wins and losses in a round of games like chess or Go.
The core technique requires establishing a set of actions, parameters and end values that are tuned through trial and error. At each step, the algorithm makes a prediction, move or decision. The result is compared to results in a game or real-world scenario. A penalty or reward is sent back to refine the algorithm over time.
The most common reinforcement learning algorithms use various neural networks. In self-driving applications, for example, an algorithm's training might be based on how it responds to data recorded from cars or synthetic data that represents what the car's sensors might see at night.
More popular types of machine learning algorithms
There are hundreds of types of machine learning algorithms, making it difficult to select the best approach for a given problem. Furthermore, one algorithm can sometimes be used to solve different types of problems such as classification and regression.
"Algorithms are the underlying blueprints for constructing machine learning models," Guarrera said. These algorithms define the rules and techniques used to learn from the data. They contain not only the logic for pre-processing and preparing data, but also the trained and learned patterns that can be used to make predictions and decisions based on new data.
As data scientists navigate the machine learning algorithm landscape to determine the most important areas to focus on, it's important to consider metrics that represent utility, breadth of applicability, efficiency and reliability, advised Michael Shehab, labs technology and innovation leader at PwC. He also emphasized an algorithm's ability to support a wide breadth of problems instead of just solving a single task. Some algorithms are more sample efficient and require less training data to arrive at a well-performing model, while others are more compute efficient at training and inference time and don't require the compute resources needed to operate them.
"There is no singular best machine learning algorithm," Shehab said. "The right option for any company is one that has been carefully selected through rigid experimentation and evaluation to best meet the criteria defined by the problem."
Some of the more popular algorithms and the models they work with include the following:
- Artificial neural networks train a network of interconnected neurons, each of which runs a particular inference algorithm that translates inputs into outputs fed to nodes in subsequent layers of the network. Models: unsupervised, semi-supervised and reinforcement.
- Decision trees evaluate a data point through a set of tests on a variable to arrive at a result. They're commonly used for classification and regression. Model: supervised.
- K-means clustering automates the process of finding groups in a data set in which the number of groups is represented by the variable K. Once these groups are identified, it assigns each data point to one of these groups. Model: unsupervised.
- Linear regression finds a relationship between continuous variables. Model: supervised.
- Logistic regression estimates the probability of a data point being in one category by identifying the best formula for splitting events into two categories. It's commonly used for classification. Model: supervised.
- Naive Bayes uses Bayes' theorem to classify categories based on statistical probabilities showing the relationship of patterns between variables in the data set. Model: supervised.
- Nearest neighbors algorithms look at multiple data points around a given data point to determine its category. Model: supervised.
- Random forests organizes an ensemble of separate algorithms to generate a decision tree that can be applied to classification problems. Model: supervised.
- Support vector filters prelabeled data into categories to train a model that assigns new data points to various categories. Model: supervised.