A.Djeffal (UMKB)

19
A.Djeffal (UMKB) Data mining - SVM 2012/2013 SVM Support Vactor Machine (Machine à Vecteurs Supports) Supports à Vaste Marge Introduite par Vladimir Vapnik en 1995 Solide base théorique Utilisée notamment dans : La reconnaissance des visages humains, La reconnaissance des caractères manuscrits La bioinformatique, La médecine, ….

description

SVM. Support Vactor Machine (Machine à Vecteurs Supports) Supports à Vaste Marge Introduite par Vladimir Vapnik en 1995 Solide base théorique Utilisée notamment dans : La reconnaissance des visages humains, La reconnaissance des caractères manuscrits La bioinformatique, - PowerPoint PPT Presentation

Transcript of A.Djeffal (UMKB)

Page 1: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 1/18

SVMSupport Vactor Machine (Machine à Vecteurs Supports)

Supports à Vaste Marge

Introduite par Vladimir Vapnik en 1995

Solide base théorique

Utilisée notamment dans :La reconnaissance des visages humains, La reconnaissance des caractères manuscrits

La bioinformatique, La médecine, ….

Page 2: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 2/18

SVM - Principe

Entrée: Un ensemble d’exemple de n dimensions avec leur classification binaire ensemble (Xi,Yi) i:1..N Xi=(xi1,..,xim) Yi= 1

m=2

y=+1

y=-1Sortie: Une droite w.x + b = 0 qui sépare les deux classes

On cherche w et b

x1

x2

w.x+b=0

w.x+b>0

w.x+b<0

Si m >2 : On cherche un hyperplan w un vecteur de dimension m b un réel

Ainsi la fonction de classification sera f(x) = Signe (w.x+b)

Page 3: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 3/18

SVM - Principe

m=2

y=+1

y=-1

x1

x2

Problème: +ieurs Hyperplans

Quel est celui qui sépare le mieux les deux classes ?

Page 4: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 4/18

SVM - Principe

m=2

y=+1

y=-1

x1

x2

C’est celui qui maximise la marge

mar

geL‘hyperplan H doit donc:1. Maximiser la marge ( 2 / ||w||2)

2. Bien classer les Xi

Yi (w.Xi + b) 1

H-

H+

H

w.x+b=0

w.x+b=1

w.x+b=-1

Problème d’optimisation quadratique avec contraintes

Page 5: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 5/18

SVM - Principe

Max ( 2 / ||w||2)

Yi (w.Xi + b) 1

Min (||w||2 / 2 )

Yi (w.Xi + b) 1

Lagrange: Calculer Lp

N

iii

N

iiip bxwywL

11

2,

2

1

Où les i constituent les multiplicateurs de Lagrange ( 0)

Lp doit être minimisé par rapport à w et b, et il faut que ses dérivées par rapports à w et b soient nulles

N

iii

p

N

iiii

p

yb

L

xyww

L

1

1

00

0

Page 6: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 6/18

SVM - Principe

jij

N

i

N

iiji

N

iid xxyyL ,

2

1

1 11

D’où on tire Ld

Ld doit être maximisé par rapport aux i

Si on arrive à déterminer les i , on pourra calculer w et b

2

),(max),(max 11

1

iyiy

N

iiii

xwxwb

xyw

ii

Tout ça c’est le cas où les données son linéairement séparables !!!

Page 7: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 7/18

SVM - PrincipeDans le cas où les données sont linéairement inséparables

On effectue une transformation d’espace pour amener les données dans un espace où elles sont linéairement séparables, et on revient au cas précédent.

)( ii xx

Page 8: A.Djeffal (UMKB)

SVM - Principe

Page 9: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 9/18

SVM - Principe

)(),(2

1

1 11jij

N

i

N

iiji

N

iid xxyyL

On obtient alors:

Pour éviter le calcul de et du produit scalaire, on utilise une fonction K appeléeFonction noyau (Kernel):

)(),(),( jiji xxxxK

Et Ld devient:

),(2

1

1 11jij

N

i

N

iiji

N

iid xxKyyL

Page 10: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 10/18

SVM - PrincipeEt le problème devient: trouver les i tout en respectant:

La décision pour un nouvel exemple x peut être calculé comme suit:Où SV est l'ensemble de vecteurs supports.

Une fois les i calculés W et b peuvent être déterminés:

Page 11: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 11/18

SVM - Principe

Page 12: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 12/18

SVM - PrincipePour déterminer les i on utilise une méthode d’optimisation:

Initialiser un vecteur des i à 0;L’améliorer progressivement par une heuristique jusqu’à atteindre une solution acceptable

Algorithme plus utilisé SMO (Sequential Minimal Optimization): Améliorer à chaque itération deux i

1: Choisir deux points i et j initiaux2: Calculer leur coefficients i et j

3: Tant que la solution courante n’est pas optimale faire Sélectionner deux nouveaux points Calculer les coefficients associés Fin tant que

Page 13: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 13/18

SVM - Principe

Plusieurs noyaux sont utilisées: Exemple

jiji xxxxK ,),( Linéaire:

mjiji cxxxxK ),(),( Polynomial:

2

2

2),( ji xx

ji exxK

Gaussien:

….

Face à un problème donnée quel noyau choisir ?On ne sait pas encore !!!

Page 14: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 14/18

SVM – Cas multi-classes

Si les données appartiennent à plusieurs classes:

On doit trouver une fonction pour chaque classe (appartient ou non)

A la phase de d’utilisation on utilise généralement l’une des méthodes Une contre reste 1vsR Une contre une 1vs1 Listes de vote Graphes de décision Code correcteursArbres de décision

Page 15: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 15/18

SVM – Cas multi-classes1VsR 1Vs1

DAGAD

Page 16: A.Djeffal (UMKB)

A.Djeffal (UMKB)

SVM – Cas mono-classe

Page 17: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 17/18

SVM – Autres utilisation

x1

x2

En plus de son utilisation pour la classification, tel que vu précédemment,Les SVMs peuvent être utilisés pour la régression:

wi

i

Minimiser W et les i,

On utilise le Lagrangien et on se retrouve avec un problème pareil au précédent

Page 18: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 18/18

SVM - Autres utilisation

x1

x2

En plus de son utilisation pour la classification, tel que vu précédemment,Les SVMs peuvent être utilisés pour la régression:

wi

i

Minimiser W et les i,

On utilise le Lagrangien et on se retrouve avec un problème pareil au précédent

Page 19: A.Djeffal (UMKB)

A.Djeffal (UMKB) Data mining - SVM 2012/2013 19/18

SVM - Autres utilisation

Réduction des dimensions des données (ACP)

Apprentissage semi – supervisé

Apprentissage non supervisé (Clustering)