My IBM Accedi Iscriviti

Cos'è l'apprendimento d'insieme?

18 marzo 2024

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

L'apprendimento d'insieme combina più learner per migliorare le prestazioni predittive. È stato adottato in risposta a problemi legati a set di dati limitati.

L'apprendimento d'insieme è una tecnica di machine learning che aggrega due o più learner (ad es.modelli di regressione e reti neurali) per produrre previsioni migliori. In altre parole, un modello d'insieme combina diversi modelli individuali per produrre previsioni più accurate rispetto a un singolo modello autonomo.1Talvolta, questa tecnica è chiamata "committee-based learning". L'apprendimento d'insieme si basa sul principio che una collettività di learner produce una maggiore precisione complessiva rispetto a un singolo learner.2 In effetti, la ricerca ne dimostra l'efficacia con i modelli di machine learning e le reti neurali convoluzionali (CNN).

Una nota sulla terminologia: base learner, base model e, in alcuni casi, base estimator si riferiscono al modello o ai modelli individuali utilizzati negli algoritmi d'insieme. La letteratura divide ulteriormente i base learner in strong learner e weak learner. I weak model o learner sono definiti come quelli che ottengono risultati di poco superiori a quelli di un'ipotesi casuale. Per i problemi di classificazione binaria, i classificatori deboli sono più formalmente quelli che raggiungono un'accuratezza di circa il cinquanta percento. Al contrario, gli strong model o learner raggiungono prestazioni predittive eccellenti, che nella classificazione binaria equivalgono a un'accuratezza pari o superiore all'ottanta percento.3

È necessario precisare che alcune fonti confondono il weak learner e il base learner, dato che i metodi d'insieme, in particolare quelli sequenziali, trasformano efficacemente i weak learner in strong learner.4

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Perché utilizzare l'apprendimento d'insieme?

Compromesso tra distorsione e varianza

Il compromesso distorsione/varianza è un problema ben noto nel machine learning e un principio alla base di molte tecniche di regolarizzazione. Queste possono essere così definite:

- La distorsione misura la differenza media tra i valori previsti e i valori reali. Quando la distorsione aumenta, un modello predice in modo meno accurato su un set di dati di addestramento. Un'elevata distorsione indica un elevato tasso di errore nell'addestramento. L'ottimizzazione consiste nei tentativi di ridurre la distorsione.

- La varianza misura la differenza tra le previsioni tra le varie realizzazioni di un determinato modello. Con l'aumento della varianza, un modello predice in modo meno accurato sui dati non visti. Un'elevata varianza indica un tasso di errore elevato durante il test e la convalida. La generalizzazione consiste nei tentativi di ridurre la varianza.

La distorsione e la varianza rappresentano quindi inversamente l'accuratezza del modello rispettivamente sui dati di addestramento e di prova.5Rappresentano due dei tre termini che compongono il tasso di errore totale di un modello; il terzo è l'errore irriducibile. Questo terzo termine indica l'errore derivante dalla casualità intrinseca di un set di dati. L'errore totale del modello può essere definito dalla formula:6

Molti modelli contro uno

Ogni algoritmo di addestramento di un modello è costituito da numerose variabili, ad esempio dati di addestramento, iperparametri e così via, che influiscono sull'errore totale del modello risultante. Pertanto, anche un singolo algoritmo di addestramento può produrre modelli diversi, ciascuno con i propri tassi di distorsione, varianza ed errore irriducibile. Combinando diversi modelli, gli algoritmi d'insieme possono produrre un tasso di errore complessivo inferiore pur mantenendo le complessità e i vantaggi di ogni singolo modello, come una distorsione notevolmente bassa per un sottoinsieme di dati specifico.7

