Transcript (SVM) linéaire - Alexis Lechervy
Fouille de données et apprentissage Cours 5: Les Support Vectors Machine (SVM) linéaire
Alexis Lechervy 3 février 2014 Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 1 / 26
Sommaire
1
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 1 / 26
La classification linéaire à deux classes
Objectif L’objectif est de trouver un hyperplan qui sépare au mieux nos deux classes. Le classifieur sera alors la fonction : h ( x ) = o x si x est au dessus de l’hyperplan si x est en dessous de l’hyperplan Formalisation mathématique Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 2 / 26 h ( x ) = 1 si h w − 1 sinon , x i + b > 0
La classification linéaire à deux classes
Objectif L’objectif est de trouver un hyperplan qui sépare au mieux nos deux classes. Le classifieur sera alors la fonction : h ( x ) = o x si x est au dessus de l’hyperplan si x est en dessous de l’hyperplan Formalisation mathématique h ( x ) = 1 si h w − 1 sinon , x i + b > 0 Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 2 / 26
Le choix d’un hyperplan, un problème dont la solution n’est pas unique.
Alexis Lechervy (UNICAEN) = ⇒ Lequel choisir ?
Fouille de données et apprentissage
3 février 2014 3 / 26
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 4 / 26
Le meilleur séparateur linéaire
Une idée Si l’ensemble d’apprentissage est linéairement séparable, il existe une infinité d’hyperplan qui séparent les données. Le meilleur hyperplan séparateur est celui le plus écartée des deux ensembles de points.
= ⇒ On choisi l’hyperplan qui maximise la marge (la distance entre le point le plus proche de l’hyperplan et l’hyperplan).
Formulation mathématique = arg max w , b min i { distance du point x i à l’hyperplan ( w , b ) } arg max w , b min i w > x i k w + k b (1) (2) (3) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 5 / 26
L’hyperplan maximisant la marge
La fonction de décision h est invariante par changement d’échelle, on peut donc choisir notre hyperplan tel : Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 6 / 26
Changement d’échelle
Supposons que la valeur minimale de notre fonction de décision soit γ : min i y i ( h x i , w i + b ) = γ > 0 .
Dans ce cas, on peut multiplier w et b par 1 γ sans changer la fonction de décision.
On a donc dans ce cas : min i y i ( h x i , w 0 i + b 0 ) = 1 .
Dans ce cas la marge est égale : min i y i ( h x i , w 0 i + b 0 ) k w 0 k = 1 k w 0 k .
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 7 / 26
Maximisation de la marge
Maximisation de la marge En conséquence la marge de l’hyperplan est de 1 k w k .
On a donc : max w , b min i w > x i k w + k b = = 1 max w , b k w k min w , b k w k 2 2 (4) (5) (6) Formulation d’un SVM dans le primal Alexis Lechervy (UNICAEN) arg min w , b sous contraintes 1 2 k w k 2 ∀ i , y i ( w > x i + b ) ≥ 1
Fouille de données et apprentissage
3 février 2014 (7) (8) 8 / 26
Résolution du problème primal
Le problème primal est un problème quadratique que l’on sais résoudre numériquement. Néanmoins si le nombre d’image est important, la solution sera difficilement calculable en un temps raisonnable.
= ⇒ il faut reformuler le problème différemment pour pouvoir le résoudre numériquement Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 9 / 26
Fonctions convexes et ensemble convexes
Dans ce cours nous nous intéressons à des optimisations de fonctions convexes sur des ensembles convexes.
Un ensemble et α ∈ [ 0 , 1 ] Ω est dit convexe si et seulement si pour tout , on a αω 1 + ( 1 − α ) ω 2 ∈ Ω .
ω 1 ∈ Ω , ω 2 ∈ Ω Une fonction α ∈ [ 0 , 1 ] f , on a : Ω f ( 7−→ αω 1 R est convexe si et seulement si + ( 1 − α ) ω 2 ) ≤ α f ( ω 1 ) + ( 1 − α ) ∀ f ω ( 1 ω ∈ 2 ) .
Ω , ∀ ω 2 Exemples de fonctions convexes : x , x 2 , Exemples de fonctions non-convexes : e x ...
√ x , ln x ,sin x , x 3 ...
∈ Ω et Théorème L’ensemble des solutions d’un problème d’optimisation convexe est convexe.
Si f est strictement convexe, le problème d’optimisation convexe a au plus une solution.
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 10 / 26
Problème d’optimisation convexe générique
Le problème d’optimisation Soit une fonction f strictement convexe à minimiser sur un ensemble convexe avec contraintes d’inégalité : Ω min s.t.
f ( ω ) ω ∈ g i ( ω ) ≤ 0 Ω ∀ i (9) (10) Hypothèses On suppose f et ∀ i g i différentiable.
On suppose l’existence d’un g i ( ω ) ≤ 0.
ω ?
minimisant f en respectant les contraintes Deux types de contraintes Les contraintes saturés g i ( ω ?
) = 0 ∀ i Les contraintes non saturés g i ( ω ?
) < 0 ∈ ∀ E i ∈ I Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 11 / 26
Le gradient de
f
à l’optimal
Le gradient Le gradient de f correspond à la dérivée de f dans chaque direction de la base : ∂ ∂ω f = ( ∂ ∂ω 1 f , · · · Le gradient de f ∂ , f ) .
∂ω d est un vecteur pointant dans la direction de plus forte pente croissante.
Supposons que nous sommes arrivé à l’optimum permettent de continuer à minimiser la fonction f ω ?
, les seuls directions qui viole une des contraintes saturés. En effet si il était possible de faire varié la fonction en suivant les contraintes g i ( ω ) = 0 ∀ i ∈ E alors on aurait un ω = ω ?
tel que f ( ω ) < f ( ω ?
) .
Par conséquence le gradient de ∂ ∂ω g i ( ω ) ∀ i ∈ E .
f à l’optimum est une combinaison linéaire de ∂ ∂ω f ( ω ?
) = − X i ∈ E α i ∂ g i ( ω ∂ω ?
) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 12 / 26
Le gradient de
f
à l’optimal (suite)
On peut réécrire l’équation suivante ∂ ∂ω f ( ω ?
) = − X α i ∂ g i ( ω ?
) ∂ω i ∈ E par : avec α i quand g i ( ω ) < 0 .
∂ ∂ω f ( ω ?
) + X i ∈ E ∪ I α i ∂ g i ( ω ?
) ∂ω = 0 Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 13 / 26
Les conditions de Karush-Kuhn-Tucker (KKT)
Les conditions de Karush-Kuhn-Tucker Soit un problème d’optimisation convexe : arg min s.t.
X f ( X ) g ( X ) ≤ 0 (11) (12) les solutions de ce problèmes vérifie les conditions de KKT : 1 2 3 On défini le lagrangien comme étant la fonction L ( X , α ) = f ( X ) + P i α i g i ( X ) où α i ≥ 0 sont les multiplicateurs de Lagrange.
Conditions du 1er ordre : maximiser dérivées selon X : ∂ f ( X ) ∂ X + P i α i ∂ g L ∂ i ( X sans contrainte, reviens à annuler les X ) = 0 .
Conditions supplémentaires : min ( α i , g i ( X )) = 0 .
Si la contrainte n’est pas saturé, le multiplicateur de Lagrange doit être nul.
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 14 / 26
Le lagrangien
Le lagrangien On peut réécrire le problème précédent à l’aide d’un Lagrangien.
Le lagrangien est la somme de la fonction objectif et d’une combinaison linéaire des contraintes : L ( w , b , α ) = 1 2 k w k 2 − X α i i y i ( w > x i + b ) − 1 Les coefficients duales.
α i ≥ 0 sont appelées multiplicateurs de Lagrange ou variables Lien avec le problème primal Les solution du problème primal correspondent à un point-selle du lagrangien (il faut le minimiser par rapport aux variables primales w et b et le maximiser par rapport aux variables duales α i ).
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 15 / 26
Expression d’un SVM dans le dual
Un point selle est un point où la dérivée s’annule. On a donc : ∂ ∂ w L ( w , b , α ) = 0 et ∂ ∂ b L ( w , b , α ) = 0 Par conséquence on trouve : w X α i y i i = = X α i y i x i et i 0 (13) (14) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 16 / 26
Expression d’un SVM dans le dual
En substituant les deux équations du slide précédent dans la formule du primal au obtient une version sans les variables primales : Formulation dual d’un SVM arg max α s.t
X α i − 1 2 X α i α j y i y j h x i , x j i i i , j α i ≥ 0 ∀ i X α i y i = 0 i (15) (16) (17) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 17 / 26
Remarques sur l’expression dans le dual
Remarques générales En pratique, seuls les points qui sont sur les hyperplans frontière h x i , w i + b = ± 1 jouent un rôle, car les multiplicateurs de Lagrange sont non nuls pour ces seuls points.
On appel ces points des vecteurs de supports ou des exemples critiques.
w s’exprime uniquement à l’aide des vecteurs de supports. Ce qui est confirmé par notre intuition.
Résolution du problème dual Résolution numérique possible de ce problème quadratique : SVM-Light de Joachim SMO de Platt libSVM LaSVM quadprog de Matlab...
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 18 / 26
Classifieur final dans le dual
Le classifieur h ( x ) = h w , x i + b = X α i y i h x i , x i + b i et on obtient b en utilisant n’importe quel point critique : y i ( h x i , w i + b ) = 1 = ⇒ b = 1 y i − X α j y j x j > x i j Remarque sur la solution L’hyperplan solution ne requiert que le calcul des produits scalaires entre des vecteurs de l’espace d’entrée.
h x , x i i La solution ne dépend plus de la dimension d nombre de vecteur support.
de l’espace d’entée, mais du Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 19 / 26
Comment faire dans un cas non-linéairement séparable ?
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 20 / 26
Relâcher la contrainte, utiliser des variables ressorts
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 21 / 26
SVM à marge souple
Principe Dans le cas non linéairement séparable et à condition de rechercher une séparation linéaire, on introduit des variables d’écart : y i ( h w , x i i + b ) ≥ 1 − ξ i Les anciens contraintes sont violés si ( x i , y i ) est dans la bande de séparation de l’hyperplan mais est du bon côté ( x i , y i ) est du mauvais côté de l’hyperplan = ⇒ le but est de minimiser les erreurs de classification P i étant non continue et non différentiable, on l’approxime par 1 ξ> 0 . Cette fonction P i ξ i .
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 22 / 26
SVM à marge souple
Problème d’optimisation d’un SVM à marge souple dans le primal arg min w , b s.t.
1 2 k w k 2 + C X ξ i i y i ( h w , x i i + b ) ≥ 1 − ξ i ξ i ≥ 0 ∀ i ∀ i où C ≥ 0 est un compromis entre la marge possible entre les exemples et le nombre d’erreurs admissibles.
(18) (19) (20) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 23 / 26
Lagrangien d’un SVM à marge souple
Problème d’optimisation d’un SVM à marge souple dans le primal arg min w , b s.t.
1 2 k w k 2 + C X ξ i i y i ( h w , x i i + b ) ≥ 1 − ξ i ξ i ≥ 0 ∀ i ∀ i où C ≥ 0 est un compromis entre la marge possible entre les exemples et le nombre d’erreurs admissibles.
(21) (22) (23) Lagrangien L ( w , b , ξ, α, β ) = 1 2 k w k 2 + C X ξ i i − X α i ( y i ( h w , x i i + b ) + ξ i − 1 ) − X β i ξ i i i avec ∀ i α i ≥ 0 et β i ≥ 0 les multiplicateurs de Lagrange.
Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 24 / 26
A l’optimum
Les dérivés des variables primal s’annulent à l’optimum : ∂ ∂ w L ( w , b , ξ, α, β ) ∂ ∂ b L ( w , b , ξ, α, β ) ∂ ∂ξ L ( w , b , ξ, α, β ) = = = w − X α i y i α i x i = 0 i − X α i y i = 0 i C − α i − β i = 0 (24) (25) (26) = ⇒ Malgré l’introduction des multiplicateurs de Lagrange équations similaires au SVM à marge rigide.
β i , on retrouve des Cependant, nous avons des contraintes additionnelles. En effet, il faut avoir car ce sont des multiplicateurs de Lagrange. On a donc C − α i = β i ≥ β i ≥ 0 ce qui nous impose alors d’avoir 0 ≤ α i ≤ C .
0 Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 25 / 26
SVM à marge souple dans le dual
Formulation dual d’un SVM à marge souple arg max α s.t
X α i − 1 2 X α i α j y i y j h x i , x j i i i , j C ≥ α i ≥ 0 X α i y i = 0 ∀ i i (27) (28) (29) Alexis Lechervy (UNICAEN)
Fouille de données et apprentissage
3 février 2014 26 / 26