Ensemble Learning: Unity is strength in Machine Learning

Ensemble Learning header

Ensemble Learning is a technique in the field of Machine Learning in which multiple learning models are combined together to improve the overall performance of the system. Rather than relying on a single model, Ensemble Learning uses multiple models to make predictions or classifications. This technique takes advantage of the diversity of models in the ensemble to reduce the risk of overfitting and improve the generalization of the results.

The Learning Ensemble

Ensemble Learning has a fascinating history that begins in the 1980s, when researchers began exploring the concept of combining different machine learning models to achieve better results. In those years, David Wolpert formulated the “No Free Lunch” theorem, which essentially argued that there was no single learning algorithm that was optimal for all problems.

With this underlying concept, the first practical Ensemble Learning techniques emerged in the 1990s. Leo Breiman in 1996 introduced the concept of Bagging (Bootstrap Aggregating), a method for combining the results of different models trained on random subsets of the training data. Shortly thereafter, in 1999, Freund and Schapire presented AdaBoost, a boosting algorithm that proved extremely effective in classification.

With the advent of the new millennium, Ensemble Learning became increasingly popular due to its proven effectiveness in a wide range of machine learning problems. Techniques such as Random Forest, based on Bagging, and Gradient Boosting Machines, based on Boosting, became widely used for their ability to produce robust and performant models.

In the 2010s and beyond, as data availability and computational power increased, Ensemble Learning continued to be one of the most promising and popular techniques in the field of Machine Learning. It has been successfully applied in multiple industries, including speech recognition, image classification, financial fraud detection, and more.

Today, ensemble learning remains an active area of research, with new techniques and algorithms continuing to be developed and refined to further improve the performance and efficiency of ensemble models. In summary, the story of Ensemble Learning represents a fascinating journey of innovation and discovery in the field of Machine Learning.

Ensemble Learning in different contexts

Ensemble Learning can be applied in different contexts:

  • Classification: As mentioned, ensemble learning is commonly used to improve the performance of classification models. For example, you can combine several binary classifiers to create a more robust multiclass classifier, or use techniques such as Random Forest or Gradient Boosting to improve classification predictions.
  • Regression: In regression problems, ensemble learning can be applied by combining the predictions of different regression models to obtain a more accurate estimate of the output variable. For example, boosting techniques such as Gradient Boosting Regression or XGBoost can be used to combine different regression models.
  • Ranking: In ranking applications, such as ranking web search results or products in an e-commerce site, Ensemble Learning can be used to combine the scores predicted by different ranking models to obtain a more accurate and robust ranking.
  • Anomaly and outlier detection: Ensemble learning can also be used for anomaly and outlier detection in data. Combine predictions from different models to identify instances that significantly deviate from the normal behavior of your data.
  • Clustering: Although less common than other applications, ensemble learning can be used to improve the accuracy of clustering results by combining the predictions of different clustering algorithms.

In summary, Ensemble Learning is an extremely versatile technique that can be applied to a wide range of machine learning problems, not only classification, but also regression, ranking, anomaly detection, and other contexts.

The different forms of Ensemble Learning

There are several approaches to ensemble learning, including:

  • Bagging (Bootstrap Aggregating): It is based on building several independent models using different random subsets of the training data and then combining their predictions. Well-known examples of bagging include Random Forest.
  • Boosting: Instead of building independent models, boosting sequentially builds a series of models, each of which attempts to correct the errors of the previous model. For example, AdaBoost and Gradient Boosting Machine (GBM) are common boosting techniques.
  • Voting: It is based on combining the predictions of several underlying models and then making a decision based on the rating or average of the predictions. There are various types of voting, such as majority voting (where you choose the class predicted by most models) and weighted voting (where models have different weights).

Ensemble learning is widely used because it often produces more robust and generalizable models than individual models. It can be particularly useful when working with complex or noisy datasets, where a single model may not be able to capture all the details of the data.

Bagging (Bootstrap Aggregating)

Bagging, an acronym for Bootstrap Aggregating, is an Ensemble Learning technique that aims to improve the stability and precision of Machine Learning models by reducing variance and the risk of overfitting. This technique was first introduced by Leo Breiman in 1996.

The fundamental concept of Bagging is based on two pillars: bootstrap sampling and forecast aggregation. Here’s how it works:

  • Bootstrap Sampling: Bagging involves sampling with replacement from the original training data. This means that several subsets of training data are created, each of which has the same size as the original dataset but with some repeating instances and some missing. This random sampling process allows you to create several “bootstrap” training datasets that capture different variations in the data.
  • Training different models: Each subset of the bootstrap training data is used to train a separate base model. These basic models can be of the same type (e.g., decision trees) or different types, depending on the problem and user preference.
  • Forecast aggregation: Once the base models have been trained on different subsets of the training data, their predictions are combined to obtain a final forecast. This combination can be done using techniques such as majority voting for classification or averaging for regression.

