Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. AdaBoost — Wikipédia
AdaBoost — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

En intelligence artificielle et en apprentissage automatique, AdaBoost (ou adaptive boosting) est un méta-algorithme de boosting introduit par Yoav Freund et Robert Schapire en 1997[1]. AdaBoost améliore les performances de n'importe quel algorithme d'apprentissage appelés classifieurs faibles. Le principe est la sagesse d'une foule d'experts. Chaque classifieur faible est un expert. On combine alors leurs prédictions en une somme pondérée qui représente la prédiction finale du classifieur boosté. AdaBoost est adaptatif dans le sens où les classifieurs faibles subséquents sont ajustés en faveur des échantillons mal classés par les classifieurs 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-classifieurs utilisés peuvent être faibles tant qu'ils proposent une performance au moins un peu supérieure à celle d'un classifieur aléatoire, auquel cas il peut être prouvé que le modèle final converge vers un classifieur 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 classifieurs faibles) est souvent désigné comme le meilleur classifieur clé-en-main.

Principes

[modifier | modifier le code]
Schéma du principe d'Adaboost. Les exemples sont représentés par des rectangles ; leurs tailles sont proportionnelles à leur poids. On donne un poids plus grand quand un exemple est mal classé (marqué par un X). A la fin, on combine les classifieurs faibles h 1 , … , h 4 {\displaystyle h_{1},\dots ,h_{4}} {\displaystyle h_{1},\dots ,h_{4}} pour calculer le classifieur final h.

Adaboost repose sur plusieurs principes.

  • C'est une technique d'ensemble learning. Ainsi, on calcule plusieurs classifieurs faibles dont on combine alors les résultats. Typiquement, la combinaison s'effectue à l'aide d'un vote majoritaire. Si par exemple nous avons trois classifieurs, l'un dit "c'est un chat", le deuxième "ce n'est pas un chat", le troisième dit "c'est un chat", alors Adaboost décide que c'est un chat.
  • Le calcul des classifieurs est effectivement de manière itérative.
  • Durant l'exécution, les exemples sont pondérés. Un exemple est d'autant plus important que le classifieur courant se trompe. On donnera donc plus d'importance à ces exemples récalcitrants. En ce sens, c'est un exemple de la méthode des poids multiplicatifs (multiplicative weights update method)[2],[3].
  • Dans la décision finale, ce n'est pas un vote majoritaire classique mais un vote majoritaire pondéré. Autrement dit, les classifieurs faibles sont eux-mêmes pondérés.

Description

[modifier | modifier le code]

Soit un ensemble d'observations (aussi appelé exemples). Notons les ( x 1 , y 1 ) , … , ( x m , y m ) {\displaystyle (x_{1},y_{1}),\ldots ,(x_{m},y_{m})} {\displaystyle (x_{1},y_{1}),\ldots ,(x_{m},y_{m})} où x i ∈ X , {\displaystyle x_{i}\in X,} {\displaystyle x_{i}\in X,} sont les caractéristiques de l'individu i {\displaystyle i} {\displaystyle i} et y i ∈ Y = { − 1 , + 1 } {\displaystyle \,y_{i}\in Y=\{-1,+1\}} {\displaystyle \,y_{i}\in Y=\{-1,+1\}} la classe à prédire. On initialise les poids associés aux observations de manière uniforme : le poids de la i {\displaystyle i} {\displaystyle i}-ème observation est D t ( i ) = 1 m {\displaystyle D_{t}(i)={\frac {1}{m}}} {\displaystyle D_{t}(i)={\frac {1}{m}}} pour tout i = 1 , … , m {\displaystyle i=1,\ldots ,m} {\displaystyle i=1,\ldots ,m}, avec m {\displaystyle m} {\displaystyle m} est le nombre d'observations. L'algorithme construit alors itérativement T {\displaystyle T} {\displaystyle T} classifieurs faibles h 1 , … , h T {\displaystyle h_{1},\dots ,h_{T}} {\displaystyle h_{1},\dots ,h_{T}}.

Pour t = 1 , … , T {\displaystyle t=1,\ldots ,T} {\displaystyle t=1,\ldots ,T} :

  • Trouver la fonction h t : X → { − 1 , + 1 } {\displaystyle h_{t}:X\to \{-1,+1\}} {\displaystyle h_{t}:X\to \{-1,+1\}} qui minimise l'erreur de classification ϵ t {\displaystyle \epsilon _{t}} {\displaystyle \epsilon _{t}} en fonction des poids D t {\displaystyle D_{t}} {\displaystyle D_{t}}. C'est-à-dire h t {\displaystyle h_{t}} {\displaystyle h_{t}}qui vérifie le programme de minimisation suivant :

