Ensemble learning: definizione e funzionamento
L’ensemble learning è una tecnica di machine learning che combina le previsioni di più modelli, addestrati sullo stesso problema anche con dati o sottoinsiemi diversi, per produrre un risultato finale più accurato e stabile di quello ottenuto da un singolo modello preso da solo.
Ensemble learning: quando conviene usarlo?
- Principio: più modelli (base learner) votano o si correggono a vicenda, invece di affidarsi a un solo algoritmo.
- Tecniche principali: bagging, boosting, stacking e voting/averaging, ciascuna con una logica di combinazione diversa.
- Vantaggi: cresce l’accuratezza, diminuisce l’overfitting, aumenta la robustezza su dati rumorosi.
- Svantaggi: più tempo di addestramento, modello finale più difficile da spiegare.
- Quando evitarlo: dataset molto piccoli o progetti che richiedono di motivare ogni singola previsione.
Che cos’è l’ensemble learning
Un modello di machine learning allenato da solo commette errori sistematici: sbaglia sempre nello stesso modo su certi tipi di dati. L’ensemble learning parte da questa osservazione e mette insieme più modelli, chiamati base learner, in modo che gli errori di uno vengano compensati dagli altri. È lo stesso principio della saggezza della folla: un gruppo di stime indipendenti, aggregate, tende a essere più preciso della singola stima migliore.
La differenza con un singolo modello predittivo non sta nella potenza di calcolo, ma nella diversità. Due alberi decisionali allenati su sottoinsiemi diversi dei dati, oppure un albero e una rete neurale allenati insieme, catturano aspetti diversi dello stesso fenomeno. Quando le loro previsioni vengono combinate, per voto di maggioranza o per media, l’errore residuo si riduce perché è raro che tutti i modelli sbaglino nello stesso punto allo stesso modo. Un base learner debole, usato da solo, può avere prestazioni modeste: dentro un ensemble ben costruito diventa un componente utile.
Tecniche principali di ensemble learning

Le tecniche di ensemble learning si dividono per come costruiscono e combinano i modelli base. Ognuna risolve un problema diverso: scegliere quella sbagliata significa pagare il costo computazionale senza ottenere il beneficio.
Bagging e Random Forest
Il bagging, abbreviazione di bootstrap aggregating, allena più modelli in parallelo, ognuno su un sottoinsieme dei dati di addestramento ottenuto per campionamento con reinserimento. Alla fine le previsioni vengono aggregate per voto di maggioranza nella classificazione o per media nella regressione. L’esempio più diffuso è il Random Forest, un insieme di alberi decisionali costruiti su campioni diversi dello stesso dataset: in scikit-learn è l’algoritmo che la maggior parte dei progetti usa come prima prova prima di passare a qualcosa di più complesso.
Boosting
Il boosting allena i modelli in sequenza, non in parallelo. Ogni nuovo modello si concentra sugli errori di quello precedente, assegnando un peso maggiore ai dati classificati male. Gli algoritmi di boosting più usati sono AdaBoost, Gradient Boosting e le sue implementazioni ottimizzate, come XGBoost e CatBoost, che aggiungono regolarizzazione e gestione nativa dei dati mancanti rispetto al gradient boosting classico.
Stacking
Lo stacking combina modelli eterogenei, per esempio una rete neurale, una support vector machine e un albero decisionale allenati sugli stessi dati. Le loro previsioni diventano l’input di un modello di secondo livello, il meta-classificatore, che impara a pesare ciascun base learner in base a quanto si è dimostrato affidabile. È la tecnica più flessibile, ma anche quella che richiede più attenzione per evitare che il meta-modello impari a sovrastimare i base learner già visti in addestramento.
Voting e averaging
Voting e averaging sono il modo più semplice di combinare modelli già addestrati: nella classificazione vince la classe scelta dalla maggioranza, nella regressione si calcola la media delle previsioni. Ogni base learner conta allo stesso modo, a meno che non si scelga una media ponderata in base alle prestazioni misurate su un set di validazione.
Vantaggi e svantaggi dell’ensemble learning: quando sceglierlo

