algorithme de renforcement adaptatif pour les apprenants faibles

Adaptive Boosting - Des apprenants faibles aux meilleurs décideurs

Tim Filzinger

Tous les modèles d'apprentissage automatique ne donnent pas des résultats satisfaisants du premier coup. La formation et la mise en œuvre peuvent certes être rapides dans de nombreux cas, mais le prix à payer est une certaine imprécision. Cela peut conduire à des erreurs, notamment dans l'analyse prédictive des données. Il faut donc des méthodes qui se rapprochent de la simplicité et de la généralisation de ces "apprenants faibles", tout en permettant une performance accrue. Une approche très répandue consiste à combiner plusieurs modèles ; on parle alors de Apprentissage en groupe.

Les solutions individuelles issues de la boîte à outils de l'IA se répartissent principalement entre les concepts de bagging, stacking et boosting, qui englobent chacun différents procédés d'apprentissage. Ils ont tous en commun de former des "apprenants forts" grâce à des techniques de combinaison qui, ensemble, réduisent considérablement la probabilité d'erreur dans le sens d'une intelligence en essaim.

Par rapport aux autres méthodes d'ensemble, le boosting se distingue par le fait que les différents modèles l'un après l'autre et habituellement à distorsion élevée et faible variance peuvent être appliquées. Le "boosting adaptatif" (en abrégé AdaBoost), qui promet une précision sans précédent pour les classificateurs, est particulièrement populaire et performant.

Adaptive Boosting - Définition et principes de base

définition et éléments essentiels de l'algorithme adaboost

AdaBoost est un algorithme d'apprentissage ensembliste qui s'appuie sur des procédures d'apprentissage séquentielles de plusieurs Arbres de décision ou de classificateurs similaires. La technique présente donc des similitudes avec Forêt aléatoiremais dans lequel les modèles apprennent en parallèle grâce au bagging. AdaBoost, en revanche, entraîne les apprenants faibles les uns après les autres, comme c'est généralement le cas avec le boosting. Ceux-ci peuvent être relativement simples - jusqu'à Décision Stumpsqui prédisent uniquement les classes binaires en raison de leur caractère mononiveau. AdaBoost utilise un processus d'apprentissage supervisé (supervised learning), qui se définit par le caractère structuré des données de formation préparées.

Apprendre à partir des données, minimiser les erreurs et prendre des décisions éclairées sont les principes de base du Machine Learning.

Ici, on y parvient en entraînant chaque classificateur avec les mêmes données, à la seule différence que les erreurs commises seront à l'avenir davantage pondérées. Dans la séquence, chaque apprenant faible apprend donc des imprécisions de son prédécesseur, de sorte qu'en fin de compte, on obtient une classification, une décision ou un pronostic aussi précis que possible. La répétition itérative de ce processus jusqu'à ce que la précision de prédiction souhaitée soit atteinte revêt en outre une importance particulière.

Fonctionnement d'AdaBoost

Comme c'est généralement le cas avec l'apprentissage automatique, l'ajustement des poids (neuronaux) joue un rôle clé dans la modélisation d'un processus d'apprentissage. La concaténation de différents modèles permet à AdaBoost d'étendre ce principe en attribuant également aux différents classificateurs une pertinence différente pour la prévision globale. On parle alors de soft voting. Pour obtenir une pondération optimale, il faut tout d'abord réaliser quelques étapes individuelles. La préparation d'un jeu de données adéquat est une condition préalable.

  1. Mettre en place l'algorithme de base

    Au départ, il est nécessaire de disposer d'un apprenant faible approprié, capable de fournir des prévisions simples sur des points de données. Les Decision Stumps - arbres de décision à un niveau - sont particulièrement courants. Ils décomposent l'ensemble des données en nœuds de décision individuels. La comparaison des Coefficients de Gini en application à un seul (binaire) Fonctionnalité permet d'identifier le stump le plus performant. Celui-ci constitue désormais, pour le modèle d'ensemble, l'algorithme de base, suivi d'autres.

  2. Calcul des erreurs

    Des pondérations sont ensuite introduites pour chaque instance de l'ensemble de données, de sorte qu'il est possible d'en prélever des échantillons et de déterminer à chaque fois l'exactitude de la variable cible classée. Les points de données erronés ainsi déterminés peuvent donc recevoir une pondération plus élevée pour la suite du processus.

  3. Pondération du classificateur

    Sur la base du taux d'erreur, AdaBoost peut calculer la nouvelle importance des différents classificateurs pour le modèle d'ensemble. Plus la précision est élevée ou moins il y a d'erreurs, plus le "droit de regard" sur la prévision d'ensemble est important. Celui-ci constitue en outre une base mathématique importante pour l'étape suivante.

  4. Mettre à jour les pondérations d'échantillon

    Les poids d'échantillon initialement équilibrés subissent également un ajustement basé sur les points de données erronés du premier classificateur. Ceux-ci sont davantage pris en compte dans la suite du processus, tandis que les prédictions correctes reçoivent une pondération moindre, ce qui intensifie également l'effet d'entraînement et minimise de plus en plus la fonction d'erreur.

  5. Itération

    En utilisant un classificateur optimisé par cette minimisation des erreurs et/ou un ensemble de données révisé à l'aide des poids de l'échantillon, les étapes peuvent être répétées plusieurs fois. Il en résulte des modèles de plus en plus efficaces et de plus en plus précis, qui sont ensuite agrégés dans un modèle d'ensemble en tenant compte de leurs pondérations ou du droit de regard. AdaBoost peut maintenant appliquer ce modèle à de nouvelles données et classifier ainsi des points de données jusqu'alors inconnus.