h t = arg ⁡ min h ∈ H ∑ i = 1 m D t ( i ) [ y i ≠ h ( x i ) ] {\displaystyle h_{t}=\arg \min _{h\in {\mathcal {H}}}\sum _{i=1}^{m}D_{t}(i)[y_{i}\neq h(x_{i})]} {\displaystyle h_{t}=\arg \min _{h\in {\mathcal {H}}}\sum _{i=1}^{m}D_{t}(i)[y_{i}\neq h(x_{i})]}

ϵ t = ∑ i = 1 m D t ( i ) [ y i ≠ h ( x i ) ] {\displaystyle \epsilon _{t}=\sum _{i=1}^{m}D_{t}(i)[y_{i}\neq h(x_{i})]} {\displaystyle \epsilon _{t}=\sum _{i=1}^{m}D_{t}(i)[y_{i}\neq h(x_{i})]} est l'erreur du modèle.

  • Si ϵ m i n , t < 0.5 {\displaystyle \epsilon _{min,t}<0.5} {\displaystyle \epsilon _{min,t}<0.5}[Quoi ?] la fonction est sélectionnée, sinon l'algorithme s'arrête
  • On calcule alors le pas du gradient : α t = 1 2 ln 1 − ϵ t ϵ t {\displaystyle \alpha _{t}={\frac {1}{2}}{\textrm {ln}}{\frac {1-\epsilon _{t}}{\epsilon _{t}}}} {\displaystyle \alpha _{t}={\frac {1}{2}}{\textrm {ln}}{\frac {1-\epsilon _{t}}{\epsilon _{t}}}}
  • On met ensuite à jour le poids des exemples : D t + 1 ( i ) = D t ( i ) e − α t y i h t ( x i ) Z t {\displaystyle D_{t+1}(i)={\frac {D_{t}(i)\,e^{-\alpha _{t}y_{i}h_{t}(x_{i})}}{Z_{t}}}} {\displaystyle D_{t+1}(i)={\frac {D_{t}(i)\,e^{-\alpha _{t}y_{i}h_{t}(x_{i})}}{Z_{t}}}} où Z t {\displaystyle Z_{t}} {\displaystyle Z_{t}}est le facteur de normalisation égal à 2 ϵ t ( 1 − ϵ t ) {\displaystyle 2{\sqrt {\epsilon _{t}(1-\epsilon _{t})}}} {\displaystyle 2{\sqrt {\epsilon _{t}(1-\epsilon _{t})}}}

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

H ( x ) = sign ( ∑ t = 1 T α t h t ( x ) ) {\displaystyle H(x)={\textrm {sign}}\left(\sum _{t=1}^{T}\alpha _{t}h_{t}(x)\right)} {\displaystyle H(x)={\textrm {sign}}\left(\sum _{t=1}^{T}\alpha _{t}h_{t}(x)\right)}

Variantes

[modifier | modifier le code]

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

[modifier | modifier le code]

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

[modifier | modifier le code]
  1. ↑ (Freund et Schapire 1997)
  2. ↑ Sanjeev Arora, Elad Hazan et Satyen Kale, « The Multiplicative Weights Update Method: a Meta Algorithm and Applications ».
  3. ↑ « The Multiplicative Weights Update method », sur Université de Washington.
  4. ↑ Page officielle du prix Gödel 2003

Bibliographie

[modifier | modifier le code]
  • (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,‎ 1997, p. 119-139 (lire en ligne)

Liens externes

[modifier | modifier le code]
  • Boosting.org, un site sur le boosting en général
  • A Short Introduction to Boosting Introduction à Adaboost par Freund et Schapire en 1999
  • icône décorative Portail de l'informatique théorique
  • icône décorative Portail des probabilités et de la statistique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=AdaBoost&oldid=225972971 ».
Catégories :
  • Algorithme de classification
  • Apprentissage automatique
Catégories cachées :
  • Portail:Informatique théorique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Mathématiques/Articles liés
  • Portail:Sciences/Articles liés
  • Portail:Probabilités et statistiques/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id