I vantaggi dell’ensemble learning emergono quando la complessità dei dati richiede più modelli per essere catturata. La combinazione di più modelli riduce la varianza, perché il bagging smorza l’effetto delle fluttuazioni casuali nei singoli campioni di training, e riduce il bias, perché il boosting corregge in modo mirato gli errori sistematici lasciati dai modelli precedenti. Il risultato pratico è un modello meno sensibile a valori anomali e più capace di generalizzare su dati mai visti durante l’addestramento.
| Aspetto | Effetto |
|---|---|
| Accuratezza | Più alta rispetto al modello base migliore, perché gli errori dei singoli modelli tendono a compensarsi. |
| Robustezza ai dati rumorosi | Minore sensibilità a dati rumorosi o a valori anomali isolati. |
| Tempo di addestramento | Più alto, perché si allenano più modelli invece di uno solo, in parallelo o in sequenza. |
| Interpretabilità | Più bassa: spiegare perché un ensemble di cento alberi ha dato una certa risposta è più difficile che spiegarlo per un albero singolo. |
Consiglio di partire da un singolo modello e misurarne l’errore prima di passare a un ensemble: se il guadagno di accuratezza che un ensemble produce non giustifica il tempo di calcolo in più, meglio restare sul modello semplice.
Bagging o boosting: quale tecnica scegliere
La scelta tra bagging e boosting dipende dal tipo di errore che il modello base commette: varianza alta o bias alto. La scelta tra le due tecniche si basa sulla loro logica di funzionamento.
Se il modello base va in overfitting: usa il bagging
Se un albero decisionale profondo cambia previsione anche con piccole variazioni del training set, il problema è la varianza. Il bagging allena più alberi su campioni diversi e ne fa la media: le oscillazioni dei singoli alberi si compensano, il Random Forest che ne risulta è più stabile dell’albero singolo.
Se il modello base è troppo semplice: usa il boosting
Se invece il modello base sbaglia in modo costante, per esempio un albero poco profondo che non riesce a separare bene le classi, il problema è il bias. Il boosting allena i modelli in sequenza, concentrandosi ogni volta sugli errori rimasti: XGBoost e Gradient Boosting nascono proprio per ridurre questo tipo di errore sistematico.
Come si costruisce un modello ensemble
Il flusso di lavoro per costruire un ensemble segue sei passaggi.
- Preparare i dati: pulizia, preprocessing e divisione in training set e test set, con lo stesso lavoro di feature engineering richiesto da qualsiasi modello di machine learning.
- Scegliere i modelli base: omogenei, come più alberi decisionali per un Random Forest, oppure eterogenei, come una rete neurale e una support vector machine per uno stacking.
- Addestrare i modelli base sul training set, in parallelo per il bagging o in sequenza per il boosting.
- Selezionare la tecnica di combinazione: voto di maggioranza, media, media ponderata o meta-modello.
- Valutare l’ensemble sul test set con cross-validation, confrontando accuratezza, precisione e richiamo con quelli dei singoli modelli base.
- Regolare gli iperparametri dell’ensemble e dei modelli base, poi distribuire il modello tenendo sotto controllo le prestazioni nel tempo.
Quando conviene evitare l’ensemble learning
Un ensemble non è sempre la scelta giusta. Sconsiglio di costruirne uno quando il dataset è troppo piccolo per sostenere l’addestramento di più modelli senza andare in overfitting su ciascuno di essi: in quel caso conviene curare un singolo modello con più attenzione, piuttosto che moltiplicare il problema.
Lo sconsiglio anche quando il progetto richiede di spiegare al cliente o a un ente di controllo il motivo di ogni singola previsione: un ensemble di cento alberi o di più modelli eterogenei è una black box, e giustificare una decisione diventa più complicato che con un albero decisionale singolo o una regressione logistica. In quei casi la priorità è la tracciabilità della decisione.
Ensemble learning e resto del machine learning
L’ensemble learning si colloca dentro il campo dell’intelligenza artificiale come una tecnica trasversale: si può applicare a modelli di apprendimento supervisionato, dove serve a classificare o prevedere valori numerici, mentre resta meno comune nell’apprendimento non supervisionato. Per capire come funzionano gli algoritmi di base che un ensemble combina, serve partire dalla definizione di machine learning, che spiego in un articolo dedicato.
Un ensemble può includere anche modelli di deep learning tra i suoi base learner, ma deep learning ed ensemble learning restano due tecniche distinte: il primo riguarda l’architettura del singolo modello, con reti neurali a più strati, il secondo riguarda la combinazione di più modelli, anche non neurali. Il funzionamento delle reti neurali profonde è il tema di un altro articolo del sito.
Domande frequenti sull’ensemble learning
Cosa si intende per ensemble nel machine learning?
Per ensemble si intende un gruppo di modelli di machine learning allenati sullo stesso problema e combinati per produrre un’unica previsione, più accurata di quella di ciascun modello preso singolarmente.
Qual è la differenza tra bagging e boosting?
Il bagging allena più modelli in parallelo su campioni diversi dei dati e riduce la varianza; il boosting allena i modelli in sequenza, correggendo gli errori del precedente, e riduce il bias.
Cosa fa il meta-classificatore nello stacking?
Il meta-classificatore è un modello di secondo livello che riceve le previsioni dei modelli base dello stacking e impara a pesarle per produrre la previsione finale, dando più peso ai modelli più affidabili.
Cosa significa supervised learning?
Supervised learning, apprendimento supervisionato, indica un modello allenato su dati etichettati, dove l’output corretto è già noto: è il contesto più comune in cui si applicano le tecniche di ensemble learning.
Quale tecnologia aiuta a migliorare l’efficienza dei processi basati sull’IA?
L’ensemble learning è una delle tecniche che migliora l’efficienza dei processi basati su intelligenza artificiale, perché aumenta l’accuratezza delle previsioni senza richiedere un singolo modello più complesso.
Che cos’è l’intelligenza artificiale?
L’intelligenza artificiale è il campo che studia sistemi capaci di simulare capacità umane come ragionamento e apprendimento: il machine learning, e al suo interno l’ensemble learning, ne sono un sottoinsieme applicativo.
Quando conviene usare un ensemble invece di un singolo modello?
Conviene usare un ensemble quando un singolo modello mostra overfitting o un errore sistematico che non migliora con il tuning, e il progetto può sostenere un tempo di addestramento più lungo in cambio di maggiore accuratezza.