Top Banner
Classification, Apprentissage, Décision Classication, Apprentissage, Décision Chapitre cinquième : Perceptron Stéphane Ayache, Cécile Capponi, François Denis, Rémi Eyraud, Hachem Kadri, Liva Ralaivola Master 2 IS-IN
76

Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Mar 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Classication, Apprentissage, Décision

Chapitre cinquième : Perceptron

Stéphane Ayache, Cécile Capponi, François Denis, Rémi Eyraud,Hachem Kadri, Liva Ralaivola

Master 2 IS-IN

Page 2: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Plan du cours

Introduction

Arbre de décision & k-ppv

Théorie de l’apprentissage

Clustering

Perceptron

Machines à vecteur de support

Page 3: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Plan

Introduction

Arbre de décision & k-ppv

Théorie de l’apprentissage

Clustering

Perceptron

Machines à vecteur de support

Page 4: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Classification linéaire binaire

X ⊂ Rd , Y = {−1,+1}

Définition. Un classifieur linéaire est une fonction de la forme

f (x) =

{+1 si 〈w , x〉+ b ≥ 0−1 sinon.

où w ∈ Rd , b ∈ R, 〈w , x〉 désigne le produit scalaire entre w et x : siw = (w1, . . . ,wn) et x = (x1, . . . , xn), 〈w , x〉 =

∑di=1 wixi .

Interprétation géométrique : 〈w , x〉+ b = 0 est l’équation d’un hyperplanqui sépare X en deux demi-espaces correspondant aux deux classes.

Page 5: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Un exemple

X = R2

Classifieur linéaire f défini par w = (1, 2) et b = −1 :

f (x1, x2) =

{1 si x1 + 2x2 − 1 ≥ 0−1 sinon.

Par exemple, f (0, 0) = −1 et f (1, 1) = 1.Hyperplan d’équation x1 + 2x2 − 1 = 0 (c-à-d x2 = − 1

2 x1 + 12 )

Page 6: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Expressivité des perceptrons

I Les classifieurs linéaires peuvent sembler a priori très peu expressifs :pourquoi des données naturelles se répartiraient-elles de part etd’autres d’un hyperplan?

I Cette intuition n’est pas forcément vérifiée en très grande dimension(cas de classification de vidéos, par exemple).

I Cela suggère de plonger les données initiales dans un espace degrande dimension (voir chapitre suivant).

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 7: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Données linéairement séparables

Un échantillon S = {(x1, y1), . . . , (xn, yn)} ⊂ (X × Y )n est linéairementséparable s’il existe un classifieur linéaire qui classe correctement tous lesexemples de S.

Exemples :S = {((0, 0),−1), ((1, 0), 1), ((0, 1),−1)} est linéairement séparable.

S = {((0, 0),−1), ((1, 0), 1), ((0, 1), 1), ((1, 1),−1)} n’est pas linéairementséparable (XOR).

Page 8: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptrons

I Perceptrons (Rosenblatt 1958, Minsky/Papert 1969) : généralisation d’unmodèle plus simple proposé par (McCulloch/Pitts neurons, 1942)

I un perceptron à d entrées est décrit par un vecteur de pondération−→w = (w1, . . . ,wd )> ∈ Rd , un seuil θ ∈ R et permet de calculer lafonction suivante :

(x1, . . . , xd ) 7−→ y =

{+1 if x1w1 + x2w2 + . . .+ xd wd ≥ θ−1 if x1w1 + x2w2 + . . .+ xd wd < θ

Page 9: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptrons

I pour plus de commodité : remplacer le seuil par un poidssupplémentaire (biais) b = −θ

I un perceptron avec un vecteur de pondération −→w et un biais b effectuele calcul suivant :

(x1, . . . , xd ) 7−→ y = f (b +d∑

i=1

(wixi )) = f (b + 〈−→w ,−→x 〉)

avec f (z) =

{+1 if z ≥ 0−1 if z < 0

Page 10: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptrons : Remarques

I Les isométries et les homothéties preservent la séparabilitéI En rajoutant une dimension, on peut ne plus avoir besoin du biais :

ajouter une coordonnée xd+1 égale à 1 pour toutes les données et poserb = wd+1

I il existe une infinité d’hyperplans séparant des données séparables...

Page 11: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptrons : interprétation géométrique

I données (x1, . . . , xn)

−→ ∈ un espace de dimension d

I points vérifiants b + 〈−→w ,−→x 〉 = 0

−→ hyperplan défini par b et −→w

I points vérifiants b + 〈−→w ,−→x 〉 > 0

−→ points d’un coté de l’hyperplan

I points vérifiants b + 〈−→w ,−→x 〉 < 0

−→ points de l’autre coté de l’hyperplan

I un perceptron divise l’espace desdonnées en deux demi-espaces−→ situés de part et d’autre del’hyperplan

Page 12: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

algorithme d’apprentissage du perceptron

I les perceptrons peuvent être automatiquement adaptés à des tachesd’apprentissage⇒ Apprentissage supervisé : Classification

I algorithme d’apprentissage du perceptron :données :• un ensemble de données P ⊆ Rd : exemples positifs• un autre ensemble N ⊆ Rd : exemples négatifstache :• générer un perceptron qui retourne 1 pour tous les exemples de P et−1 pour les exemples de N

I évidemment, il y a des cas dans lesquels l’algo d’apprentissage duperceptron n’est pas capable de résoudre le problème de classification−→ exemple : P

⋂N 6= ∅

−→ données non linéairement séparables−→ solution potentielle : transférer les données dans un autre espacedans lequel les données sont linéairement séparables (plus de détaildans le chapitre suivant)

Page 13: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

algorithme d’apprentissage du perceptron

I Lemme (séparabilité stricte) :Si ∃ un perceptron qui classe parfaitement les données d’apprentissage,alors ∃ un perceptron qui classe ces données sans qu’aucune ne soitsur la frontière de décision, b + 〈−→w ,

−→x 〉 6= 0Preuve :Soit (b,−→w ) un perceptron qui classe parfaitement toutes les donnéesd’apprentissage. D’où

b + 〈−→w ,−→x 〉

{≥ 0 ∀ −→x ∈ P

< 0 ∀ −→x ∈ N

Soit ε = min{−(b + 〈−→w ,−→x 〉)|−→x ∈ N}. Alors :

b +ε

2+ 〈−→w ,

−→x 〉

≥ ε

2> 0 ∀ −→x ∈ P

≤ − ε2< 0 ∀ −→x ∈ N

Ainsi le perceptron (b +ε

2,−→w ) prouve le lemme.

Page 14: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

Page 15: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w0

Page 16: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w0

Page 17: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w0

Page 18: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

Page 19: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w

Page 20: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w

Page 21: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I Erreur de classification de −→x ∈ P−→ b + 〈−→w ,

−→x 〉 < 0

I Comment peut-on modifier b et −→w pourremédier à cette erreur−→ augmenter b + 〈−→w ,

−→x 〉• augmenter b• Si xi > 0 augmenter wi• Si xi < 0 diminuer wi

I Algorithme : ajouter −→x à −→w et 1 à b−→ Procéder par analogie pour lesexemples négatifs −→x ∈ N

augmenter w

Page 22: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

Entrées : données d’apprentissage positives P et négatives NRetourne : un perceptron, si existe, qui classe parfaitement toutes lesdonnées d’apprentissage

1. initialiser arbitrairement le vecteur de pondération −→w et le biais b

2. Tant que il existe une donnée mal-classée −→x ∈ P⋃N faire

3. Si −→x ∈ P alors4. −→w ← −→w +

−→x5. b = b + 1

6. Sinon7. −→w ← −→w −−→x8. b = b − 1

9. Fin si10. Fin tant que11. Retourner b et −→w

Page 23: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron : Exemple

N = {(1,0)>, (1,1)>},P = {(0,1)>}

−→ exercice

Page 24: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron : Convergence

I Lemme :

Si l’algorithme du perceptron converge, alors le perceptron (b,−→w )obtenu classe parfaitement tous les exemples d’apprentissage.

I Théorème (Convergence) :

Si ∃ un perceptron qui classe correctement toutes les donnéesd’apprentissage, alors l’algorithme du perceptron converge.

I Lemme :

Si au cours de l’exécution de l’algorithme du perceptron on rencontredeux fois le même vecteur de pondération, alors les donnéesd’apprentissage utilisées ne sont pas linéairement séparables.

I Lemme :

Si l’algorithme du perceptron avec un biais b = 0 est exécuté sur un jeude données non linéairement séparable, alors le même vecteur depondération se produira au moins deux fois .

Page 25: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron : Convergence

I Lemme (Complexité) :Si les données d’apprentissage sont linéairement séparables, alors lenombre d’itérations maximal de l’algorithme du perceptron est égale à(n + 1)22(n+1) log(n+1)

I temps d’exécution : complexité exponentielle→ autres implémentations - complexité O(n

72 ) -

Page 26: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du perceptron

I comment peut-on déterminer un “bon" perceptron si la tâched’apprentissage ne peut pas être résolu parfaitement

I “bon" dans le sens d’un perceptron avec un nombre d’erreurs minimal

I l’algorithme du perceptron : le nombre d’erreurs ne décroit pas de façonmonotone durant la phase d’apprentissage

I idée : mémoriser le meilleur vecteur de pondération rencontré au coursde l’exécution

I les perceptrons peuvent apprendre que des problèmes linéairementséparables

I contre-exemple : XOR(x1, x2)P = {(0, 1)>, (1, 0)>}, N = {(0, 0)>, (1, 1)>}

I un réseau de neurone associant plusieurs perceptrons est plus puissant

Page 27: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du Perceptron (Rosenblatt, 1958)

Soit S = SP ∪ SN ⊂ Rd+1 × {−1, 1} un échantillon linéairement séparable.

Soit w le classifieur linéaire courant.

I Si (x , y) ∈ SP est mal classé, 〈w , x〉 < 0 et il faudrait augmenter 〈w , x〉,I si (x , y) ∈ SN est mal classé, 〈w , x〉 ≥ 0 et il faudrait diminuer 〈w , x〉,

Idée : prendre wnew = w + xy .Dans le premier cas, on a 〈wnew , x〉 = 〈w , x〉+ ||x ||2 ; dans le second cas, ona 〈wnew , x〉 = 〈w , x〉 − ||x ||2.

Page 28: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Algorithme d’apprentissage du Perceptron

Algorithme d’apprentissage du PerceptronEntrée : S = {(x1, y1), . . . , (xn, yn)}, un échantillon complétélinéairement séparable de Rd+1 × {−1, 1}w0 = 0 ∈ Rd+1, k = 0Répéter

Pour i = 1 à nSi yi〈wk , xi〉 ≤ 0 alors

wk+1 = wk + yixi

k = k + 1FinPour

Jusqu’à ce qu’il n’y ait plus d’erreursSortie : wk

Page 29: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Exercice

Utilisez l’algorithme du perceptron pour séparer l’échantillon{((0, 0),−1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)}. Dessinez l’hyperplan obtenu.

k wk xk mal classé yk

0 0 0 0 0 0 1 -11 0 0 -1 . . . . . .

. . . . . . . . . . . .

Page 30: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Propriétés

I L’algorithme du Perceptron est une procédure on-line, par correctiond’erreurs (error-driven).

I L’algorithme est correct : lorsqu’il converge, l’hyperplan retourné sépareles données fournies en entrée

I L’algorithme est complet : si S est linéairement séparable, l’algorithmeconverge.

I Dans le pire des cas, le nombre d’itérations est égal à(n + 1)22(n+1) log(n+1). Complexité exponentielle !

I Très mauvaise tolérance au bruit.

Page 31: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Entre ces deux solutions, laquelle est la meilleure?

Page 32: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

La notion de marge

On peut multiplier l’équation 〈w , x〉+ b = 0 d’un hyperplan par un réel nonnul sans modifier l’hyperplan qu’elle définit.

On peut donc supposer que w vérifie ||w || = 1.

Dans ce cas, la distance d’un exemple (x , y) à un hyperplan séparateur estégal à y(〈w , x〉+ b).

d(M,H) = yM〈w , xM − xH〉= yM (〈w , xM〉+ b)

puisque 〈w , xH〉+ b = 0.

Page 33: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Complexité de l’algorithme et marge

Théorème (Novikoff) : Soit S = {(x1, y1), . . . , (xn, yn)} un échantillond’apprentissage non trivial (i.e. ∃i, j yiyj = −1). Supposons que

I ∀i, ||xi || ≤ 1 etI ∃w , b, γ > 0 tels que ∀i, yi (〈w , xi〉+ b) ≥ γ.

Alors, le nombre d’erreurs (yi (〈wk , xi〉+ bk ) ≤ 0) commises pendantl’exécution de l’algorithme est au plus égal à (2/γ)2.

Remarques :I γ est une borne inférieure de la marge du problèmeI Quelles que soient les données, on peut toujours se ramener au moyen

d’une homothétie-translation au cas où Max ||xi || = 1.

Page 34: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Complexité 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 homothétiede rapport

√2, on obtient l’échantillon équivalent

S = {((−√

22 ,−

√2

2 ),−1), ((−√

22 ,√

22 ), 1), ((

√2

2 ,−√

22 ), 1), ((

√2

2 ,√

22 ), 1)}.

On a bien Max ||xi || = 1. On vérifie que la marge du problème est égale à 1/2.

Le théorème prédit que le nombre de corrections de l’algorithme est inférieurou égal à 8.

Page 35: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Forme duale de l’algorithme du perceptron

Remarque : l’hypothèse finale est une combinaison linéaire des exemplesd’apprentissage.

w =n∑

i=1

αiyixi .

Les nombres αi sont positifs et égaux au nombre de fois où une mauvaiseclassification de xi a entraîné une mise à jour du perceptron. Ils peuvent êtrevus comme une représentation duale de la solution :

f (x) = sgn(〈w , x〉+ b) = sgn

(n∑

i=1

αiyi〈xi , x〉+ b

).

Page 36: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Forme duale de l’algorithme du perceptron

entrée : S = {(x1, y1), . . . , (xn, yn)}, un échantillon complétélinéairement séparableα = 0 ∈ Rn

répéterPour i = 1 à n

Si yi (∑n

j=1 αj〈xj , xi〉) ≤ 0 alorsαi = αi + 1k = k + 1

FinSiFinPour

Jusqu’à ce qu’il n’y ait plus d’erreursSortie : α

Page 37: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Exercice

Utilisez l’algorithme du perceptron pour séparer l’échantillon{((0, 0),−1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)}. Dessinez l’hyperplan obtenu.

k αk xk mal classé yk

0 0 0 0 0 0 0 1 -11 1 0 0 0 . . . . . .

. . . . . . . . . . . .

Page 38: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Propriétés de l’algorithme dual

I dans la représentation duale, le nombre de paramètres de la solution nedépend pas de la dimension de l’espace dans lequel les xi sont plongés,

I les exemples d’apprentissage ne sont pris en compte par l’algorithmeque par l’intermédiaire de leurs produits scalaires.

I On appelle Matrice de Gram la matrice G = (〈xi , xj〉)1≤i,j≤l : elle suffit àtrouver une solution.

Page 39: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Extensions

1. Plongements non linéaires

2. Perceptrons linéaires avec couches cachées

3. Perceptrons non linéaires (avec couches cachées)

4. Séparateurs linéaires optimaux - Machines à Vecteurs Supports ouSéparateurs à vaste Marge (SVM)

5. Méthodes à noyaux

Page 40: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Plongements non linéaires

Page 41: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptron linéaire à seuil avec une couche cachée

Entrée : (x1, . . . , xd , xd+1 = 1)

Couche cachée : h perceptrons y1, . . . , yh (+ une entrée constante yh+1 = 1)où pour 1 ≤ i ≤ h,

yi =

{1 si

∑d+1j=1 α

jixj ≥ 0

0 sinon.

Sortie : un perceptron s défini par

s = f (x1, . . . , xd+1) =

{1 si

∑h+1i=1 βiyi ≥ 0

0 sinon.

Page 42: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptron linéaire à seuil avec une couche cachée

Théorème : toute fonction booléenne est calculable par un tel perceptron

I bonne expressivité ;

I pas d’algorithme d’apprentissage !

Page 43: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

La fonction sigmoïde

σk (x) = 1/(1 + e−kx )

On peut voir les fonctions sigmoïdes comme des fonctions indéfinimentdérivables qui lissent la fonction linéaire à seuil et dont les dérivées sont trèssimples à calculer :

σ′ = σ(1− σ)

Page 44: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptron avec fonction d’activation sigmoïde et une couche cachée

Entrée : x1, . . . , xd , xd+1 = 1

Couche cachée : y1, . . . , yh, yh+1 = 1 où pour 1 ≤ i ≤ h,

yi = σ

d+1∑j=1

αjixj

Sortie :

s = f (x1, . . . , xd+1) = σ

(h+1∑i=1

βiyi

).

Classification binaire : on attribue la classe 1 si s ≥ 1/2 et 0 sinon ; s peuts’interpréter comme un indice de confiance.

Classification n-aire : n neurones normalisés en sortie.

Page 45: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Perceptron

Perceptron avec fonction d’activation sigmoïde et une couche cachée

Théorème : Ces perceptrons permettent d’approcher d’aussi près qu’on lesouhaite une classe très riche de fonctions.

I très bonne expressivité ;I il existe un algorithme d’apprentissage : l’algorithme de rétropropagation

du gradient.

Page 46: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Séparateurs linéaires optimaux

Soit S = {(x1, y1), . . . , (xn, yn)}, xi ∈ Rd et yi ∈ {−1, 1} un échantillonlinéairement séparable.Il existe un unique hyperplan de marge maximale qui est solution duproblème d’optimisation quadratique convexe suivant :

Minimiser ||w ||2

sous les contraintes

yi f (xi ) ≥ 1 pour tout i = 1 . . . l

où f (x) = 〈w , x〉+ b.

Page 47: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Séparateurs linéaires optimaux

Soit S = {((0, 0),−1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)}.

Minimiser w21 + w2

2

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 48: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Retour sur la notion de marge

Soit S un échantillon linéairement séparable et soit H un hyperplanséparateur, d’équation 〈w , x〉+ b = 0.On peut modifier linairement 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,I la marge de H est égale à 1/||w || etI tous les points de S vérifient yf (x) ≥ 1.

Page 49: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Calcul de la marge (exemple)

Soit S = {((0, 1),+), ((2, 0),−)}.La droite d’équation f (x , y) = −x + y − 1/2 = 0 sépare S.

On a f (0, 1) = 1/2 et f (2, 0) = −5/2.

On normalise l’équation en la multipliant par 2 : −2x + 2y − 1 = 0.

w = (−2, 2)T , ||w || =√

8 = 2√

2

et la marge est égale à 12√

2=√

24 .

Page 50: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal

Soit S = {(x1, y1), . . . , (xl , yl )} ⊂ Rn × {−1, 1} un échantillon linéairementséparable.

Il existe un unique hyperplan de marge maximale qui est solution duproblème d’optimisation suivant :

f (x) = 〈w , x〉+ byi f (xi ) ≥ 1 pour tout i = 1 . . . lMinimiser ||w ||2.

Optimisation quadratique sous contraintes linéaires (convexes)

Page 51: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal (exemple)

Soit S = {((4, 3), 1), ((0, 2), 1), ((0, 0),−1)}.Le problème d’optimisation à résoudre est :

Minimiser w21 + w2

2 sous les contraintes

4w1 + 3w2 + b ≥ 1, 2w2 + b ≥ 1,−b ≥ 1.

Les deux dernières équations impliquent w2 ≥ 1 et donc w21 + w2

2 ≥ 1.On en déduit la solution optimale : w1 = 0,w2 = 1, b = −1.

Équation de l’hyperplan optimal : y = 1

Page 52: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal (cas général)

Minimiser||w ||2

sous les contraintes

yi (〈w , xi〉+ b) ≥ 1 pour tout (xi , yi ) ∈ S

Nouvelles variables (multiplicateurs de Lagrange) : αi ≥ 0Nouvelle fonction : le Lagrangien

L(w , b, α) =12

w2 −n∑

i=1

αi [yi (〈w , xi〉+ b)− 1]

La solution (unique grâce à la convexité) (w∗, b∗, α∗) est un point selle duLagrangien : L(w , b, α∗) est minimal en (w∗, b∗) et L(w∗, b∗, α) est maximalen α∗.

Page 53: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal (cas général)

L(w , b, α) =12

w2 −n∑

i=1

αi [yi (〈w , xi〉+ b)− 1]

La solution (unique grâce à la convexité) (w∗, b∗, α∗) est un point selle duLagrangien :

L(w , b, α∗) minimal en (w∗, b∗) ; L(w∗, b∗, α) maximal en α∗.

Page 54: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal (cas général)

On a : ∇x L(w , b, α) = w −

∑ni=1 αiyixi

∂L(w , b, α)

∂b=∑n

i=1 αiyi

Ce qui donne les condition d’optimalité :∇x L(w , b, α) = 0⇒ w =

∑ni=1 αiyixi

∂L(w , b, α)

∂b= 0⇒

∑ni=1 αiyi = 0

Page 55: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplans optimaux : problème dual

Si l’on remplace w par∑n

i=1 αiyixi dans le Lagrangien

L(w , b, α) =12

w2 −n∑

i=1

αi [yi (〈w , xi〉+ b)− 1]

On a

L(α) =12

n∑i=1

n∑j=1

αjαiyiyj〈xj , xi〉 −n∑

i=1

αiyi

n∑j=1

αjyj〈xj , xi〉 − bn∑

i=1

αiyi +n∑

i=1

αi

Ce qui donne

L(α) =n∑

i=1

αi −12

n∑i,j=1

yiyjαiαj〈xi , xj〉

qu’on doit maximiser sous les contraintes∑n

i=1 αiyi = 0 et αi ≥ 0.I Seuls les produits scalaires 〈xi , xj〉 sont nécessaires pour trouver

l’hyperplan optimal.I Retrouver w∗ à partir des α∗i : w∗ =

∑ni=1 α

∗i yixi

I Calcul de b∗ à partir d’un vecteur support : 〈w∗, xi〉+ b∗ = yi .

Page 56: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Problème 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 57: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Hyperplan optimal : propriétés

On appelle vecteur support toute donnée xi telle que α∗i 6= 0.Soit SV l’ensemble des vecteurs supports de S.Propriétés

I Si xi ∈ SV , 〈w∗, xi〉+ b∗ = yi

I Si xi 6∈ SV , la contrainte correspondante n’est pas active,I Les problèmes d’optimisation associés à S et à SV ont la même

solution.I Le rapport #SV/#S est une borne supérieure de l’estimateur

leave-one-out de l’erreur en généralisation de la solution.I∑n

i=1 α∗i yi = 0

I w∗ =∑n

i=1 α∗i yixi

La solution s’exprime en fonction des vecteurs supports

Page 58: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Exemple

Soit S = {((4, 3), 1), ((0, 2), 1), ((0, 0),−1)}. On a trouvé

w∗ = (0, 1) et b∗ = −1.

Si l’on pose∑n

i=1 α∗i yi = 0 et w∗ =

∑ni=1 α

∗i yixi , 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 x2 et x3.

Page 59: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Et lorsque les données ne sont pas séparables?

I Trouver le classifieur linéaire qui minimise le nombre d’erreurs est unproblème NP-dur.

I L’algorithme du Perceptron oscille, changeant d’hypothèses à chaqueprésentation d’un contre-exemple sans se stabiliser sur une solutionintéressante.

Idée : se soucier davantage de la confiance avec laquelle la plupart desexemples sont correctement classés plutôt que du nombre d’exemples malclassés.

→ maximiser la marge d’un séparateur linéaire en tolérant un nombre limitéd’exceptions : notion de marge souple (soft margin).

Page 60: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Comment réaliser un plongement des données?

Pour tout algorithme d’apprentissage ne faisant intervenir que le produitscalaire des données

perceptron, séparateur optimal (avec marges dures ou souples)

il suffit de connaître la matrice de Gram G = (〈xi , xj〉)1≤i,j≤n pour construire leclassifieur linéaire correspondant :

f : x 7→ signe(n∑

i=1

αi〈x , xi〉).

Soit Φ : X → Y une fonction de plongement dans un espace Y avec produitscalaire. On obtiendra un classifieur linéaire (dans l’espace de plongement)défini par :

f : x 7→ signe(n∑

i=1

αi〈Φ(x),Φ(xi )〉).

Page 61: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Kernel trick

On appelle noyau toute fonction k : X × X → R qui peut être interprétéecomme un produit scalaire dans un plongement Φ :

k(x , y) = 〈Φ(x),Φ(y)〉

On peut appliquer les algorithmes du perceptron et de séparation optimaleavec marges souples ou dures en remplaçant

〈xi , xj〉 par k(xi , xj ).

On obtient alors un classifieur

f : x 7→ signe(n∑

i=1

αik(x , xi ))

linéaire dans l’espace de plongement (avec toutes les garanties associées)et non linéaire dans l’espace initial.

Page 62: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Perceptron à noyau

entrée : S = {(x1, y1), . . . , (xn, yn)}, un échantillon complétélinéairement séparableα = 0 ∈ Rn

répéterPour i = 1 à n

Si yi (∑n

j=1 αjyjk(xj , xi )) ≤ 0 alorsαi = αi + 1FinSi

FinPourJusqu’à ce qu’il n’y ait plus d’erreursSortie : x 7→ signe(

∑i αiyik(x , xi ))

Page 63: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Exemples de noyaux :

Noyau polynomial homogène

X = Rd , k(x , x ′) =

(n∑

i=1

xix ′i

)p

Noyau polynomial

X = Rd , k(x , x ′) =

(1 +

n∑i=1

xix ′i

)p

.

Noyau gaussien :

k(x , x ′) = exp(−||x − x ′||2

2σ2

)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 64: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Caractérisation des noyaux

Théorème : une fonction k : X × X → R est un noyau ssi pour tout m-upletx1, . . . , xm d’éléments de X , la matrice de Gram k(xi , xj )1≤i,j≤m est définiepositive, c’est-à-dire que pour tous réels c1, . . . , cm,∑

i,j

cicjk(xi , xj ) ≥ 0.

A retenir : on sait (théoriquement) caractériser les fonctions noyaux etdéterminer un plongement correspondant.

Page 65: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

402 points générés à partir de 2 paraboles parallèles avec bruit gaussien.

Page 66: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Séparateur linéaire optimal avec marges souples : 104 vecteurs supports.

Page 67: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau quadratique : 38 vecteurs supports.

Page 68: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau polynomial de degré 3 : 35 vecteurs supports.

Page 69: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau Gaussien, σ = 1 : 62 vecteurs supports.

Page 70: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau Gaussien, σ = 0.5 : 64 vecteurs supports.

Page 71: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau Gaussien, σ = 0.1 : 321 vecteurs supports.

Page 72: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Noyau Gaussien, σ = 0.05 : 390 vecteurs supports.

Page 73: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

The US Postal Service (USPS) database.

I 9298 chiffres manuscrits (7291 pour apprendre, 2007 pour tester)provenant d’enveloppes postées ou reçues à Buffalo ;

I Chaque chiffre est une image 16× 16 représenté par un vecteur de[−1, 1]256 ;

I Les jeu de tests est difficile : 2, 5% d’erreur en moyenne pour un humain ;I Données disponibles à

http ://www.kernel-machines.org.data.html.

Page 74: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Résultats (1) (Schölkopf, Smola)

Classification par SVMs sur les données USPS.Noyau polynomial : k(x , y) = (〈x , y〉/256)d .Construction de 10 classifieurs (méthode 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 75: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Résultats (2) (Schölkopf, Smola)

Classification par SVMs sur les données USPS.Noyau gaussien : k(x , y) = exp(−||x − y ||2/(256c)).Construction de 10 classifieurs (méthode 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 76: Classification, Apprentissage, Décisionpageperso.lif.univ-mrs.fr/.../CAD/cours_5-perceptron.pdfClassification, Apprentissage, Décision Perceptron Expressivité des perceptrons I

Classification, Apprentissage, Décision

Machines à vecteur de support

Comparaison des résultats (Schölkopf, Smola)

USPS+ : USPS + un ensemble de chiffres imprimés.

Classifieur Ens. d’App. Erreur sur ens. testDecision tree, C4.5 USPS 16,2Best two layer neural network USPS 5,9Five-layer network USPS 5,1Linear SVM USPS 8,9Hard margin SVM USPS 4,6SVM USPS 4,0Virtual SVM USPS 3,2Virtual SV, local kernel USPS 3,0Nearest neighbor USPS+ 5,9Boosted neural net USPS+ 2,6Human performance 2,5