La ricerca suggerisce che, in generale, maggiore è la diversità tra i modelli combinati, più accurato è il modello d'insieme risultante. L'apprendimento d'insieme può quindi risolvere problemi di regressione come l'overfitting senza influenzare la distorsione del modello. In effetti, la ricerca suggerisce che gli insiemi composti da diversi modelli poco regolarizzati (ad esempio i modelli che tendono a fare overfitting sui dati di addestramento) superano le prestazioni di singoli modelli regolarizzati.8 Inoltre, le tecniche di apprendimento d'insieme possono aiutare a risolvere i problemi derivanti dai dati ad alta dimensionalità e quindi servire efficacemente come alternativa alla riduzione della dimensionalità.

Tipi di modelli d'insieme

La letteratura classifica ampiamente i metodi di apprendimento d'insieme nel machine learning in due gruppi: paralleli e sequenziali.

- I metodi paralleli addestrano ogni base learner separatamente dagli altri. Come dice il nome, quindi, i metodi d'insieme paralleli addestrano i base learner in parallelo e indipendentemente l'uno dall'altro.

- I metodi sequenziali addestrano un nuovo base learner in modo da ridurre al minimo gli errori commessi dal modello precedente addestrato nella fase precedente. In altre parole, i metodi sequenziali costruiscono modelli di base in modo sequenziale per fasi.9

I metodi paralleli si dividono ulteriormente in metodi omogenei ed eterogenei. I metodi d'insieme paralleli omogenei utilizzano lo stesso algoritmo di apprendimento di base per produrre tutti i componenti base learner. I metodi d'insieme paralleli eterogenei utilizzano algoritmi diversi per produrre base learner.10

Voto

In che modo i metodi d'insieme combinano i base learner in un learner finale? Alcune tecniche, ad es. lo stacking, utilizzano algoritmi di machine learning separati per addestrare un ensemble learner a partire dai base learner. Ma un metodo comune per consolidare le previsioni dei base learner è il voto e, più precisamente, il voto di maggioranza.

Il voto di maggioranza considera la previsione di ogni base learner per una determinata istanza di dati e produce una previsione finale determinata da ciò che prevede la maggioranza dei learner. Ad esempio, in un problema di classificazione binaria, il voto di maggioranza prende le previsioni di ciascun classificatore base per una determinata istanza di dati e utilizza la previsione della maggioranza come previsione finale. Il voto di maggioranza pesata è un'estensione di questa tecnica che dà maggiore peso alle previsioni di alcuni learner rispetto ad altre.11

Tecniche di apprendimento d'insieme

Tre delle tecniche di apprendimento d'insieme più popolari sono probabilmente il bagging, il boosting e lo stacking. In effetti, questi esemplificano insieme le distinzioni tra metodi d'insieme sequenziali, paralleli, omogenei ed eterogenei.

È opportuno notare che questa panoramica non è esaustiva: esistono diversi altri metodi d'insieme, come il blending e i metodi d'insieme a media pesata. Si tratta solo di una rassegna di alcuni dei metodi più importanti in letteratura.

Bagging

Il bagging è un metodo parallelo omogeneo a noto anche come bootstrap aggregating. Utilizza repliche modificate di un determinato set di dati di addestramento per addestrare più base learner con lo stesso algoritmo di addestramento.12 Il modulo d'insieme di Scikit-learn in Python contiene funzioni per l'implementazione del bagging, come BaggingClassifier.

Più precisamente, il bagging utilizza una tecnica chiamata bootstrap resampling per ricavare più set di dati nuovi da un set di dati di addestramento iniziale, al fine di addestrare più base learner. Come funziona? Supponiamo che un set di dati di addestramento contenga n esempi di addestramento. Il bootstrap resampling copia n istanze di dati da quel set in un nuovo set di dati di sottocampionamento, con alcune istanze iniziali che possono apparire più di una volta e altre escluse del tutto. Questi sono esempi di bootstrap. La ripetizione di questo processo x volte produce x iterazioni del set di dati originale, ciascuna contenente n campioni dal set iniziale. Ogni iterazione del set iniziale viene quindi utilizzata per addestrare un base learner separato con lo stesso algoritmo di apprendimento.13

