Algorithme d`AdaBoost

publicité
Master M2 – Parcours recherche
UPMC
Module MIAD
Algorithme d’AdaBoost
1.
ALGORITHME DE PERCEPTRON
L’apprentissage d’un modèle perceptron consiste à déterminer automatiquement ses
paramètres à partir d’une base étiquetée d’exemples d’apprentissage. L’algorithme est le
suivant (pour simplifier on considère que W est un vecteur ligne et que les x sont des vecteurs
colonnes) :
•
•
•
•
D=(xi,yi)i=1..N ensemble d’apprentissage, où yi=C(xi)
initialiser w, on note ce vecteur initial w(0)
t=0
à t, choisir aléatoirement un exemple x dans D, on le nomme xt
o si x(t) est correctement classé, i.e yt (w(t).xt)>0
alors w(t+1)=w(t)
o si x(t) est mal classé, i.e. yt (w(t).xt) < 0
alors w(t+1)=w(t)+ ε ytxt
t=t+1
• jusqu’à (critère d’arrêt satisfait).
Où ε est le pas de gradient, c’est une valeur positive non nulle, en général relativement faible
(par exemple 1/N). On utilise différents critères d’arrêts (plus d’erreur de classification depuis
un certain temps, t a atteint une valeur maximale, etc).
1.1
Faire tourner l’algorithme sur le problème du « ET » logique dans le cas où w(0)=
(w0=2 ;w1=2 ;w2=2), en itérant sur la base d’apprentissage (4 exemples), prendre ε = 1.
On se place dans le cas de classification bi-classe et on considère un ensemble
d’apprentissage {(xi, yi)}i∈{1,…,m}. On veut trouver l’hyperplan séparant les exemples avec
l’algorithme du perceptron1. On suppose pour cela que le problème est linéairement séparable
et qu’il existe donc une droite de vecteur directeur w* qui sépare les exemples. On initialise à
nul le vecteur poids du perceptron à l’itération 1, i.e. w(1)=0 et on considère que tous les
exemples sont à l’intérieur d’une boule de rayon R, i.e. ∀i, ||xi|| ≤ R.
Après t itérations, on va faire k corrections du vecteur poids (t ≥ k) i.e. w(k)=w(k-1)+xt.yt
1.2 Exprimer la distance entre le vecteur poids w(k) et w(1), ||w(k)-w(1)||², en fonction de w(k1), xt.yt et w(1)
1.3 En déduire que ||w(k)-w(1)||² ≤ k.R²
1
Ce théorème de convergence est de Novikoff, 1966.
Master M2 – Parcours recherche
UPMC
1.4 Exprimer le produit scalaire entre le vecteur poids w(k) et
Module MIAD
w*
w*
, <w(k),
>, en
w*
w*
w*
.
w*
fonction de w(k-1), xt.yt et

w*
w * 
1.5 On pose ρ = min  y i xi
> ≥ k.ρ.
 , montrer que <w(k),
i
w*
w * 

w*
> ≤ ||w(k) || ?
1.6 Dire pourquoi a-t-on <w(k),
w*
1.7 En déduire que ||w(k)||² ≥ k².ρ².
 R2 
et
qu’il
faut
donc
au
plus
 2
ρ2
ρ 
corrections au perceptron pour trouver la droite séparatrice. On note x  le plus petit entier
majorant x.
1.7 En déduire des questions 2.2 et 2.6 que k ≤
2.
R2
ADABOOST
Lisez les trois premières pages (jusqu’à Generalization Error non compris) de l’article joint :
• Robert E. Shapire. Theoritical Views of Boosting. EuroCOLT’99, 1999.
2.1 Décrire succinctement l’algorithme d’Adaboost tel qu’il est présenté dans l’article.
2.2 Quel rôle joue la distribution Dt ?
2.3 Comment est obtenue l’hypothèse finale H ?
2.4 La fonction f, correspond à la minimisation de quelle fonction objective ? Et quel est le
lien entre f et H ?
2.5 Quelle est la justification pour borner l’erreur empirique par la fonction exponentielle à
l’équation (2)? Représenter graphiquement les deux fonctions exponentielles et l’erreur de
classification.
2.6 Montrer que
1
∑ e − yi f ( xi ) =∑ D2 ( i )Z1 ∏ e − yiαt ht ( xi )
m i
i
t >1
Où Z t = ∑ Dt ( i )e −α t yi ht ( xi )
i
2.7 Par récursion, en déduire que
Master M2 – Parcours recherche
UPMC
Module MIAD
1
∑ e − yi f ( xi ) = ∏ Z t
m i
t
2.8 Dériver Zt par rapport à αt et dire pour quelle valeur de αt, Zt est-il maximum ?
2.9 En supposant que ε t = Pi ∼ Dt ( ht ( xi ) ≠ y i ) =
∑
Dt ( i )
i:ht ( xi )≠ yi
et pour l’expression des αt
trouvée en 2.8 montrer que
Z t = 2 ε t (1 − ε t )
2.10 Comment l’auteur conclut à partir de l’inégalité (A) (dans le papier) que l’erreur
empirique de mauvaise classification de f sur la base d’apprentissage décroit
exponentiellement vers 0 ?
2.11 Quel est l’intérêt de l’algorithme Adaboost mis en avant par l’auteur à ce stade du
papier ?
Téléchargement