Fondamentaux de l’IA
Qu’est-ce que l’apprentissage d’ensemble ?
L’une des techniques d’apprentissage automatique les plus puissantes est l’apprentissage d’ensemble. L’apprentissage d’ensemble est l’utilisation de plusieurs modèles d’apprentissage automatique pour améliorer la fiabilité et la précision des prévisions. Mais comment l’utilisation de plusieurs modèles d’apprentissage automatique conduit-elle à des prévisions plus précises ? Quels types de techniques sont utilisés pour créer des modèles d’apprentissage d’ensemble ? Nous allons explorer la réponse à ces questions, en examinant les raisons behind l’utilisation de modèles d’ensemble et les principales méthodes de création de modèles d’ensemble.
Qu’est-ce que l’apprentissage d’ensemble ?
En termes simples, l’apprentissage d’ensemble est le processus d’entraînement de plusieurs modèles d’apprentissage automatique et de combinaison de leurs sorties. Les différents modèles sont utilisés comme base pour créer un modèle prédictif optimal. La combinaison d’un ensemble diversifié de modèles d’apprentissage automatique individuels peut améliorer la stabilité du modèle global, conduisant à des prévisions plus précises. Les modèles d’apprentissage d’ensemble sont souvent plus fiables que les modèles individuels, et en conséquence, ils occupent souvent la première place dans de nombreux concours d’apprentissage automatique.
Il existe différentes techniques qu’un ingénieur peut utiliser pour créer un modèle d’apprentissage d’ensemble. Les techniques d’apprentissage d’ensemble simples incluent des choses comme la moyenne des sorties de différents modèles, tandis qu’il existe des méthodes plus complexes et des algorithmes développés spécifiquement pour combiner les prévisions de nombreux modèles de base.
Pourquoi utiliser des méthodes d’entraînement d’ensemble ?
Les modèles d’apprentissage automatique peuvent différer les uns des autres pour diverses raisons. Différents modèles d’apprentissage automatique peuvent fonctionner sur différents échantillons de données de population, différentes techniques de modélisation peuvent être utilisées, et une hypothèse différente peut être utilisée.
Imaginez que vous jouez à un jeu de questions avec un grand groupe de personnes. Si vous êtes dans une équipe seule, il y a des sujets dont vous avez connaissance et de nombreux sujets dont vous n’avez aucune connaissance. Maintenant, supposez que vous jouez dans une équipe avec d’autres personnes. Comme vous, elles auront des connaissances sur leurs propres spécialités et aucune connaissance d’autres sujets. Cependant, lorsque vos connaissances sont combinées, vous avez des hypothèses plus précises pour plus de domaines, et le nombre de sujets dont votre équipe manque de connaissance diminue. C’est le même principe qui sous-tend l’apprentissage d’ensemble, en combinant les prévisions de différents membres d’équipe (modèles individuels) pour améliorer la précision et minimiser les erreurs.
Les statisticiens ont prouvé que lorsque l’on demande à un groupe de personnes de deviner la bonne réponse à une question donnée avec une gamme de réponses possibles, toutes leurs réponses forment une distribution de probabilité. Les personnes qui connaissent vraiment la bonne réponse choisiront la bonne réponse avec confiance, tandis que les personnes qui choisissent les mauvaises réponses répartiront leurs hypothèses sur la gamme de réponses incorrectes possibles. En revenant à l’exemple d’un jeu de questions, si vous et vos deux amis savez que la bonne réponse est A, vous voterez tous les trois pour A, tandis que les trois autres personnes de votre équipe qui ne connaissent pas la réponse voteront probablement pour B, C, D ou E. Le résultat est que A a trois votes et les autres réponses n’ont probablement qu’un ou deux votes maximum.
Tous les modèles ont une certaine erreur. Les erreurs d’un modèle seront différentes des erreurs produites par un autre modèle, car les modèles eux-mêmes sont différents pour les raisons décrites ci-dessus. Lorsque toutes les erreurs sont examinées, elles ne seront pas regroupées autour d’une réponse ou d’une autre, mais seront dispersées. Les hypothèses incorrectes sont essentiellement réparties sur toutes les réponses incorrectes possibles, se neutralisant mutuellement. Pendant ce temps, les hypothèses correctes des différents modèles seront regroupées autour de la bonne réponse. Lorsque des méthodes d’entraînement d’ensemble sont utilisées, la bonne réponse peut être trouvée avec plus de fiabilité.
Méthodes d’entraînement d’ensemble simples
Les méthodes d’entraînement d’ensemble simples impliquent généralement l’application de techniques de résumé statistique, telles que la détermination du mode, de la moyenne ou de la moyenne pondérée d’un ensemble de prévisions.
Le mode fait référence à l’élément le plus fréquemment apparaissant dans un ensemble de nombres. Pour obtenir le mode, les modèles d’apprentissage individuels retournent leurs prévisions et ces prévisions sont considérées comme des votes pour la prévision finale. La détermination de la moyenne des prévisions est faite simplement en calculant la moyenne arithmétique des prévisions, arrondie à l’entier le plus proche. Enfin, une moyenne pondérée peut être calculée en attribuant des poids différents aux modèles utilisés pour créer des prévisions, les poids représentant l’importance perçue de ce modèle. La représentation numérique de la prédiction de classe est multipliée par un poids allant de 0 à 1,0, les prévisions pondérées individuelles sont ensuite additionnées et le résultat est arrondi à l’entier le plus proche.
Méthodes d’entraînement d’ensemble avancées
Il existe trois techniques d’entraînement d’ensemble avancées principales, chacune conçue pour résoudre un type spécifique de problème d’apprentissage automatique. Les techniques de « bagging » sont utilisées pour diminuer la variance des prévisions d’un modèle, la variance faisant référence à la mesure dans laquelle le résultat des prévisions diffère lorsqu’il est basé sur les mêmes observations. Les techniques de « boosting » sont utilisées pour combattre les biais des modèles. Enfin, le « stacking » est utilisé pour améliorer les prévisions en général.
Les méthodes d’apprentissage d’ensemble peuvent généralement être divisées en deux groupes différents : les méthodes séquentielles et les méthodes d’ensemble parallèles.
Les méthodes d’ensemble séquentielles portent le nom de « séquentielles » car les modèles de base sont générés séquentiellement. Dans le cas des méthodes séquentielles, l’idée essentielle est que la dépendance entre les modèles de base est exploitée pour obtenir des prévisions plus précises. Les exemples mal étiquetés ont leurs poids ajustés tandis que les exemples correctement étiquetés conservent les mêmes poids. Chaque fois qu’un nouvel apprenti est généré, les poids sont modifiés et la précision (espérons-le) s’améliore.
Contrairement aux modèles d’ensemble séquentiels, les méthodes d’ensemble parallèles génèrent les modèles de base en parallèle. Lors de la mise en œuvre de l’apprentissage d’ensemble parallèle, l’idée est d’exploiter le fait que les modèles de base sont indépendants, car le taux d’erreur général peut être réduit en moyennant les prévisions des apprentis individuels.
Les méthodes d’entraînement d’ensemble peuvent être soit homogènes, soit hétérogènes. La plupart des méthodes d’apprentissage d’ensemble sont homogènes, ce qui signifie qu’elles utilisent un seul type de modèle d’apprentissage de base/algorithme. En revanche, les ensembles hétérogènes utilisent différents algorithmes d’apprentissage, diversifiant et variant les apprentis pour garantir que la précision est la plus élevée possible.
Exemples d’algorithmes d’apprentissage d’ensemble

