What is the Adaptive Ensemble?

The adaptive ensemble (implemented in the library “AdaEnsemble”) consist in a multi armed bandit algorithm that chooses between different machine learning models, and passes the data passed to the ensemble down to the selected machine learning model. The output of the selected model, given the data, is the output of the ensemble. Here are three patterns by which adaptive ensembles might be applied. Importantly, the member models of each ensemble can be from any family of machine learning models, if they produce an output that can be used to calculate a reward. This straightforwardly includes all supervised learning algorithms and reinforcement learning.

The chart bellow illustrates the composition of an adaptive ensemble.


How might the Adaptive Ensemble be used?

Three patterns of how the adaptive ensemble might be used can be found here.

How is the Adaptive Ensemble implemented?

A technical introduction to the AdaEnsemble library that implements the adaptive ensemble can be found here.

Is there an empirical illustration?

An empirical demonstration of the application of an adaptive ensemble, to address machine learning pipeline underspecification, can be found here.

Can I see the code?

Yes, you can! It can be found here.