La foresta casuale è un'estensione del bagging che denota specificamente l'uso del bagging per costruire insiemi di alberi decisionali randomizzati. Si differenziano dagli alberi decisionali standard in quanto questi ultimi campionano ogni caratteristica per identificare quella migliore per la suddivisione. Al contrario, le foreste casuali campionano iterativamente sottoinsiemi casuali di caratteristiche per creare un nodo decisionale.14

Stacking

Lo stacking, o stacked generalization 15 è un metodo parallelo eterogeneo che esemplifica ciò che è noto come meta-learning. Il meta-learning consiste nell'addestrare un meta-learner dall'output di più base learner. Lo stacking addestra specificamente diversi base learner dallo stesso set di dati utilizzando un algoritmo di addestramento diverso per ogni learner. Ogni base learner effettua previsioni su un set di dati non visto. Queste prime previsioni del modello vengono poi compilate e utilizzate per addestrare un modello finale, ovvero il meta-model.16

Per addestrare il meta-learner, è importante utilizzare un set di dati diverso da quello utilizzato per addestrare i base learner. L'utilizzo dello stesso set di dati per addestrare i base learner e il meta-learner può comportare l'overfitting. Questo può richiedere l'esclusione di istanze di dati dai dati di addestramento del base learner da utilizzare come dati di test, che a loro volta diventano dati di addestramento per il meta-learner. La letteratura spesso raccomanda tecniche come la convalida incrociata per garantire che questi set di dati non si sovrappongano.17

Come per il bagging, il modulo sklearn.ensemble in Python fornisce varie funzioni per l'implementazione di tecniche di stacking.

Boosting

Gli algoritmi di boosting sono un metodo d'insieme sequenziale. Il boosting ha molte varianti, ma seguono tutte la stessa procedura generale. Il boosting addestra un learner su un set di dati iniziale, d. Il learner risultante è in genere debole e classifica erroneamente molti campioni nel set di dati. Proprio come il bagging, il boosting campiona quindi le istanze dal set di dati iniziale per creare un nuovo set di dati (d2). A differenza del bagging, tuttavia, il boosting dà la priorità alle istanze classificate in modo errato provenienti dal primo modello o learner. Un nuovo learner viene addestrato su questo nuovo set di dati d2. Quindi viene compilato un terzo set di dati (d3) da d1 e d2, dando priorità ai campioni classificati erroneamente del secondo learner e ai casi in cui d1 e d2 sono in disaccordo. Il processo si ripete n volte per produrre n learner. Il boosting, quindi, combina e pesa tutti i learner per produrre le previsioni finali.18

Gli algoritmi di boosting differiscono ampiamente nel modo in cui danno priorità alle istanze di dati erroneamente previste durante la creazione di un nuovo set di dati. Due dei metodi di boosting più importanti possono illustrare questo concetto:

- L'adaptive boosting (AdaBoost) pesa gli errori del modello. Cioè, quando si crea una nuova iterazione di un set di dati per l'addestramento del learner successivo, AdaBoost aggiunge pesi ai campioni classificati erroneamente del learner precedente, facendo sì che il learner successivo dia priorità a quei campioni classificati erroneamente.

- Il gradient boosting utilizza errori residui durante l'addestramento di nuovi learner. Anziché pesare i campioni classificati in modo errato, il gradient boosting utilizza gli errori residui di un modello precedente per impostare le previsioni target per il modello successivo. In questo modo, si tenta di colmare il divario di errore lasciato da un modello.19

Sfortunatamente, sklearn non contiene funzioni predefinite per l'implementazione del boosting. La libreria open source Extreme Gradient Boosting (XGBoost), tuttavia, fornisce il codice per l'implementazione del gradient boosting in Python.

Ricerche recenti

Data la difficoltà di acquisire grandi set di dati etichettati per l'addestramento dei learner, l'apprendimento d'insieme ha visto molte applicazioni nel tentativo di migliorare le prestazioni dei learner con meno dati. Ad esempio, diversi studi recenti mostrano risultati promettenti con il miglioramento della capacità di generalizzazione del modello utilizzando metodi d'insieme per attività di computer vision, come l'addestramento di diversi modelli con diverse rappresentazioni di un set di dati20 o la combinazione di diversi modelli distorti.21