The main benefits of Bagging include:

  • Reducing variance: Because models are trained on different subsets of the training data, each model can learn from different perspectives of the data, thus reducing the overall variance of the ensemble.
  • Control overfitting: By using bootstrap sampling and combining predictions from multiple models, Bagging helps reduce the risk of overfitting, as models don’t tend to store noise in the training data.
  • Robustness: The ensemble generated via Bagging is often more robust and generalizable than individual baseline models, as it is less sensitive to small variations in the training data.

Bagging is commonly used with a variety of basic algorithms, including Decision Trees, Neural Networks, and Support Vector machines. One of the most popular implementations of Bagging is Random Forest, which combines Bagging with decision trees to obtain an extremely robust and performant model.

Machine Learning - Decision Trees


Decision Trees

SVM Support Vector Machine


Support Vector Machine

Random Forest


Random Forest


Boosting is another important Ensemble Learning technique that aims to improve the performance of Machine Learning models by combining several weak models to create a strong model. It was first introduced by Robert Schapire and Yoav Freund in 1996, with the AdaBoost (Adaptive Boosting) algorithm.

Boosting works similarly to Bagging in the sense that it involves training several baseline models and combining their predictions. However, the training process is slightly different and aims to correct errors in previous baseline models. Here’s how Boosting works:

  • Training Weak Models: Boosting begins by training a first baseline (or “weak”) model on the original training dataset. This model may be simple and underperforming, but it must be slightly better than a simple random model.
  • Error Weighting: After training the first model, Boosting assigns a weight to each training instance, giving more weight to examples that were misclassified by the previous base model.
  • Training subsequent models: Boosting continues to train subsequent baseline models, giving more weight to difficult or misclassified examples from previous models. Each subsequent model is designed to correct the errors of the other models.
  • Forecast aggregation: The baseline models’ forecasts are then combined by weighting their forecasts based on their relative performance. More accurate models receive greater weight in the aggregation of the final forecasts.

The Boosting process continues until a certain number of baseline models are reached or until a certain desired accuracy is achieved on the training dataset.

Boosting offers several benefits, including:

  • High Accuracy: Boosting tends to produce complex, high-performance models that can achieve better results than individual baseline models.
  • Bias Reduction: Because baseline models are trained sequentially to focus on errors from previous models, Boosting can reduce the overall bias of the ensemble.
  • Adaptability: Boosting is highly adaptable and can be used with a variety of basic algorithms, such as decision trees, neural networks, and linear regressors.

Among the best-known implementations of Boosting are AdaBoost, Gradient Boosting Machine (GBM), and XGBoost, which are widely used in a wide range of Machine Learning problems due to their effectiveness and versatility.

AdaBoost algorithm



La libreria XGBoost



Gradient Boosting


Gradient Boosting


Voting is another common ensemble learning technique used to combine predictions from different underlying models to improve overall system performance. Unlike Bagging and Boosting, which involve training different baseline models, Voting focuses on combining predictions from already trained models. Here’s how Voting works:

  • Training Baseline Models: Before you can perform Voting, you need to train several baseline models using the original training dataset. These models can be of any type, such as decision trees, neural networks, linear regressors, or any other machine learning algorithm.
  • Generating Predictions: After training the baseline models, they are used to generate predictions on the test dataset or new unseen data. Each model produces a prediction for each data instance.
  • Forecast aggregation: The forecasts generated by the base models are then combined using an aggregation rule. Common aggregation techniques include majority voting for classification and averaging for regression. In majority voting, the class predicted by most models is taken as the final prediction, while in averaging, the predictions of all models are averaged.

Voting offers several advantages:

  • Robustness: Combines predictions from different models, thus reducing the effect of any errors or weaknesses present in a single model.
  • Simplicity: Voting is simple to implement and can be used with a wide range of basic models without requiring significant changes to their implementation.
  • Flexibility: Can be used with different types of underlying models and can be applied to a variety of classification and regression problems.

Voting can be implemented in different forms, such as soft majority voting, where the predictions of the basic models are weighted according to their confidence, or hard majority voting, where only the class predicted by the majority of models is used . Overall, Voting remains a powerful and popular Ensemble Learning technique used to improve the performance of Machine Learning models.

Leave a Reply