perceptron & machines a noyaux` - lis lab
TRANSCRIPT
![Page 1: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/1.jpg)
Perceptron & Machines a noyauxClassification Avancee
REMI EYRAUD grandement epaule par CECILE CAPPONI,
LIS, Aix-Marseille Universite, CNRSEquipe QARMA
Master 2 TSI-IMOVI
![Page 2: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/2.jpg)
Plan
1 Introduction
2 k -plus proches voisin et Mesures de performance
3 Arbres de Decision
4 Classification non-supervisee
5 Perceptron et Machine a Noyau
6 Reseau de neurones
![Page 3: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/3.jpg)
Plan
1 Introduction
2 k -plus proches voisin et Mesures de performance
3 Arbres de Decision
4 Classification non-supervisee
5 Perceptron et Machine a NoyauPerceptronMachines a vecteur de support
6 Reseau de neurones
![Page 4: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/4.jpg)
Perceptron etMachine a Vecteurs de Support (SVM)
Presentation (tres) redevable aux membres de l’equipe QARMA du LIS, en particulier :
Thierry Artiere, Stephane Ayache, Cecile Capponi, Francois Denis,Hachem Kadri, Liva Ralaivola
![Page 5: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/5.jpg)
Perceptron
![Page 6: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/6.jpg)
Classification lineaire binaire
La methode de classification la plus simple et pourtant super efficace !
Donnees
Vecteurs de valeurs numeriques de dimension d (X ⊂ Rd ) avec en plusl’information a apprendre (classification supervisee) consistant en 2 classes(classification binaire) (Y = {−1,+1})
Classifieur lineaire
Un classifieur lineaire (ou perceptron) est une fonction de la forme
f (x) =
{+1 si 〈−→w ,
−→x 〉+ b ≥ 0−1 sinon.
ou- −→w = (w1, . . . ,wd ) est un vecteur (math : −→w ∈ Rd ),- b un nombre reel (math : b ∈ R)- la notation 〈−→w ,
−→x 〉 designe le produit scalaire entre w et x :si −→w = (w1, . . . ,wd ) et −→x = (x1, . . . , xd ),alors 〈−→w ,
−→x 〉 =∑d
i=1 wixi = x1w1 + x2w2 + . . .+ xd wd
![Page 7: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/7.jpg)
Classification lineaire binaire
Interpretation geometrique
〈−→w ,−→x 〉+ b = 0 est l’equation d’un hyperplan qui separe X en deux
demi-espaces correspondant aux deux classes.
Si d = 2 on retrouve l’equation d’une droite :〈−→w ,−→x 〉+ b = w1x1 + w2x2 + b = 0 donne x2 = −w1
w2x1 − b
w2
(a rapprocher de y = ax + b de vos cours de college...).Prenons −→w = (1, 2) et b = −1 :
f (−→x ) = f (x1, x2) =
{1 si x1 + 2x2 − 1 ≥ 0−1 sinon.
Par exemple, f (0, 0) = −1 et f (1, 1) = 1.
![Page 8: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/8.jpg)
Expressivite des perceptrons
Les classifieurs lineaires peuvent sembler a priori tres peu expressifs :pourquoi des donnees naturelles se repartiraient-elles de part etd’autres d’un hyperplan?
Cette intuition n’est pas forcement verifiee en tres grande dimension(cas de classification de videos, par exemple).
Cela suggere de plonger les donnees initiales dans un espace degrande dimension (teasing : on voit ca a la fin de la matinee).
A complex pattern-classification problem, cast in a high-dimensionalspace nonlinearly, is more likely to be linearly separable than in alow-dimensional space, provided that the space is not denselypopulated. (T.M. Cover, 1965)
![Page 9: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/9.jpg)
Donnees lineairement separables
Donnees lineairement separables
Un echantillon (en math : S = {(x1, y1), . . . , (xn, yn)} ⊂ (X × Y )n) estlineairement separable s’il existe un classifieur lineaire qui classecorrectement tous les exemples de S.
Lemme (separabilite stricte)
Si il existe un classifieur qui classe parfaitement les donneesd’apprentissage, alors ∃ un classifieur qui classe ces donnees sansqu’aucune ne soit sur la frontiere de decision, b + 〈−→w ,
−→x 〉 6= 0
Exemples :S = {((0, 0),−1), ((1, 0), 1), ((0, 1),−1)} est lineairement separable.
S = {((0, 0),−1), ((1, 0), 1), ((0, 1), 1), ((1, 1),−1)} n’est pas lineairementseparable (XOR).
![Page 10: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/10.jpg)
Perceptrons
Perceptrons (Rosenblatt 1958, Minsky/Papert 1969) : generalisation d’unmodele plus simple propose par (McCulloch/Pitts neurons, 1942)
Perceptron
Un perceptron avec un vecteur de ponderation −→w et un biais b effectue lecalcul suivant :
(x1, . . . , xd ) 7−→ y = sgn(b +d∑
i=1
(wixi )) = sgn(b + 〈−→w ,−→x 〉)
avec sgn(z) =
{+1 si z ≥ 0−1 si z < 0
Remarques :
Les isometries et les homotheties preservent la separabilite
il existe une infinite d’hyperplans separant des donnees separables...
![Page 11: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/11.jpg)
Perceptrons : interpretation geometrique
donnees −→x = (x1, . . . , xd )
−→ ∈ un espace de dimension d
points verifiants b + 〈−→w ,−→x 〉 = 0
−→ hyperplan defini par b et −→w
points verifiants b + 〈−→w ,−→x 〉 > 0
−→ points d’un cote de l’hyperplan
points verifiants b + 〈−→w ,−→x 〉 < 0
−→ points de l’autre cote de l’hyperplan
un perceptron divise l’espace desdonnees en deux demi-espaces−→ situes de part et d’autre del’hyperplan
![Page 12: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/12.jpg)
Algorithme d’apprentissage du perceptron
Les perceptrons peuvent etre automatiquement adaptes a des tachesd’apprentissage⇒ Apprentissage supervise : Classification
Algorithme d’apprentissage du perceptron
Donnees :• un ensemble de donnees S = {(x1, y1), . . . , (xn, yn)}, avec pour tout ix i = (x i
1, xi2, . . . , x
id ) ∈ Rd et y i ∈ {−1,+1}
• Si y i = +1 on dit que x i est un exemple positif. Inversement, si y i = −1 ondit que x i est un exemple negatif.Tache :• generer un perceptron qui retourne 1 pour tous les exemples de positifs et−1 pour les exemples negatifs.
Evidemment, il y a des cas dans lesquels l’algo d’apprentissage duperceptron n’est pas capable de resoudre le probleme de classification• exemple : (x i ,+1) ∈ S et (x j ,−1) ∈ S avec x i = x j
• donnees non lineairement separables−→ Il existe des solutions pour gerer cela (teasing : principalement les SVMa noyaux et les reseaux de neurones qu’on verra plus tard).
![Page 13: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/13.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉
![Page 14: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/14.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉
augmenter b
![Page 15: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/15.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉• augmenter b
augmenter b
![Page 16: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/16.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉• augmenter b
augmenter b
![Page 17: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/17.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi
modifier w
![Page 18: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/18.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi
modifier w
![Page 19: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/19.jpg)
Algorithme d’apprentissage du perceptron
Erreur sur un positif
Erreur de classification de (−→x ,+1) ∈ S
−→ b + 〈−→w ,−→x 〉 < 0
Comment peut-on modifier b et −→w pourremedier a cette erreur?−→ augmenter b + 〈−→w ,
−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi
Algorithme : ajouter −→x a −→w et 1 a b
Erreur sur un negatif
Proceder de maniere analogue pour les exemples negatifs (−→x ,−1)
![Page 20: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/20.jpg)
Algorithme d’apprentissage du perceptronPremiere version
Algorithme d’apprentissage du PerceptronEntree : S = {(x1, y1), . . . , (xn, yn)}, un echantillon Rd × {−1,+1}lineairement separablew =
−→0 ∈ Rd , b = 0
RepeterPour i = 1 a n
Si 〈w , x i〉+ b < 0 et y i = +1 alorsw = w + x i
b = b + 1Si 〈w , x i〉+ b ≥ 0 et y i = −1 alors
w = w − x i
b = b − 1FinPour
Jusqu’a ce qu’il n’y ait plus d’erreursSortie : (w , b)
![Page 21: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/21.jpg)
Algorithme d’apprentissage du perceptron : Convergence
Lemme :
Si l’algorithme du perceptron converge, alors le perceptron (b,−→w )obtenu classe parfaitement tous les exemples d’apprentissage.
Theoreme (Convergence)
S’il existe un perceptron qui classe correctement toutes les donneesd’apprentissage, alors l’algorithme du perceptron converge.
Lemme :
Si au cours de l’execution de l’algorithme du perceptron on rencontredeux fois le meme vecteur de ponderation, alors les donneesd’apprentissage utilisees ne sont pas lineairement separables.Lemme :
Si l’algorithme du perceptron avec un biais b = 0 est execute sur un jeude donnees non lineairement separable, alors le meme vecteur deponderation se produira au moins deux fois .
![Page 22: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/22.jpg)
Algorithme d’apprentissage du perceptron : Convergence
Lemme (Complexite) :Si les n donnees d’apprentissage sont lineairement separables, alors lenombre d’iterations maximal de l’algorithme du perceptron est egale a(n + 1)22(n+1) log(n+1)
temps d’execution : complexite exponentielle→ autres implementations - complexite O(n
72 ) -
![Page 23: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/23.jpg)
Algorithme d’apprentissage du Perceptron : donnees completees
Pour simplifier les calculs, on utilise souvent (toujours !) un trickmathematique pour ne pas traıner tout le temps le scalaire b.
Idee
Rajouter une dimension : si nos donnees sont de dimension d , donc dansRd , on va faire comme si elles etaient dans Rd+1 et qu’elles avaient toutes 1en derniere coordonnee.
Du coup, on considere que w est aussi de dimension d + 1 et la dernierecoordonnees de w est b.Mathematiquement :
f (x) = signe(b+ < w , x >) = sgn(b +d∑
i=1
wixi )
= sgn(+b · 1 +d∑
i=1
wixi )
= sgn(d+1∑i=1
wixi ) avec wd+1 = b et xd+1 = 1
= sgn(< (w1, . . . ,wd , b), (x1, . . . , xd , 1) >)
On dit que les donnees sont completees si elles sont dans Rd+1
![Page 24: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/24.jpg)
Algorithme d’apprentissage du Perceptronn
Soit S ⊂ Rd+1 × {−1,+1} un echantillon lineairement separable.
Soit w le classifieur lineaire courant.
Si (x ,+1) ∈ S est mal classe, 〈w , x〉 < 0 et il faudrait augmenter 〈w , x〉si (x ,−1) ∈ S est mal classe, 〈w , x〉 ≥ 0 et il faudrait diminuer 〈w , x〉
IdeePrendre wnew = w + x · yPour y = +1, on a〈wnew , x〉 = 〈w + x · (+1), x〉 = 〈w , x〉+ 〈x , x〉 = 〈w , x〉+ ||x ||2Pour y = −1, on a〈wnew , x〉 = 〈w + x · (−1), x〉 = 〈w , x〉 − 〈x , x〉 = 〈w , x〉 − ||x ||2
![Page 25: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/25.jpg)
Algorithme d’apprentissage du PerceptronPremiere version amelioree
Algorithme d’apprentissage du PerceptronEntree : S = {(x1, y1), . . . , (xn, yn)}, un echantillon Rd+1×{−1,+1}complete et lineairement separablew =
−→0 ∈ Rd+1
RepeterPour i = 1 a n
Si y i〈w , x i〉 ≤ 0 alorsw = w+y ix i
FinPourJusqu’a ce qu’il n’y ait plus d’erreursSortie : w
![Page 26: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/26.jpg)
Proprietes
L’algorithme du Perceptron est une procedure on-line, par correctiond’erreurs (error-driven).
L’algorithme est correct : lorsqu’il converge, l’hyperplan retourne separeles donnees fournies en entree
L’algorithme est complet : si S est lineairement separable, l’algorithmeconverge.
Dans le pire des cas, le nombre d’iterations est egal a(n + 1)22(n+1) log(n+1). Complexite exponentielle !
En pratique, on se limite souvent a un nombre d’iterations fixe paravance.
Tres mauvaise tolerance au bruit...
![Page 27: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/27.jpg)
Forme duale de l’algorithme du perceptron
Remarque
L’hypothese finale (=le w en sortie) est une combinaison lineaire desexemples d’apprentissage.
w =n∑
i=1
αiy ix i
Les nombres αi sont positifs ou nuls, et sont egaux au nombre de fois ouune mauvaise classification de x i a entraıne une mise a jour duperceptron. Ils peuvent etre vus comme une representation duale de lasolution :
f (x) = sgn(〈w , x〉) = sgn
(〈
n∑i=1
αiy ix i , x〉
)= sgn
(n∑
i=1
αiy i〈x i , x〉
).
![Page 28: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/28.jpg)
Forme duale de l’algorithme du perceptron
entree : S = {(x1, y1), . . . , (xn, yn)}, un echantillon completelineairement separableα =−→0 ∈ Rn
repeterPour i = 1 a n
Si y i (∑n
j=1 αjy j〈x j , x i〉)≤ 0 alorsαi = αi + 1
FinSiFinPour
Jusqu’a ce qu’il n’y ait plus d’erreursSortie : α
![Page 29: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/29.jpg)
Proprietes de l’algorithme dual
Independance de la dimension
Dans la version duale, le nombre de parametres de la solution ne dependpas de la dimension de l’espace dans lequel les x i sont plonges,
La forme duale est donc tres interessante pour des donnees de grandedimension (mais inutile pour des donnees de faible dimension en tres grandnombre)
Matrice de Gram
Remarque : les exemples d’apprentissage ne sont pris en compte parl’algorithme que par l’intermediaire de leurs produits scalaires 〈x i , x j〉On appelle Matrice de Gram la matrice G = (〈x i , x j〉)1≤i,j≤n : elle suffit atrouver une solution.
La matrice de Gram peut-etre calculee une seule fois avant de commencerl’apprentissage.
![Page 30: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/30.jpg)
Extensions
1 Separateurs lineaires optimaux - Machines a Vecteurs Supports ouSeparateurs a vaste Marge (SVM)
2 Methodes a noyaux
3 Plongements non lineaires
4 Perceptrons lineaires avec couches cachees
5 Perceptrons non lineaires (avec couches cachees)
![Page 31: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/31.jpg)
Machines a Vecteurs de Support
![Page 32: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/32.jpg)
Entre ces deux solutions, laquelle est la meilleure?
![Page 33: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/33.jpg)
La notion de marge
La distance d’un point M ∈ Rd a un hyperplan h defini par le vecteur w et lescalaire b tel que 〈w , x〉+ b = 0 est donnee par :
d(M, h) =|〈w ,M〉+ b|||w ||
Dans ce cas, la distance d’un exemple (x , y) a un hyperplan separateur estegal a
y(〈w , x〉+ b)
||w ||.
![Page 34: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/34.jpg)
Complexite de l’algorithme et marge
Theoreme de Novikoff
Soit S = {(x1, y1), . . . , (xn, yn)} un echantillon d’apprentissage. Supposonsque
∀i , ||x i || ≤ 1 et
∃w , γ > 0 tels que ∀i , y i (〈w , x i〉) ≥ γ.
Alors, le nombre d’erreurs (y i (〈wk , x i〉) ≤ 0) commises pendant l’executionde l’algorithme est au plus egal a (2/γ)2.
Remarques :γ est une borne inferieure de la marge du probleme
Quelles que soient les donnees, on peut toujours se ramener au moyend’une homothetie-translation au cas ou Max ||x i || = 1.
![Page 35: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/35.jpg)
Complexite de l’algorithme et marge (suite)
S = {((0, 0),−1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)}.
Au moyen d’une translation de vecteur (−1/2,−1/2) suivie d’une homothetiede rapport
√2, on obtient l’echantillon equivalent
S = {((−√
22 ,−
√2
2 ),−1), ((−√
22 ,√
22 ), 1), ((
√2
2 ,−√
22 ), 1), ((
√2
2 ,√
22 ), 1)}.
On a bien Max ||x i || = 1. On verifie que la marge du probleme est egale a 1/2.
Le theoreme predit que le nombre de corrections de l’algorithme est inferieurou egal a 16.
![Page 36: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/36.jpg)
Retour sur la notion de marge
Soit S un echantillon lineairement separable et soit h un hyperplanseparateur, d’equation 〈w , x〉+ b = 0.On peut modifier lineairement w et b tel que le point M le plus proche de hsatisfasse :
f (xM ) = 〈w , xM〉+ b =
{1 si M est positif−1 sinon. .
Dans ce cas,
La marge de h est egale a 1/||w || et
tous les points de S verifient yf (x) ≥ 1.
![Page 37: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/37.jpg)
Calcul de la marge (exemple)
Soit S = {((0, 1),+), ((2, 0),−)}.La droite d’equation f (x1, x2) = −x + x2 − 1/2 = 0 separe S.
On a f (0, 1) = 1/2 et f (2, 0) = −5/2.
On normalise l’equation en la multipliant par 2 : −2x1 + 2x2 − 1 = 0.
w = (−2, 2), ||w || =√
8 = 2√
2
et la marge est egale a 12√
2=√
24 .
![Page 38: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/38.jpg)
Separateurs lineaires optimaux
Soit S = {(x1, y1), . . . , (xn, yn)}, x i ∈ Rd+1 et y i ∈ {−1,+1} un echantillonlineairement separable.Parmi l’infinite de separateurs lineaires, on cherche celui qui maximise lamarge.La marge d’un separateur definit par un vecteur w etant 1
||w|| , on cherche lew tel que ||w || est minimal (et qui separe correctement les donnees).
Perceptron a vaste marge
Le perceptron a vaste marge est formule par le probleme d’optimisationquadratique convexe suivant :
Minimiser ||w ||2
sous les contraintes
y i〈w , x i〉 ≥ 1 pour tout i = 1 . . . n
![Page 39: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/39.jpg)
Separateurs lineaires optimaux
Soit S = {((0, 0),−1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)}. On aScomplet = {((0, 0, 1),−1), ((0, 1, 1), 1), ((1, 0, 1), 1), ((1, 1, 1), 1)}.
Le probleme est donc de trouver w = (w1,w2, b) tel que :
Minimiser w21 + w2
2 + b2
sous les contraintes
−b ≥ 1,w2 + b ≥ 1,w1 + b ≥ 1,w1 + w2 + b ≥ 1
La seule solution est w1 = w2 = 2 et b = −1.
![Page 40: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/40.jpg)
Hyperplan optimal
Soit S = {(x1, y1), . . . , (xn, yn)} ⊂ Rd × {−1,+1} un echantillon lineairementseparable.
SVM : Separateur a Vaste Marge - Support Vector Machines
Il existe un unique hyperplan separateur de marge maximale qui est solutiondu probleme d’optimisation suivant :
f (x) = 〈w , x〉+ by i f (x i ) ≥ 1 pour tout i = 1 . . . nMinimiser ||w ||2.
Optimisation quadratique sous contraintes lineaires (convexes)
![Page 41: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/41.jpg)
Hyperplan optimal (exemple)
Soit S = {((4, 3), 1), ((0, 2), 1), ((0, 0),−1)}.Le probleme d’optimisation a resoudre est :
Minimiser w21 + w2
2 sous les contraintes
4w1 + 3w2 + b ≥ 1, 2w2 + b ≥ 1,−b ≥ 1.
Les deux dernieres equations impliquent w2 ≥ 1 et donc w21 + w2
2 ≥ 1.On en deduit la solution optimale : w1 = 0,w2 = 1, b = −1.
Equation de l’hyperplan optimal : x2 = 1
![Page 42: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/42.jpg)
Hyperplan optimal (cas general)
Probleme initial
Minimiser||w ||2
sous les contraintes
y i (〈w , x i〉+ b) ≥ 1 pour tout (x i , y i ) ∈ S
Theorie de l’optimisation : reformulation du probleme via le Lagrangien
Lagrangien (ou fonction de Lagrange)
L(w , b, α) =12
w2 −n∑
i=1
αi [y i (〈w , x i〉+ b)− 1]
ou αi ≥ 0 (multiplicateurs de Lagrange)
![Page 43: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/43.jpg)
Hyperplan optimal (cas general)
L(w , b, α) =12
w2 −n∑
i=1
αi [y i (〈w , x i〉+ b)− 1]
La solution (unique grace a la convexite) (w∗, b∗, α∗) est un point selle duLagrangien :
L(w , b, α∗) minimal en (w∗, b∗) ; L(w∗, b∗, α) maximal en α∗.
![Page 44: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/44.jpg)
Hyperplan optimal (cas general)
On a : ∇w L(w , b, α) = w −
∑ni=1 αiy ix i
∂L(w , b, α)
∂b=∑n
i=1 αiy i
Ce qui donne les condition d’optimalite :∇w L(w , b, α) = 0⇒ w =
∑ni=1 αiy ix i
∂L(w , b, α)
∂b= 0⇒
∑ni=1 αiy i = 0
![Page 45: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/45.jpg)
Hyperplans optimaux : probleme dual
Si l’on remplace w par∑n
i=1 αiy ix i dans le Lagrangien
L(w , b, α) =12
w2 −n∑
i=1
αi [y i (〈w , x i〉+ b)− 1]
On a
L(α) =12
n∑i=1
n∑j=1
αjαiy iy j〈x j , x i〉−n∑
i=1
αiy in∑
j=1
αjy j〈x j , x i〉−bn∑
i=1
αiy i +n∑
i=1
αi
Formulation finale du probleme
L(α) =n∑
i=1
αi −12
n∑i,j=1
y iy jαiαj〈x i , x j〉
qu’on doit maximiser sous les contraintes∑n
i=1 αiy i = 0 et αi ≥ 0.
Seuls les produits scalaires 〈xi , xj〉 sont necessaires pour trouverl’hyperplan optimal.Retrouver w∗ a partir des α∗i : w∗ =
∑ni=1 α
∗i y ix i
Calcul de b∗ a partir d’un vecteur support : 〈w∗, x i〉+ b∗ = y i .
![Page 46: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/46.jpg)
Hyperplan optimal : proprietes
Vecteur de support
On appelle vecteur support toute donnee x i telle que α∗i 6= 0.
Soit SV l’ensemble des vecteurs supports de S.Proprietes
Si x i ∈ SV , 〈w∗, x i〉+ b∗ = y i
Si x i 6∈ SV , la contrainte correspondante n’est pas active,
Les problemes d’optimisation associes a S et a SV ont la memesolution.∑n
i=1 α∗i y i = 0
w∗ =∑n
i=1 α∗i y ix i
La solution s’exprime en fonction des vecteurs supports
![Page 47: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/47.jpg)
Probleme dual (exemple)
Soit S = {((4, 3), 1), ((0, 2), 1), ((0, 0),−1)}.
L(α) =n∑
i=1
αi −12
n∑i,j=1
yiyjαiαj〈xi , xj〉
= α1 + α2 + α3 −12
(25α21 + 4α2
2 + 12α1α2)
qu’on doit maximiser sous les contraintes
α1 + α2 − α3 = 0 et αi ≥ 0 pour i = 1, 2, 3.
![Page 48: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/48.jpg)
Exemple
Soit S = {((4, 3), 1), ((0, 2), 1), ((0, 0),−1)}. On a trouve
w∗ = (0, 1) et b∗ = −1.
Si l’on pose∑n
i=1 α∗i y i = 0 et w∗ =
∑ni=1 α
∗i y ix i , on trouve
α1 + α2 − α3 = 04α1 = 0
3α1 + 2α2 = 1
On trouveα1 = 0, α2 = 1/2 et α3 = 1/2
Les vecteurs supports sont la deuxieme et la troisieme donnees.
![Page 49: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/49.jpg)
Et lorsque les donnees ne sont pas separables?
Trouver le classifieur lineaire qui minimise le nombre d’erreurs est unprobleme NP-difficile.
L’algorithme du Perceptron (a vaste marge) oscille, changeantd’hypotheses a chaque presentation d’un contre-exemple sans sestabiliser sur une solution interessante.
Idee 1
Se soucier davantage de la confiance avec laquelle la plupart des exemplessont correctement classes plutot que du nombre d’exemples mal classes.→ maximiser la marge d’un separateur lineaire en tolerant un nombre limited’exceptions : notion de marge souple (soft margin).
Idee 2
Plonger les donnees dans un espace de plus grande dimension ou ellesdeviendraient lineairement separables.
![Page 50: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/50.jpg)
Plongements non lineaires
Changement de dimension sans ajout d’information : (x , y)→ (x , y , xy)
hyperplan separateur en dimension 3 d’equation −x − y + 2z + 1/3 = 0ce qui donne le separateur (non-lineaire) dans la dimension initiale−x − y + 2xy + 1/3 = 0.
![Page 51: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/51.jpg)
Comment realiser un plongement des donnees?
Pour tout algorithme d’apprentissage ne faisant intervenir que le produitscalaire des donnees
perceptron, SVM, etc. (avec marges dures ou souples)
il suffit de connaıtre la matrice de Gram G = (〈x i , x j〉)1≤i,j≤n pour construirele classifieur lineaire correspondant :
f : x 7→ signe(n∑
i=1
αiy i〈x , x i〉).
fonction de plongement
Soit Φ : X → Y une fonction de plongement dans un espace Y avec produitscalaire. On obtiendra un classifieur lineaire (dans l’espace de plongement)defini par :
f : x 7→ signe(n∑
i=1
αiy i〈Φ(x),Φ(x i )〉).
![Page 52: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/52.jpg)
Kernel trick
On appelle noyau toute fonction k : X × X → R qui peut etre interpreteecomme un produit scalaire dans un plongement Φ :
k(x , x ′) = 〈Φ(x),Φ(x ′)〉
On peut appliquer les algorithmes du perceptron et de separation optimaleavec marges en remplacant
〈x i , x j〉 par k(x i , x j ).
kernel trick
On obtient alors un classifieur
f : x 7→ signe(n∑
i=1
αiy ik(x , x i ))
lineaire dans l’espace de plongement (avec toutes les garanties associees)et non lineaire dans l’espace initial sans avoir a realiser le plongement !
![Page 53: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/53.jpg)
Perceptron a noyau
entree : S = {(x1, y1), . . . , (xn, yn)}, un echantillon completelineairement separableα =−→0 ∈ Rn
repeterPour i = 1 a n
Si y i (∑n
j=1 αjy jk(x j , x i )) ≤ 0 alorsαi = αi + 1FinSi
FinPourJusqu’a ce qu’il n’y ait plus d’erreursSortie : x 7→ signe(
∑i αiy ik(x , x i ))
![Page 54: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/54.jpg)
Exemples de noyaux
Noyau polynomial homogene
X = Rd , k(x , x ′) =(∑d
i=1 xix ′i)p
Noyau polynomial
X = Rd , k(x , x ′) = (〈x , x ′〉) + c)p =(∑d
i=1 xix ′i + c)p
Ou p et c sont les parametres du noyau.
Noyau gaussien
k(x , x ′) = exp(− ||x−x′||2
2σ2
)Ou σ est le parametre du noyau.
La dimension de l’espace de plongement est finie pour les noyauxpolynomiaux et infini (espace de Hilbert) pour le noyau gaussien . . . mais leplongement est virtuel.
![Page 55: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/55.jpg)
Caracterisation des noyaux
Noyau
Une fonction k : X × X → R est un noyau ssi pour tout m-uplet x1, . . . , xn
d’elements de X , la matrice de Gram k(x i , x j )1≤i,j≤n est definie positive,c’est-a-dire que pour tous reels c1, . . . , cn,∑
i,j
cicjk(x i , x j ) ≥ 0.
A retenir : on sait (theoriquement) caracteriser les fonctions noyaux etdeterminer un plongement correspondant.
![Page 56: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/56.jpg)
The US Postal Service (USPS) database.
9298 chiffres manuscrits (7291 pour apprendre, 2007 pour tester)provenant d’enveloppes postees ou recues a Buffalo ;
Chaque chiffre est une image 16× 16 represente par un vecteur de[−1, 1]256 ;
Le jeu de tests est difficile : 2, 5% d’erreur en moyenne pour un humain ;
Donnees disponibles a
http ://www.kernel-machines.org.data.html.
![Page 57: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/57.jpg)
Resultats (1) (Scholkopf, Smola)
Classification par SVMs sur les donnees USPS.Noyau polynomial : k(x , x ′) = (〈x , y〉/256)p.Construction de 10 classifieurs (methode un contre tous).
d 1 2 3 4 5 6 7erreur % 8,9 4,7 4,0 4,2 4,5 4,5 4,7Nb. moyen de VSs 282 237 274 321 374 422 491
![Page 58: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/58.jpg)
Resultats (2) (Scholkopf, Smola)
Classification par SVMs sur les donnees USPS.Noyau gaussien : k(x , x ′) = exp(−||x − y ||2/(256/σ)).Construction de 10 classifieurs (methode un contre tous).
c 4,0 2,0 1,2 0,8 0,5 0,2 0,1erreur % 5,3 5,0 4,9 4,3 4,4 4,4 4,5Nb. moyen de VSs 266 240 233 235 251 366 722
![Page 59: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/59.jpg)
Comparaison des resultats (Scholkopf, Smola)
Classifieur Ens. d’App. Erreur sur ens. testDecision tree, C4.5 USPS 16,2Linear SVM USPS 8,9Hard margin SVM USPS 4,6soft margin SVM USPS 4,0Virtual SVM USPS 3,2Virtual SV, local kernel USPS 3,0Nearest neighbor USPS+ 5,9Deep neural net USPS+ 2,6Human performance USPS 2,5
USPS+ : USPS + un ensemble de chiffres imprimes.
![Page 60: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/60.jpg)
402 points generes a partir de 2 paraboles paralleles avec bruit gaussien.
![Page 61: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/61.jpg)
Separateur lineaire optimal avec marges souples : 104 vecteurs supports.
![Page 62: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/62.jpg)
Noyau quadratique : 38 vecteurs supports.
![Page 63: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/63.jpg)
Noyau polynomial de degre 3 : 35 vecteurs supports.
![Page 64: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/64.jpg)
Noyau Gaussien, σ = 1 : 62 vecteurs supports.
![Page 65: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/65.jpg)
Noyau Gaussien, σ = 0.5 : 64 vecteurs supports.
![Page 66: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/66.jpg)
Noyau Gaussien, σ = 0.1 : 321 vecteurs supports.
![Page 67: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/67.jpg)
Noyau Gaussien, σ = 0.05 : 390 vecteurs supports.
![Page 68: Perceptron & Machines a noyaux` - LIS lab](https://reader034.vdocuments.us/reader034/viewer/2022050306/626f4a7fcfd7d63f89297801/html5/thumbnails/68.jpg)
La Suite
Perceptron : tres fecond !
En plus des SVM a noyau, l’algorithme du perceptron a donne naissance aun autre type d’approche : les reseaux de neurones artificiels !