Apprentissage automatique Machine à vecteurs de support - motivation
RÉGRESSION À NOYAU régression à noyau Algorithme de régression à noyau entraînement : prédiction : a = (K + λi N ) 1 t. y(x) =k(x) T a RAPPEL Pour exécuter cet algorithme, on a seulement besoin de calculer les produits scalaires du noyau φ(x n ) T φ(x m ) = k(x n, x m ) 2 Par contre, on doit toujours avoir accès aux entrées de l ensemble d entraînement
RÉGRESSION À NOYAU régression à noyau Algorithme de régression à noyau entraînement : prédiction : a = (K + λi N ) 1 t. y(x) =k(x) T a comparaison avec tout l ensemble d entraînement RAPPEL Pour exécuter cet algorithme, on a seulement besoin de calculer les produits scalaires du noyau φ(x n ) T φ(x m ) = k(x n, x m ) 2 Par contre, on doit toujours avoir accès aux entrées de l ensemble d entraînement
MACHINE À VECTEURS DE SUPPORT machine à vecteurs de support, support vector machine On va voir la machine à vecteur de support (support vector machine, SVM) un nouvel algorithme pour la classification binaire après l entraînement, va garder seulement un sous-ensemble des données d entraînement plusieurs des a n dans a vont être à 0 3
CLASSIFICATION classification binaire, séparabilité linéaire Cas spécial : classification binaire C 1 classe correspond à t = 1 R 1 RAPPEL classe C 2 correspond à t = 0 (ou t = -1) R 2 Cas spécial : classification linéaire la surface de décision entre chaque paire de régions de décision est linéaire, i.e. un hyperplan (droite pour D=2) on dit qu un problème est linéairement séparable si une surface linéaire permet de classifier parfaitement 4
CLASSIFICATION classification binaire, séparabilité linéaire Cas spécial : classification binaire C 1 classe correspond à t = 1 R 1 RAPPEL classe C 2 correspond à t = 0 (ou t = -1) R 2 Cas spécial : classification linéaire la surface de décision entre chaque paire de régions de décision est linéaire, i.e. un hyperplan (droite pour D=2) on dit qu un problème est linéairement séparable si une surface linéaire permet de classifier parfaitement 4
Apprentissage automatique Machine à vecteurs de support - marge
MACHINE À VECTEURS DE SUPPORT machine à vecteurs de support, support vector machine On va voir la machine à vecteur de support (support vector machine, SVM) un nouvel algorithme pour la classification binaire après l entraînement, va garder seulement un sous-ensemble des données d entraînement plusieurs des a n dans a vont être à 0 Au centre du SVM est la notion de marge 6
FONCTION DISCRIMINANTE y > 0 y = 0 y < 0 fonction discriminante, vecteur de poids, biais x 2 R 2 R 1 y(x) = w T x + w 0 RAPPEL w x y(x) w = r x 7 x = x + r w w w w 0 w x 1
FONCTION DISCRIMINANTE y > 0 y = 0 y < 0 fonction discriminante, vecteur de poids, biais x 2 R 2 R 1 y(x) = w T x + w 0 RAPPEL w t x y(x) w = r distance signée x x 1 x = x + r w w w 0 w 7 w
MARGE D UN CLASSIFIEUR marge La marge est la plus petite distance signée entre la surface de décision et les entrées de l ensemble d entraînement > 0 < 0 8
Apprentissage automatique Machine à vecteurs de support - classifieur à marge maximale
MACHINE À VECTEURS DE SUPPORT machine à vecteurs de support, support vector machine On va voir la machine à vecteur de support (support vector machine, SVM) un nouvel algorithme pour la classification binaire après l entraînement, va garder seulement un sous-ensemble des données d entraînement plusieurs des a n dans a vont être à 0 On va commencer par décrire la version paramétrique linéaire (sans noyau) 10
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale La distance signée pour un exemple (x n,t n ) est t n y(x n ) w = t n(w T φ(x n ) + b) w (b est équivalent à w 0 ) Un SVM cherche à maximiser la marge cherche le classifieur à marge maximale arg max { 1 w min n [ tn ( w T φ(x n ) + b )]} 11
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale La marge est la même si on multiplie w et b par un constante (a) > 0 < 0 t n (aw T (x n )+ab) a w On va donc contraindre la solution pour que t n ( w T φ(x n ) + b ) = 1 pour (x n,t n ) le plus proche de la surface de décision 12 )
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale La marge est la même si on multiplie w et b par un constante (a) > 0 < 0 t n (aw T (x n )+ab) a w On va donc contraindre la solution pour que t n ( w T φ(x n ) + b ) = 1 pour (x n,t n ) le plus proche de la surface de décision 12 )
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale La marge est la même si on multiplie w et b par un constante (a) t n (aw T (x n )+ab) a w On va donc contraindre la solution pour que t n ( w T φ(x n ) + b ) = 1 pour (x n,t n ) le plus proche de la surface de décision 12 )
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale Exemple : 13
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale En supposant que l ensemble d entraînement est linéairement séparable, on a : arg max { 1 w min n [ tn ( w T φ(x n ) + b )]} Ce problème d optimisation est un programme quadratique il existe des librairies pouvant le résoudre numériquement en O(D 3 ) 14
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale En supposant que l ensemble d entraînement est linéairement séparable, on a : arg max { 1 w min n [ tn ( w T φ(x n ) + b )]} =1 Ce problème d optimisation est un programme quadratique il existe des librairies pouvant le résoudre numériquement en O(D 3 ) 14
) MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale En supposant que l ensemble d entraînement est linéairement séparable, on a : arg max { 1 w min n [ tn ( w T φ(x n ) + b )]} =1 devient t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. Ce problème d optimisation est un programme quadratique il existe des librairies pouvant le résoudre numériquement en O(D 3 ) 14
Apprentissage automatique Machine à vecteurs de support - représentation duale
) MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale Si on suppose la séparabilité linéaire, on doit optimiser arg min ( 1 2 w 2 ( t.q. t n w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. C est un problème d optimisation (quadratique) avec N contraintes 16
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale On peut enlever les contraintes en introduisant des multiplicateurs de Lagrange (voir Bishop, appendice E) L(w, b, a) = 1 2 w 2 N a n { tn (w T φ(x n ) + b) 1 } où les multiplicateurs sont a n 0 17
MACHINE À VECTEURS DE SUPPORT { On peut enlever les contraintes en introduisant des multiplicateurs de Lagrange (voir Bishop, appendice E) L(w, b, a) = classifieur à marge maximale 1 2 w 2 N a n { tn (w T φ(x n ) + b) 1 } En annulant les dérivées, on obtient les conditions N N w = a n t n φ(x n ) 0 = a n t n. 18
MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale { On peut enlever les contraintes en introduisant des multiplicateurs de Lagrange (voir Bishop, appendice E) L(w, b, a) = 1 2 w 2 N on peut exprimer w comme une En annulant les dérivées, on obtient les conditions combinaison linéaire des entées a n { tn (w T φ(x n ) + b) 1 } N { N w = a n t n φ(x n ) 0 = a n t n. 18
REPRÉSENTATION DUALE représentation duale, astuce du noyau On peut alors réécrire L(,a) comme suit : φ(x n ) T φ(x m ) = k(x n, x m ) N L(a) = a n 1 2 N N a où on a toujours a n 0 et m=1 Programme quadratique de complexité dans O(N 3 ) N C est la représentation duale du SVM nous permet d utiliser l astuce du noyau a n a m t n t m k(x n, x m ) a n t n = 0. { 19
VECTEURS DE SUPPORT classifieur à marge maximale On peut démontrer que la solution satisfait a n 0 t n y(x n ) 1 0 a n {t n y(x n ) 1} = 0. 20 Lié avec les conditions Karush-Kuhn-Tucker (KKT) (voir Bishop, appendice E) Les x n tels que a n > 0 sont appelés vecteurs de support
VECTEURS DE SUPPORT classifieur à marge maximale On peut démontrer que la solution satisfait a n 0 Pour chaque n t n y(x n ) 1 0 implique a n = 0 ou t n y(x n ) = 1 a n {t n y(x n ) 1} = 0. e sum in ( 13) and hence pl Lié avec les conditions Karush-Kuhn-Tucker (KKT) (voir Bishop, appendice E) Les x n tels que a n > 0 sont appelés vecteurs de support 20
VECTEURS DE SUPPORT classifieur à marge maximale, vecteurs de support Exemple : t n y(x n ) = 1 13) and hence pl vecteurs de support 21
VECTEURS DE SUPPORT classifieur à marge maximale, vecteurs de support Exemple : t n y(x n ) = 1 13) and hence pl a n = 0 e sum in ( vecteurs de support 21
VECTEURS DE SUPPORT classifieur à marge maximale, vecteurs de support Exemple : t n y(x n ) = 1 13) and hence pl a n = 0 e sum in ( vecteurs de support 21
VECTEURS DE SUPPORT classifieur à marge maximale, vecteurs de support Exemple : t n y(x n ) = 1 13) and hence pl a n = 0 e sum in ( vecteurs de support Solution aurait été identique, même si les points n avaient pas été dans l ensemble d entraînement! 21
MACHINE À VECTEURS DE SUPPORT À NOYAU SVM à noyau Prédiction, dans la représentation duale y(x) =w T (x)+b NX = a n t n (x n )! T (x)+b NX = a n t n k(x n, x)+b 22 seulement les vecteurs de support vont voter!
MACHINE À VECTEURS DE SUPPORT À NOYAU SVM à noyau Exemple avec noyau gaussien vecteurs de support y(x) = NX a n t n k(x n, x)+b 23
MACHINE À VECTEURS DE SUPPORT À NOYAU SVM à noyau Exemple avec noyau gaussien vecteurs de support y(x) = NX a n t n k(x n, x)+b 23
Apprentissage automatique Machine à vecteurs de support - chevauchement de classes
) MACHINE À VECTEURS DE SUPPORT En supposant que l ensemble d entraînement est linéairement séparable, on a : arg max classifieur à marge maximale { 1 w min n [ tn ( w T φ(x n ) + b )]} =1 devient t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. RAPPEL Ce problème d optimisation est un programme quadratique il existe des librairies pouvant le résoudre numériquement 25
) MACHINE À VECTEURS DE SUPPORT classifieur à marge maximale En supposant que l ensemble d entraînement est linéairement séparable, on a : arg max { Quoi 1 faire w min [ s il ( y a : tn w T φ(x n ) + b )]} n - des erreurs dans l ensemble d entraînement devient t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, - des exemples =1 exceptionnellement difficiles à classifier spour the canonical n = 1,.. representati., N. RAPPEL Ce problème d optimisation est un programme quadratique il existe des librairies pouvant le résoudre numériquement 25
CHEVAUCHEMENT DE CLASSES chevauchement de classes Quoi s il y a chevauchement entre les classes? 2 0 2 2 0 2 26
) ) CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) On va permettre que des exemples ne respectent pas la contrainte de marge Les n t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. devient arg min sont des variables variables de ressort elles correspondent aux violations des contraintes de marge n ( 1 2 w 2 + ( t.q. t n w T φ(x n ) + b ) 1, ξ n s the canonical representati ξ n 0. margin pour n = 1,..., N. C N ξ n 27
) ) CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) On va permettre que des exemples ne respectent pas la contrainte de marge Les n t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. devient arg min sont des variables variables de ressort elles correspondent aux violations des contraintes de marge n ( 1 2 w 2 + ( t.q. t n w T φ(x n ) + b ) 1, ξ n s the canonical representati ξ n 0. margin pour n = 1,..., N. C N ξ n 27
) ) CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) On va permettre que des exemples ne respectent pas la contrainte de marge Si n classifié t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. devient arg min est entre 0 et 1, l exemple est quand même bien n ( 1 2 w 2 + ( t.q. t n w T φ(x n ) + b ) 1, ξ n s the canonical representati ξ n 0. margin pour n = 1,..., N. C N ξ n 28
) ) CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) On va permettre que des exemples ne respectent pas la contrainte de marge Si n t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. devient est plus grand que 1, l exemple est du mauvais côté de la surface de décision et est mal classifié arg min n ( 1 2 w 2 + ( t.q. t n w T φ(x n ) + b ) 1, ξ n s the canonical representati ξ n 0. margin pour n = 1,..., N. C N ξ n 29
) ) CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) On va permettre que des exemples ne respectent pas la contrainte de marge t.q. arg min ( 1 2 w 2 t n ( w T φ(x n ) + b ) 1, spour the canonical n = 1,.. representati., N. devient La constante C > 0 est un hyper-paramètre arg min plus il est petit, plus la capacité diminue (C= revient au prob. original) n ( 1 2 w 2 + ( t.q. t n w T φ(x n ) + b ) 1, ξ n s the canonical representati ξ n 0. margin pour n = 1,..., N. C N ξ n 30
CHEVAUCHEMENT DE CLASSES variables de ressort (slack variables) Exemple : vecteurs de support Les entrées qui violent les contraintes de marge sont aussi des vecteurs de support 31
REPRÉSENTATION DUALE représentation duale On peut montrer que la représentation duale devient N N N L(a) = a n 1 2 m=1 aoù on a toujours C a n 0 et a n a m t n t m k(x n, x m ) N a n t n = 0. Reste un problème de programmation quadratique, mais les contraintes changent 32
REPRÉSENTATION DUALE représentation duale On peut montrer que la représentation duale devient N N N L(a) = a n 1 2 m=1 aoù on a toujours C a n 0 et a n a m t n t m k(x n, x m ) N a n t n = 0. Reste un problème de programmation quadratique, mais les contraintes changent 32
Apprentissage automatique Machine à vecteurs de support - lien avec régression logistique
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes arg min n 1 2 w 2 + C N ξ n t.q. t n y(x n ) 1 n ξ n 0. margin pour n = 1,..., N. 34
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes arg min n 1 2 w 2 + C N ξ n t.q. n 1 t n y(x n ) ξ n 0. margin pour n = 1,..., N. 35
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes t.q. arg min n 1 2 w 2 n 1 + ξ n 0. margin pour n = 1,..., N. C N t n y(x n ) ξ n équivaut arg min NX max(0, 1 t n y(x n )) + w 2 ( =1/(2C) ) 35
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes t.q. arg min n 1 2 w 2 n 1 + ξ n 0. margin pour n = 1,..., N. C N t n y(x n ) ξ n équivaut arg min NX = [1 y n t n ] + (hinge loss) { max(0, 1 t n y(x n )) + w 2 ( =1/(2C) ) 35
APPROCHE PROBABILISTE DISCRIMINANTE cross-entropie Maximiser la vraisemblance est équivalent à minimiser la logvraisemblance négative RAPPEL E(w) = ln p(t w) = Malheureusement, minimiser cette fonction ne se fait pas analytiquement N on va devoir trouver le minimum de façon numérique {t n ln y n + (1 t n ) ln(1 y n )} { cross-entropie (binaire) 36
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes t.q. arg min 1 2 w 2 n 1 + ξ n 0. margin pour n = 1,..., N. C N t n y(x n ) ξ n équivaut arg min NX = [1 y n t n ] + (hinge loss) { max(0, 1 t n y(x n )) + w 2 37
) MACHINE À VECTEURS DE SUPPORT hinge loss On peut réécrire l entraînement d un SVM sous une forme sans contraintes t.q. arg min 1 2 w 2 n 1 + ξ n 0. margin pour n = 1,..., N. C N t n y(x n ) ξ n équivaut arg min arg min NX NX = [1 y n t n ] + (hinge loss) { max(0, 1 t n y(x n )) + w 2 ln(1 + exp( t n y(x n ))) + w 2 { forme équivalente à la régression logistique 37
MACHINE À VECTEURS DE SUPPORT hinge loss La régression logistique est donc une version «lisse» d un SVM E(z) 1[ty(x < 0] max(0, 1 (i.e. erreur 0/1) ty(x)) ln(1 + exp( ty(x))) (t y(x)) 2 2 1 0 1 2 z ty(x) (distance signée) 38
Apprentissage automatique Machine à vecteurs de support - résumé
) MACHINE À VECTEURS DE SUPPORT résumé du SVM (sans noyau) Modèle : y(x) =w T (x)+b Entraînement : résoudre programme quadratique arg min 1 2 w 2 + C N ξ n t.q. t n y(x n ) 1 n ξ n 0. margin pour n = 1,..., N. Hyper-paramètre : C 40 Prédiction : si y(x) 0, sinon C 1 C 2
MACHINE À VECTEURS DE SUPPORT résumé du SVM (avec noyau) Modèle : y(x) =w T (x)+b Entraînement : résoudre programme quadratique (voir équation 7.36 pour obtenir b) arg L(a) min= a N a n 1 2 Hyper-paramètre : C N N a n a m t n t m k(x n, x m ) m=1 t.q. a0 a n C pour n = 1,..., N. N a n t n = 0 plusieurs des a n seront 0! 41 Prédiction : si y(x) 0, sinon C 1 C 2
( ) CAPACITÉ lien entre capacité et C / noyau ( ) Plus C est petit, plus la capacité diminue Noyau polynomial k(x, x ( ) = x T x ) M + c bining kernels we see that plus M est grand, plus le modèle a de la capacité Noyau gaussien k(x, x ( ) = exp x x 2 /2σ 2) 2 plus est petit, plus le modèle a de la capacité 42
EXTENSIONS extensions des SVMs Peut étendre à l estimation d une probabilité voir fin de section 7.1.1 (Platt scaling) p(t = 1 x) = σ (Ay(x) + B) Peut étendre à la régression voir section 7.1.4 y(x) ξ > 0 y + ϵ y y ϵ ξ > 0 x 43