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 ?