schéma adaboost pour les classificateurs faibles
Ce schéma explique brièvement le fonctionnement de l'Adaptive Boosting. Source : Wikipedia

Exemple selon le schéma

Problématique : Dans cet exemple, les modèles d'IA sont représentés par un ensemble de modèles {h1, h2, h3, h4} et leurs prédictions par un ensemble de rectangles. La taille des rectangles (prédictions) est proportionnelle à leurs poids respectifs (c.-à-d. à leur importance).

Voici comment fonctionne AdaBoost dans cet exemple : h1 fait une série de prédictions. Un poids plus important est donné aux erreurs de h1 (par erreurs, on entend les prédictions qui s'écartent de la vérité fondamentale). h2 doit alors se concentrer davantage sur la prédiction correcte des erreurs de h1. (et ainsi de suite pour h3, h4...)

Au final, on dispose de 4 modèles d'IA qui se corrigent mutuellement leurs erreurs. Le classificateur d'ensemble final est appelé "h".

Contexte mathématique

La difficulté mathématique derrière AdaBoost réside principalement dans l'ajustement des poids, qui sont initialement égaux au nombre N pour tous les points de données.

poids original de l'échantillon

La valeur correspond à la probabilité que ce point de données soit tiré pour un échantillon. Ce n'est qu'ainsi que l'on obtient l'ensemble de formation utilisé pour chaque itération.

Pour calculer les erreurs, on utilise une fonction de perte exponentielle qui donne un graphique convexe et qui croît de manière exponentielle pour les valeurs négatives.

fonction d'erreur
y : Valeurs de la fonction
e : nombre d'Euler
Cm(xi) : Prévision

Elle modélise la différence entre les valeurs cibles prédites et souhaitées, qui reflète ainsi l'imprécision du modèle. L'objectif du Machine Learning comme du Boosting est toujours de minimiser cette fonction. Dans ce cas, l'erreur constatée, qui doit être comprise comme la somme des poids d'échantillon de tous les points de données prédits de manière erronée, aide en outre à donner la priorité aux différents arbres de décision, c'est-à-dire à leur droit de regard sur le modèle global. Ce dernier prend des valeurs comprises entre 0 et 1.

amount of say of the single classifiers
La part d'un apprenant faible dans le pronostic global en fonction de sa propension à faire des erreurs

La repondération des échantillons se base également sur les (im)précisions constatées, mais qui résultent uniquement de prédictions erronées au lieu de calculs complexes. Pour chaque échantillon mal classé, AdaBoost multiplie son poids par le nombre d'Euler, qui est multiplié par le droit de regard du classificateur : Nouveau poids de l'échantillon = Ancien poids de l'échantillon x e^(droit de regard). Pour chaque sample correct, le droit de parole négatif a été utilisé.

Exemple : le droit de parole d'un Decision Stump est de 0,96 au début, pour un total de 8 échantillons, qui représentent donc 1/N=⅛=.0,125 être pondérés en fonction des résultats. Un échantillon a été faux classé. Dont nouveau poids est donc de 0,125 x e^(0,96) ≈ 0,33. C'est plus élevé qu'auparavant.

Pour un correctement classifié échantillon, le droit de parole négatif donne en revanche lieu à un nouveau poids d'environ 0,05. AdaBoost apprend donc des erreurs commises, alors que les prévisions correctes sont de plus en plus négligées.

Variantes AdaBoost

Les différences subtiles entre les différentes variantes d'AdaBoost sont dues à l'approche mathématique individuelle.

  • Real AdaBoost se caractérise par l'utilisation de Decision Trees avec probabilité de classe en sortie et par l'application de l'erreur pondérée des moindres carrés.
  • Gentle AdaBoost est un développement qui régule les oscillations de l'algorithme à l'aide d'un pas limité.
  • AdaBoostRegressor, également AdaBoost.R2, applique plusieurs régressions à l'ensemble de données initial, qui sont ajustées après chaque calcul d'erreur.
  • Logitboost se distingue par la minimisation de la perte logistique au lieu de la perte exponentielle.

Défis et solutions

Malgré sa grande précision, AdaBoost n'est pas non plus un modèle idéal. Grâce à l'entraînement intensif aux points de données erronés et donc à la gestion souveraine des classes sous-représentées, il convient certes bien aux données déformées. Toutefois, cette capacité ne s'étend que jusqu'à un certain point.

Faible qualité des données

En cas de fort déséquilibre dans la distribution des échantillons, même l'Adaptive Boosting, en principe robuste, peut avoir tendance à un surajustement, appelé overfitting. D'un point de vue mathématique, la fonction de perte utilisée y contribue, car sa sensibilité exponentielle aux valeurs négatives la rend vulnérable aux valeurs aberrantes. Les "données bruyantes" peuvent également poser problème si des informations supplémentaires insignifiantes influencent les prévisions.

Approche de la solution : Ingénierie des fonctionnalités

Avant même l'exécution d'AdaBoost, il est possible de corriger de nombreuses faiblesses dans les données utilisées. Feature Engineering est un terme générique pour de telles optimisations et comprend différentes techniques qui visent à structurer les classes et les caractéristiques de la manière la plus judicieuse possible. Cela permet d'augmenter la performance ultérieure du modèle d'apprentissage automatique, mais nécessite une grande expertise.

Apprenants trop faibles

Le choix de classificateurs trop peu performants, par exemple en négligeant le coefficient de Gini, peut également entraîner des erreurs. De même, l'utilisation de à des choses similaires d'apprenants faibles peut réduire la précision de l'ensemble. Celui-ci vit finalement des décisions diversifiées de certains participants.

Approche de la solution : Pruning

Il s'agit en quelque sorte d'un taille-haie pour les arbres de décision. Cette technique permet de réduire les parties trop faibles, voire les arbres entiers, lorsque leur performance tombe en dessous d'une valeur seuil critique. Dans certains cas, cela réduit tout d'abord la précision des données d'entraînement, mais il en va de même pour un éventuel overfitting, de sorte que les prévisions ultérieures de points de données inconnus gagnent en qualité.

Application et développement

En principe, l'Adaptive Boosting peut être appliqué en tant que méthode d'ensemble à divers modèles d'apprentissage automatique, comme par exemple Bayes la naïve s'appliquent. Les arbres de décision sont le choix le plus fréquent, car même pour les applications complexes, une probabilité d'erreur des apprenants faibles légèrement inférieure à 50% est suffisante. Les classifications automatisées jouent un rôle dans de nombreux processus d'analyse, mais aussi dans les applications finales.

Reconnaissance des visages

Dès 2001, quelques années seulement après sa création, AdaBoost a été utilisé pour la première fois pour la reconnaissance des visages. Cela ne concerne toutefois que la décision binaire de savoir si un visage est reconnaissable ou non. L'identification des personnes nécessite des technologies bien plus complexes, auxquelles AdaBoost pourrait au moins présenter les visages reconnus. Pour cela, il est important de disposer d'une Phase de testLa méthode d'évaluation de la précision des données est une méthode d'évaluation de la précision des données qui peut conduire à des itérations supplémentaires jusqu'à la très haute précision nécessaire.

détection de visage
Pour identifier les visages individuels, on utilise désormais Vision par ordinateur à l'utilisation.

Bioinformatique

Les forces marquées dans la classification précise, même avec une base de données déformée, mettent également en valeur l'Adaptive Boosting dans des domaines interdisciplinaires : par exemple, déterminer l'emplacement subcellulaire de protéines est une tâche qui exige une telle précision. Pour cela, les chercheurs Fan et Wang (2011) ont étendu l'algorithme à plusieurs classes et l'ont combiné avec la composition en pseudo-acides aminés, la méthode de calcul habituelle jusqu'alors. Résultat : une précision de prédiction significativement accrue.

Boosting et deep learning

Les développements récents de l'IA se concentrent principalement sur le deep learning, un sous-domaine du machine learning défini par l'utilisation de réseaux neuronaux à plusieurs niveaux. Bien entendu, on essaie également d'améliorer les techniques existantes. C'est également le cas de l'Adaptive Boosting. Entre-temps, les arbres de décision ont été remplacés par des applications sur des Réseaux neuronaux convolutifs est possible. Cela permet une mise à l'échelle sur de très grands ensembles de données, de sorte que les avantages des deux approches pour le Big Data et le Enterprise AI devienne utilisable. Car entre-temps, l'économie reflète toujours le niveau de développement le plus actuel de l'IA, qui est même visible dans des processus commerciaux singuliers :

L'ensemble pour une gestion intelligente des documents

L'agrégation d'un ensemble puissant ne fonctionne pas seulement pour les modèles de boosting simples. Elle peut être étendue jusqu'à des technologies haut de gamme construites sur cette base, qui peuvent chacune bénéficier d'AdaBoost. La preuve : Konfuzio. Ce logiciel de gestion intelligente des documents comprend des technologies d'IA avec des approches techniques très différentes. Ce n'est qu'en les combinant que l'on obtient une solution globale. Compréhension du document dans les moindres détails :

  • Vision par ordinateur : Cette technologie d'IA permet, à l'aide du Machine et Deep Learning, d'analyser automatiquement les contenus visuels. Pour les documents, cela concerne les informations d'image et de mise en page. AdaBoost peut aider à Classification des images aider.
  • Reconnaissance optique des caractères : En tant que reconnaissance optique de caractères, elle est responsable de la saisie de texte. La présence d'un tel texte est une prévision qui peut être optimisée par AdaBoost.
  • Traitement du langage naturel : Il est préférable que le texte extrait soit également compris par la machine afin de pouvoir prendre d'autres décisions. La PNL basée sur les réseaux neuronaux est le meilleur moyen d'y parvenir. Ceux-ci peuvent également être enchaînés de manière séquentielle par AdaBoost afin d'augmenter la précision.

Conclusion

On voit une fois de plus comment l'intelligence artificielle exploite mécaniquement des principes fondamentaux de la réalité de la vie humaine : quatre yeux voient plus que deux. Cinq classificateurs prennent une meilleure décision qu'un seul. C'est ainsi que des méthodes d'ensemble comme l'Adaptive Boosting ont réussi à rester pertinentes pendant des décennies. La capacité d'apprendre de manière séquentielle à partir des imprécisions constatées et de minimiser ces erreurs de manière itérative est particulièrement précieuse. Ainsi, AdaBoost forme des modèles puissants à partir d'apprenants faibles comme les arbres de décision, qui sont même utiles pour la reconnaissance des visages ou la bio-informatique.

La fin des développements n'est pas encore en vue. Les progrès du deep learning sont trop rapides et rendent l'adaptive boosting applicable à de grandes quantités de données dans l'économie. De plus, la mise à disposition et la qualité de ces données jouent un rôle essentiel dans la précision des modèles. L'ingénierie des caractéristiques et la science des données sont donc également des influences très pertinentes, qui s'imbriquent à leur tour avec les développements du traitement des documents. En raison de cette multifactorialité, il vaut la peine de continuer à jeter un coup d'œil sur l'Adaptive Boosting et de se familiariser avec les dernières possibilités. 

Vous souhaitez en savoir plus sur le potentiel offert par l'agrégation de classificateurs et d'autres techniques d'IA ? N'hésitez pas à nous envoyer un message.

    À propos de moi

    Autres grands articles

    Apprentissage par renforcement

    Reinforcement Learning - L'avenir du Machine Learning

    Le Reinforcement Learning, également connu sous le nom d'apprentissage par renforcement ou d'apprentissage par renforcement, révolutionne le domaine du Machine Learning. Il s'agit de ...

    Lire l'article
    Alternative à DocuWare

    Tout sur les alternatives DocuWare et Konfuzio comme add-on intelligent

    Vous cherchez un complément à DocuWare ou des alternatives appropriées ? Alors vous êtes au bon endroit sur cet article. Une gestion documentaire sans faille...

    Lire l'article

    Protection des données - Protéger les données sensibles avec un outil de rédaction PDF

    Qu'il s'agisse d'une déclaration d'impôts, d'un contrat ou d'un relevé de compte - dans les processus bureaucratiques, nous ne pouvons souvent pas éviter d'envoyer des documents contenant des données sensibles avec...

    Lire l'article
    Arrow-up