« AdaBoost » : différence entre les versions

Contenu supprimé Contenu ajouté
Dolfinsbizou (discuter | contributions)
m Bibliographie : Typo
Erreipierre (discuter | contributions)
m Reformulation
Ligne 9 :
 
== Description ==
Soit un ensemble d'apprentissageobservations. annotéNotons les : <math>(x_{1},y_{1}),\ldots,(x_{m},y_{m})</math> où <math>x_{i} \in X,</math> sont les exemplescaractéristiques de l'individu <math>i</math>et <math>\, y_{i} \in Y = \{-1, +1\}</math> lesla variables à annotationsprédire.
 
On initialise lale distributionpoids desassociés exemplesà par<math>i</math>, <math>D_{t}(i) = \frac{1}{m}, i=1,\ldots,m.</math>
 
Pour <math>t = 1,\ldots,T</math> :
 
* Trouver le classifieurla fonction<math>h_{t} : X \to \{-1,+1\}</math> qui minimise l'erreur de classification <math>\epsilon_{t}</math> en fonction de la difficulté des exemplespoids <math>D_{t}</math>. C'est à dire <math>h_t</math>qui vérifie le programme de minimisation suivant :
 
<math>\epsilon_{t} = \sum_{i=1}^{m} D_{t}(i)[y_i \ne h(x_{i})]</math>
et
<math>h_{t} = \arg \min_{h \in \mathcal{H}} \sum_{i=1}^{m} D_{t}(i)[y_i \ne h(x_{i})]</math>
 
<math>\epsilon_{t} = \sum_{i=1}^{m} D_{t}(i)[y_i \ne h(x_{i})]</math>
* Si <math>\epsilon_{min,t} < 0.5</math> le classifieur est sélectionné, sinon l'algorithme s'arrête
est l'erreur du modèle.
* On choisit alors le poids du classifieur : <math>\alpha_{t} \in \mathbf{R}</math>, avec <math>\alpha_{t}=\frac{1}{2}\textrm{ln}\frac{1-\epsilon_{t}}{\epsilon_{t}}</math>
 
* On met ensuite à jour la pondération des exemples d'apprentissage
* Si <math>\epsilon_{min,t} < 0.5</math> le classifieurla fonction est sélectionné, sinon l'algorithme s'arrête
* On choisitcalcul alors le poidspas du classifieur gradient: <math>\alpha_{t} \in \mathbf{R}</math>, avec <math>\alpha_{t}=\frac{1}{2}\textrm{ln}\frac{1-\epsilon_{t}}{\epsilon_{t}}</math>
* On met ensuite à jour lale pondérationpoids des exemples d'apprentissage:
 
<math>D_{t+1}(i) = \frac{ D_{t}(i) \, e^{- \alpha_{t} y_{i} h_{t}(x_{i})} }{ Z_{t} }</math><br />
avec <math>Z_{t}</math> un facteur de normalisation égal à <math> 2 \sqrt{\epsilon_{t} (1-\epsilon_{t}) } </math>
 
Le classifieur résultant du processus de sélection est :
 
LeQuand l'algorithme s'arrête à l'itération <math>M</math>, le classifieur résultant du processus de sélection est :
<math>H(x) = \textrm{sign}\left( \sum_{t=1}^{T} \alpha_{t}h_{t}(x)\right)</math>
 
<math>H(x) = \textrm{sign}\left( \sum_{t=1}^{TM} \alpha_{t}h_{t}(x)\right)</math>
 
== Variantes ==