Nonostante la capacità dei metodi d'insieme di migliorare la capacità di generalizzazione, possono tuttavia comportare una mancanza di equità. Nel machine learning, l'equità indica i tentativi di alleviare la distorsione degli algoritmi (spesso contro gruppi minoritari) nei sistemi automatizzati, di solito derivanti da learner addestrati su dati sensibili. Alcuni studi propongono metriche, tecniche di pre-elaborazione e post-elaborazione per migliorare l'equità nei modelli d'insieme.22 Gli sforzi continui per migliorare l'equità e le pratiche etiche nell'AI continuano a essere un ambito molto importante per la ricerca futura.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate

Soluzioni correlate

IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

2 Gavin Brown, "Ensemble Learning", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

3 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023. Lior Rokach, Pattern Classification Using Ensemble Methods, World Scientific Publishing Company, 2010.

4 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

5 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani e Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023.

6 George Kyriakides e Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.

7 Zhi-Hua Zhou, Machine Learning, tradotto da Shaowu Liu, Springer, 2021. George Kyriakides e Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.

8 Peter Sollich e Anders Krogh, "Learning with ensembles: How overfitting can be useful", Advances in Neural Information Processing Systems, Vol. 8, 1995, https://papers.nips.cc/paper_files/paper/1995/hash/1019c8091693ef5c5f55970346633f92-Abstract.html.

9 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

10 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

11 Ibomoiye Domor Mienye e Yanxia Sun, "A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects", IEEE Access, Vol. 10, 2022, pagg. 99129-99149, https://ieeexplore.ieee.org/document/9893798. Lior Rokach, "Ensemble-based Classifiers", Artificial Intelligence Review, Vol. 33, 2010, pagg. 1-39, https://link.springer.com/article/10.1007/s10462-009-9124-7.

12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince e F. Herrera, "A Review on Ensembles for the Class Imbalance Problem: Bagging-, Boosting-, and Hybrid-Based Approaches", IEEE Transactions on Systems, Man, and Cybernetics, Vol. 42, n. 4, 2012, pagg. 463-484, https://ieeexplore.ieee.org/document/5978225.

13 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

14 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

15 Robi Palikar, "Ensemble Learning", Ensemble Machine Learning: Methods and Applications, Springer, 2012.

16 Ibomoiye Domor Mienye e Yanxia Sun, "A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects", IEEE Access, Vol. 10, 2022, pagg. 99129-99149, https://ieeexplore.ieee.org/document/9893798.

17 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012. Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

18 Robi Palikar, "Ensemble Learning", Ensemble Machine Learning: Methods and Applications, Springer, 2012. Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

19 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

20 Devesh Walawalkar, Zhiqiang Shen e Marios Savvides, "Online Ensemble Model Compression Using Knowledge Distillation", 2020, pagg. 18-35, https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2.

21 Xinzhe Han, Shuhui Wang, Chi Su, Qingming Huang e Qi Tian, "Greedy Gradient Ensemble for Robust Visual Question Answering", Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pagg. 1584-1593, https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html.

22 Usman Gohar, Sumon Biswas e Hridesh Rajan, "Towards Understanding Fairness and its Composition in Ensemble Machine Learning", 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023, pagg. 1533-1545, https://ieeexplore.ieee.org/abstract/document/10172501. Khaled Badran, Pierre-Olivier Côté, Amanda Kolopanis, Rached Bouchoucha, Antonio Collante, Diego Elias Costa, Emad Shihab e Foutse Khomh, "Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness?" Computer, Vol. 56, n. 4, 2023, pagg. 71-79, https://ieeexplore.ieee.org/abstract/document/10098174. Swanand Kadhe, Anisa Halimi, Ambrish Rawat, and Nathalie Baracaldo, "FairSISA: Ensemble Post-Processing to Improve Fairness of Unlearning in LLMs", Socially Responsible Language Modelling Research Workshop, 2023, https://neurips.cc/virtual/2023/78908.