Date de publication : 18 mars 2024
Contributeurs : Jacob Murel Ph.D., Eda Kavlakoglu
L’apprentissage ensembliste combine plusieurs apprenants pour améliorer la performance des prévisions. Il a été adopté en réponse aux problèmes liés aux jeux de données restreints.
L'apprentissage d'ensemble est une technique de machine learning qui regroupe deux ou plusieurs apprenants (par exemple modèles de regression, réseaux neuronaux) afin de produire de meilleures prédictions. En d’autres termes, un modèle d’ensemble combine plusieurs modèles individuels pour produire des prédictions plus précises qu’un seul modèle.1 Parfois, les sources peuvent faire référence à cette technique sous le nom d’apprentissage en comité. L'apprentissage d'ensemble repose sur le principe qu'une collectivité d'apprenants permet d'obtenir une meilleure précision globale qu'un apprenant individuel.2 En effet, la recherche soutient son efficacité avec des modèles de machine learning et de réseaux neuronaux convolutifs (CNN).
Une remarque sur la terminologie : l’apprenant de base, le modèle de base et, dans certains cas, l’estimateur de base font référence au ou aux modèles individuels utilisés dans les algorithmes d’ensemble. La littérature divise également les apprenants de base en deux catégories : les apprenants forts et les apprenants faibles. Les modèles ou apprenants faibles sont définis comme ceux dont les performances sont à peine supérieures à celles d'une supposition aléatoire. Pour les problèmes de classification binaire, les classificateurs faibles sont plus formellement ceux qui atteignent une précision d’environ 50 %. En revanche, les modèles ou apprenants forts atteignent d’excellentes performances prédictives, qui, dans la classification binaire, sont formalisées comme une précision égale ou supérieure à 80 %.3
Notez que certaines sources font l'amalgame entre apprenant faible et apprenant de base, étant donné que les méthodes d'ensemble, en particulier les méthodes séquentielles, permettent de transformer les apprenants faibles en apprenants forts.4
Découvrez IBM watsonx et apprenez à créer des modèles de machine learning à partir de jeux de données statistiques.
Abonnez-vous à la newsletter IBM
Le compromis biais-variance est un problème bien connu du machine learning et un principe motivant de nombreuses techniques de régularisation. Nous pouvons le définir comme :
- Le biais mesure la différence moyenne entre les valeurs prédites et les valeurs réelles. Au fur et à mesure que le biais augmente, les prédictions à partir du jeu de données d’entraînement sont moins précises. Un niveau de biais élevé correspond à un taux d’erreur élevé lors de l’entraînement. L’optimisation consiste à tenter de réduire le biais.
- La variance mesure la différence entre les prévisions sur différentes réalisations d’un modèle donné. Au fur et à mesure que la variance augmente, les prédictions à partir des données invisibles sont moins précises. Un niveau de variance élevé correspond à un taux d’erreur élevé lors des essais et de la validation. La généralisation consiste à tenter de réduire la variance.
Le biais et la variance mesurent donc la précision du modèle sur les jeux d'entraînement et de test respectivement.5 Il s'agit de deux des trois termes qui constituent le taux d'erreur total d'un modèle, le troisième étant l'erreur irréductible. Ce troisième terme désigne l’erreur résultant du caractère aléatoire inhérent à un jeu de données. L’erreur totale de modèle peut être définie par la formule :6
Tout algorithme d'entraînement d'un modèle se compose de nombreuses variables, par exemple : les données d’entraînement, les hyperparamètres, etc., qui affectent l’erreur totale du modèle conséquent. Ainsi, même un seul algorithme d’entraînement peut produire différents modèles, chacun avec son propre biais, sa propre variance et ses propres taux d’erreur irréductibles. En combinant plusieurs modèles, les algorithmes d'ensemble peuvent produire un taux d'erreur global plus faible tout en conservant les complexités et les avantages de chaque modèle, tels qu'un biais particulièrement faible pour un sous-ensemble de données spécifique.7
Les recherches suggèrent qu'en général, plus la diversité des modèles combinés est grande, plus le modèle d'ensemble obtenu est précis. L’apprentissage d’ensemble peut ainsi résoudre des problèmes de regression tels que le sur-ajustement sans éliminer le biais du modèle. En effet, les recherches suggèrent que les ensembles composés de divers modèles sous-régularisés (c'est-à-dire qui sur-ajustent leurs données d’apprentissage) obtiennent de meilleurs résultats que les modèles régularisés simples.8 De plus, les techniques d’apprentissage d’ensemble peuvent aider à résoudre les problèmes liés aux données de grande dimension, et ainsi servir efficacement d’alternative à la réduction de la dimensionnalité.
La littérature spécialisée classe les méthodes d’apprentissage ensembliste en deux grands groupes : parallèle et séquentiel.
- Les méthodes parallèles entraînent chaque apprenant de base indépendamment des autres. Comme leur nom l’indique, les ensembles parallèles entraînent les apprenants de base en parallèle et indépendamment les uns des autres.
- Les méthodes séquentielles consistent à entraîner un nouvel apprenant de base de façon à éliminer les erreurs commises par le modèle précédent, entraîné à l’étape précédente. En d’autres termes, les méthodes séquentielles permettent de construire des modèles de base de manière séquentielle, par étapes.9
Les méthodes parallèles sont elles-mêmes divisées en méthodes homogènes et hétérogènes. Les ensembles parallèles homogènes utilisent le même algorithme d'apprentissage de base pour former tous les apprenants de base des composants. Les ensembles parallèles hétérogènes utilisent différents algorithmes pour former des apprenants de base.10
Comment les méthodes d'ensemble combinent-elles les apprenants de base en un apprenant final ? Certaines techniques, par exemple le stacking, utilisent des algorithmes de machine learning distincts pour entraîner un apprenant d’ensemble à partir des apprenants de base. Mais une méthode courante permettant de consolider les prédictions des apprenants de base est le vote, et plus précisément, le vote majoritaire.
Le vote majoritaire prend en compte la prédiction de chaque apprenant de base pour une instance de données donnée et produit une prédiction finale déterminée par la prédiction de la majorité des apprenants. Par exemple, dans un problème de classification binaire, le vote majoritaire prend les prédictions de chaque classificateur de base pour une instance de données donnée et utilise la prédiction majoritaire comme prédiction finale. Le vote majoritaire pondérée est une extension de cette technique qui donne plus de poids aux prédictions de certains apprenants par rapport à d'autres.11
Trois des techniques d’apprentissage d’ensemble les plus populaires sont peut-être le bagging, le boosting, et le stacking. En fait, elles illustrent bien les distinctions entre les types de méthodes d'ensemble séquentielles, parallèles, homogènes et hétérogènes.
Notez que cet aperçu n'est pas exhaustif ; il existe plusieurs méthodes d'ensemble supplémentaires, telles que le mélange et la moyenne pondérée des ensembles. Il s’agit simplement d’examiner certaines des méthodes les plus connues dans la littérature.
Le bagging est une méthode parallèle homogène parfois appelée bootstrap aggregating. Elle utilise des répliques modifiées d'un jeu de données d'entraînement donné pour entraîner plusieurs apprenants de base avec le même algorithme d'entraînement.12 Le module d'ensemble de Scikit-learn en Python contient des fonctions pour mettre en œuvre le bagging, telles que BaggingClassifier.
Plus précisément, le bagging utilise une technique appelée rééchantillonnage par bootstrap pour dériver plusieurs nouveaux jeux de données à partir d’un jeu de données d’entraînement initial afin d’entraîner plusieurs apprenants de base. Comment cela fonctionne-t-il ? Supposons qu’un jeu de données d’entraînement contienne n exemples d’entraînement. Le rééchantillonnage Bootstrap copie n instances de données de cet ensemble dans un nouvel ensemble de données sous-échantillonné, certaines instances initiales apparaissant plus d’une fois et d’autres étant complètement exclues. Ce sont des échantillons bootstrap. En répétant ce processus x fois, on produit x itérations du jeu de données original, chacune contenant n échantillons du jeu initial. Chaque itération de l’ensemble initial est ensuite utilisée pour entraîner un apprenant de base distinct avec le même algorithme d’apprentissage.13
La Random forest est une extension du bagging qui désigne spécifiquement l'utilisation du bagging pour construire des ensembles de Decision Trees. Cela diffère des decision trees standard en ce que ces derniers échantillonnent chaque caractéristique pour identifier la meilleure pour le fractionnement. En revanche, les random forests échantillonnent de manière itérative des sous-ensembles aléatoires de caractéristiques pour créer un nœud de décision.14
Le Stacking (ou stacked generalization),15 est une méthode parallèle hétérogène qui illustre ce que l’on appelle le méta-apprentissage. Le méta-apprentissage consiste à entraîner un méta-apprenant grâce aux résultats de plusieurs apprenants de base. Elle forme spécifiquement plusieurs apprenants de base à partir du même jeu de données en utilisant un algorithme d'entraînement différent pour chaque apprenant. Chaque apprenant de base fait des prédictions sur un jeu de données invisible. Ces premières prédictions de modèle sont ensuite compilées et utilisées pour entraîner un modèle final, le méta-modèle.16
Notez l'importance d'utiliser un jeu de données différent de celui utilisé pour entraîner les apprenants de base afin d'entraîner le méta-apprenant. L’utilisation du même jeu de données pour entraîner les apprenants de base et le méta-apprenant peut entraîner un sur-ajustement. Cela peut nécessiter d'exclure des instances de données des données d'entrainement de base des apprenants pour les utiliser comme données de test, qui deviennent à leur tour des données d'entraînement pour le méta-apprenant. La littérature recommande souvent des techniques telles que la validation croisée pour s’assurer que ces jeux de données ne se chevauchent pas.17
Tout comme le bagging, le module sklearn.ensemble de Python fournit diverses fonctions pour implémenter des techniques de stacking.
Les algorithmes de boosting sont une méthode d’ensemble séquentiel. Le boosting comporte de nombreuses variantes, mais elles suivent toutes la même procédure générale. Le boosting forme un apprenant sur un jeu de données initial, d. L’apprenant qui en résulte est généralement faible, classant à tort de nombreux échantillons dans le jeu de données. À l’instar du bagging, il s’agit de sélectionner ensuite les instances du jeu de données initial pour en créer un nouveau (d2). Cependant, contrairement au bagging, le boosting donne la priorité aux instances de données mal classifiées du premier modèle ou apprenant. Un nouvel apprenant est formé sur ce nouveau jeu de données d2. Ensuite, un troisième jeu de données (d3) est ensuite compilé à partir de d1 et d2, hiérarchise les échantillons mal classés du deuxième apprenant et les cas pour lesquels d1 et d2 ne sont pas en accord. Le processus se répète n fois pour produire n apprenants. Le boosting combine et pondère ensuite tous les apprenants ensemble pour produire des prédictions finales.18
Les algorithmes de boosting diffèrent considérablement dans la manière dont ils hiérarchisent les instances de données prévues par erreur lors de la création d’un nouveau jeu de données. Deux des méthodes de boosting les plus connues peuvent illustrer cela :
- Le boosting adaptatif (AdaBoost) permet de corriger les erreurs du modèle. En d'autres termes, lors de la création d'une nouvelle itération d'un jeu de données pour entraîner le prochain apprenant, AdaBoost ajoute des poids aux échantillons mal classés de l'apprenant précédent, obligeant le suivant à donner la priorité à ces échantillons mal classés.
- Le boosting de gradient utilise des erreurs résiduelles lors de l'entraînement de nouveaux apprenants. Plutôt que de pondérer des échantillons mal classés, il utilise les erreurs résiduelles d’un modèle précédent pour définir des prédictions cibles pour le modèle suivant. De cette manière, il tente de combler l’écart d’erreur laissé par un modèle.19
Malheureusement, sklearn ne contient pas de fonctions prédéfinies pour la mise en œuvre du boosting. La bibliothèque open-source Extreme Gradient Boosting (XGBoost) fournit toutefois un code pour la mise en œuvre du boosting de gradient de Python.
Étant donné les difficultés d'acquisition de grands jeux de données étiquetés à usage équitable pour l'entraînement des apprenants, l'apprentissage d'ensemble a fait l'objet de nombreuses applications dans le but d'améliorer les performances de l'apprenant avec moins de données. Par exemple, plusieurs études récentes montrent des résultats prometteurs en ce qui concerne l'amélioration de la généralisation des modèles à l'aide de méthodes d'ensemble pour les tâches de vision par ordinateur, telles que l'entraînement de plusieurs modèles avec différentes représentations d'un jeu de données20 ou la combinaison de plusieurs modèles biaisés.21
Malgré la capacité des méthodes d'ensemble à améliorer la généralisation, elles peuvent néanmoins souffrir d'iniquité. Dans le domaine du machine learning, l'équité désigne les tentatives d'atténuation des préjugés algorithmiques (souvent à l'encontre de groupes minoritaires) dans les systèmes automatisés, qui résultent généralement d'apprenants entraînés à l'aide de données sensibles. Une poignée d’études proposent des indicateurs, des techniques de prétraitement et de post-traitement pour améliorer l’équité dans les modèles d’ensemble.22 Les efforts continus visant à améliorer l’équité et les pratiques éthiques dans le domaine de l’IA demeurent indispensable pour les recherches futures.
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 et Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023.
6 George Kyriakides et Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.
7 Zhi-Hua Zhou, Machine Learning, traduction par Shaowu Liu, Springer, 2021. George Kyriakides et Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.
8 Peter Sollich et 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 (lien externe à ibm.com).
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 et Yanxia Sun, « A Survey of Ensemble Learning : Concepts, Algorithms, Applications, and Prospects », IEEE Access, vol. 10, 2022, pages 99129-99149, https://ieeexplore.ieee.org/document/9893798 (lien externe à ibm.com). Lior Rokach, « Ensemble-based Classifiers », Artificial Intelligence Review, vol. 33, 2010, pages 1-39, https://link.springer.com/article/10.1007/s10462-009-9124-7 (lien externe à ibm.com).
12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince et 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, pages 463-484, https://ieeexplore.ieee.org/document/5978225 (lien externe à ibm.com).
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 et Yanxia Sun, « A Survey of Ensemble Learning : Concepts, Algorithms, Applications, and Prospects » IEEE Access, vol. 10, 2022, pages 99129-99149, https://ieeexplore.ieee.org/document/9893798 (lien externe à ibm.com).
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 et Marios Savvides, « Online Ensemble Model Compression Using Knowledge Distillation », 2020, pages 18-35, https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2 (lien externe à ibm.com).
21 Xinzhe Han, Shuhui Wang, Chi Su, Qingming Huang et Qi Tian, « Greedy Gradient Ensemble for Robust Visual Question Answering », Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pages 1584-1593, https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html (lien externe à ibm.com).
22 Usman Gohar, Sumon Biswas et Hridesh Rajan, « Towards Understanding Fairness and its Composition in Ensemble Machine Learning », 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023, pages 1533-1545, https://ieeexplore.ieee.org/abstract/document/10172501 (lien externe à ibm.com). Khaled Badran, Pierre-Olivier Côté, Amanda Kolopanis, Rached Bouchoucha, Antonio Collante, Diego Elias Costa, Emad Shihab et Foutse Khomh, « Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness ? » Computer, vol. 56, n° 4, 2023, pages 71-79, https://ieeexplore.ieee.org/abstract/document/10098174 (lien externe à ibm.com). Swanand Kadhe, Anisa Halimi, Ambrish Rawat et 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 (lien externe à ibm.com).