AdaBoost

AdaBoost (ou adaptive boosting) est, en intelligence artificielle et en apprentissage automatique, un méta-algorithme de boosting introduit par Yoav Freund et Robert Schapire[1]. Il peut être utilisé en association avec de nombreux autres types d'algorithmes d'apprentissage afin d'en améliorer les performances. Les sorties des autres algorithmes (appelés classifieurs faibles) sont combinées en une somme pondérée qui représente la sortie finale du classeur boosté. AdaBoost est adaptatif dans le sens où les classeurs faibles subséquents sont ajustés en faveur des échantillons mal classés par les classeurs précédents.

AdaBoost est notablement sensible aux données bruitées ou peu corrélées. Toutefois, dans certains problèmes, il peut s'avérer moins enclin au surapprentissage que d'autres algorithmes. Les sous-classeurs utilisés peuvent être faibles tant qu'ils proposent une performance au moins un peu supérieure à celle d'un classeur aléatoire, auquel cas il peut être prouvé que le modèle final converge vers un classeur fort.

Tous les algorithmes d'apprentissage tendent à correspondre plus à certains types de problèmes qu'à d'autres, et ont typiquement de nombreux paramètres et configurations différents qu'il est nécessaire d'ajuster pour atteindre une performance optimale sur un ensemble d'apprentissage fourni. AdaBoost (avec des arbres de décision comme classeurs faibles) est souvent désigné comme le meilleur classeur clé-en-main.

Principe

Adaboost repose sur la sélection itérative de classifieur faible en fonction d'une distribution des exemples d'apprentissage. Chaque exemple est pondéré en fonction de sa difficulté avec le classifieur courant. C'est un exemple de la méthode des poids multiplicatifs (multiplicative weights update method)[2],[3].

Description

Soit un ensemble d'observations. Notons les : sont les caractéristiques de l'individu et la variable à prédire.

On initialise le poids associé à ,

Pour  :

  • Trouver la fonction qui minimise l'erreur de classification en fonction des poids . C'est-à-dire qui vérifie le programme de minimisation suivant :

est l'erreur du modèle.

  • Si la fonction est sélectionnée, sinon l'algorithme s'arrête
  • On calcule alors le pas du gradient: , avec
  • On met ensuite à jour le poids des exemples :


avec un facteur de normalisation égal à

Quand l'algorithme s'arrête à l'itération , le classifieur résultant du processus de sélection est :

Variantes

Des variantes ont été introduites, et dont les modifications portent essentiellement sur la manière dont les poids sont mis à jour. Parmi ces variantes, Gentle AdaBoost et Real Adaboost sont fréquemment utilisées. Citons aussi RankBoost.

Histoire

Ce fut l'une des premières méthodes pleinement fonctionnelles permettant de mettre en œuvre le principe de boosting. Les auteurs ont reçu le prestigieux prix Gödel en 2003 pour leur découverte[4].

Notes et références

Bibliographie

  • (en) Yoav Freund et Robert Schapire, « A decision-theoretic generalization of on-line learning and an application to boosting », Journal of Computer and System Sciences, vol. 55, no 1, , p. 119-139 (lire en ligne)

Liens externes

  • Portail de l'informatique théorique
  • Portail des probabilités et de la statistique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Sharealike. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.