Visualisation de l’ensemble de boosting. Photo : Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)
Des exemples de méthodes d’ensemble séquentielles incluent AdaBoost, XGBoost et Gradient tree boosting. Ce sont tous des modèles de boosting. Pour ces modèles de boosting, l’objectif est de convertir les apprentis faibles et sous-performants en apprentis plus puissants. Des modèles comme AdaBoost et XGBoost commencent avec de nombreux apprentis faibles qui performe juste un peu mieux que les deviner au hasard. Au fur et à mesure que la formation progresse, des poids sont appliqués aux données et ajustés. Les instances qui ont été incorrectement classées par les apprentis dans les premiers tours de formation sont données plus de poids. Après que ce processus est répété pour le nombre désiré de tours de formation, les prévisions sont combinées soit par une somme pondérée (pour les tâches de régression) et un vote pondéré (pour les tâches de classification).

Le processus d’apprentissage de bagging. Photo : SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)
Un exemple de modèle d’ensemble parallèle est un classificateur de forêt aléatoire, et les forêts aléatoires sont également un exemple de technique de bagging. Le terme « bagging » vient de « bootstrap aggregation ». Des échantillons sont pris à partir de l’ensemble des données à l’aide d’une technique d’échantillonnage appelée « échantillonnage de bootstrap », qui sont utilisés par les modèles de base pour faire des prévisions. Pour les tâches de classification, les sorties des modèles de base sont agrégées à l’aide de votes, tandis qu’elles sont moyennées ensemble pour les tâches de régression. Les forêts aléatoires utilisent des arbres de décision individuels comme modèles de base, et chaque arbre de l’ensemble est construit à l’aide d’un échantillon différent de l’ensemble de données. Un sous-ensemble aléatoire de fonctionnalités est également utilisé pour générer l’arbre. Cela conduit à des arbres de décision individuels très aléatoires, qui sont tous combinés pour fournir des prévisions fiables.

Visualisation de l’ensemble de stacking. Photo : Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)
En termes de techniques d’ensemble de stacking, plusieurs modèles de régression ou de classification sont combinés ensemble à travers un modèle de niveau supérieur, un méta-modèle. Les modèles de base de niveau inférieur sont formés en leur fournissant l’ensemble des données. Les sorties des modèles de base sont ensuite utilisées comme fonctionnalités pour former le méta-modèle. Les modèles d’ensemble de stacking sont souvent hétérogènes.












