Apprentissage automatique Cours 2: Régression - Classification Logistique - Validation croisée Alexis Lechervy Alexis Lechervy Apprentissage automatique 1 / 49
Sommaire 1 Régression Problématique Résolution analytique Résolution par descente de gradient 2 Classification Logistique 3 Validation croisée Alexis Lechervy Apprentissage automatique 1 / 49
Problématique La régression Principes Exemple Trouver la relation entre une variable et une ou plusieurs autres variables. Expliquer les données. Trouver la fonction qui minimise un critère d erreur entre les valeurs de la fonction aux points d apprentissage et les observations pour effectuer ensuite des prédictions. Recherche d une fonction f a de paramètre a vérifiant y = f a (x). Alexis Lechervy Apprentissage automatique 2 / 49
Problématique Exemple d utilisation de la régression Exemples d utilisation Pression Température d ébullition. Vitesse + taux d humidité de la route Distance de freinage. Taux d alcool dans le sang temps de réaction.... But On souhaite prédire la valeur cible y à partir d une nouvelle entrée x. Alexis Lechervy Apprentissage automatique 3 / 49
Problématique Notations On note N la dimension de l ensemble d apprentissage. X l espace de description des exemples d apprentissage. Généralement X = R d où d est la dimensions des descripteurs. x i le i ème exemple d apprentissage. x i X et x i = [x (i) 1,, x (i) d ]. Y l espace des valeurs de labels, généralement Y = R. y i Y est le label de l exemple i. X la matrice N d des exemples tel que la i ème ligne contienne x i. y = [y 1,, y N ] est le vecteur des labels. Alexis Lechervy Apprentissage automatique 4 / 49
Problématique Les étapes de résolution d un problème de régression Initialisation Récolter un ensemble d exemple d apprentissage. Choisir une classe de fonction (par exemple les fonctions linéaires). Choisir un critère de sélection de la fonction optimale à partir de la classe de fonction. Résolution Trouver la fonction de la classe de fonction qui minimise notre critère de sélection sur nos données d apprentissages. Alexis Lechervy Apprentissage automatique 5 / 49
Problématique Exemple : les fonctions linéaires Ajustement linéaire aux données On cherche la fonction linéaire qui s ajuste au mieux à un ensemble de points observées X = [x 1,, x N ] associés aux labels réelles Y = [y 1,, y N ]. On cherche les paramètres w définissant la fonction f suivantes : f : R R, (1) f (x; w) = w 0 + w 1 x 1 + + w d x d. (2) Alexis Lechervy Apprentissage automatique 6 / 49
Problématique Exemple : les fonctions linéaires Formes générales f (x; w) = w 0 + w, x = w 0 + w 1 x 1 + + w d x d. Cas particuliers Cas 1D : une droite. Cas 2D : un plan. Cas nd : un hyperplan. Alexis Lechervy Apprentissage automatique 7 / 49
Problématique Erreur de prédiction Le critère de moindre carré On peut mesurer l erreur de prédiction en terme de moyenne des distances au carrés : Loss(y, ỹ) = y ỹ 2. On cherche donc les w minimisant la fonction de coût suivantes : L(w, X ) = 1 N N (y i f (x i, w)) 2. Alexis Lechervy Apprentissage automatique 8 / 49
Résolution analytique Résumé Contexte choisie Classe de fonction utilisé : les fonctions linéaires. d f (x; w) = w 0 + w, x = w 0 + w i x i. Critère de sélection : minimisation du risque empirique. L(w, X ) = 1 N N (y i f (x i, w)) 2. Problématique : la régression par moindre carré On cherche les w optimal tel que w = arg min w N y i w 0 2 d w j x (i). Alexis Lechervy Apprentissage automatique 9 / 49 j=1 j
Résolution analytique Minimisation par moindre carré dans le cas 1D Formulation Nous nous restreignons, dans un premier temps, au cas à une seule dimensions : Condition d optimalité w = arg min w L(w) = arg min w N ( y i w 0 w 1 x (i)) 2. Une condition nécessaire pour minimiser L est d annuler les dérivées de L suivant w 0 et w 1. Cette condition est suffisante si la fonction L est convexe. Alexis Lechervy Apprentissage automatique 10 / 49
Résolution analytique Annulation de la dérivée de L suivant w 0 L(w 0, w 1 ) w 0 = = = = w 0 N N N N ( y i w 0 w 1 x (i)) 2, (3) ( y i w 0 w 1 x (i)) 2, (4) w 0 ( 2 y i w 0 w 1 x (i)) ( 1) = 0, (5) ( 2 y i w 0 w 1 x (i)) = 0. (6) Alexis Lechervy Apprentissage automatique 11 / 49
Résolution analytique Annulation de la dérivée de L suivant w 0 L(w 0, w 1 ) w 0 = = = = w 0 N N N N ( y i w 0 w 1 x (i)) 2, (3) ( y i w 0 w 1 x (i)) 2, (4) w 0 ( 2 y i w 0 w 1 x (i)) ( 1) = 0, (5) ( 2 y i w 0 w 1 x (i)) = 0. (6) Annulation de la dérivée de L suivant w 1 L(w 0, w 1 ) N ( = 2 y i w 0 w 1 x (i)) x (i) = 0. w 1 Alexis Lechervy Apprentissage automatique 11 / 49
Résolution analytique Conditions d optimalités On obtient donc les conditions d optimalités suivantes : N ( y i w 0 w 1 x (i)) = 0, N ( y i w 0 w 1 x (i)) x (i) = 0. Remarques Soit ɛ i = y i w 0 w 1 x (i), on a : Les erreurs de prédiction ont une moyenne nulle 1 N N ɛ = 0. Les erreurs de prédiction ne sont pas corrélées avec les données 1 N N ɛx i = 0. Alexis Lechervy Apprentissage automatique 12 / 49
Résolution analytique Calcul de la solution Calcul de w 0 N ( y i w 0 w 1 x (i)) = 0 = w 0 = 1 N = w 0 = 1 N N N ( y i w 1 x (i)) (7) y i w 1 1 N N x (i) (8) = w 0 = ȳ w 1 x. (9) Alexis Lechervy Apprentissage automatique 13 / 49
Résolution analytique Calcul de la solution Calcul de w 0 w 0 = ȳ w 1 x. (10) Calcul de w 1 N ( y i w 0 w 1 x (i)) x (i) = 0 = = N N = w 1 = = w 1 = ( y i (ȳ w 1 x) w 1 x (i)) x (i) = (11) 0 ( ) y i ȳ w 1 ( x + x (i) ) x (i) = (12) 0 1 N N (y i ȳ) x (i) 1 N N ( x + x (i) ) x (i) (13) xy xȳ x 2 x 2. (14) Alexis Lechervy Apprentissage automatique 14 / 49
Résolution analytique Calcul de la solution Calcul de w 0 w0 = ȳ w1 x. (15) Calcul de w 1 w 1 = xy xȳ x 2 x 2. (16) Alexis Lechervy Apprentissage automatique 15 / 49
Résolution analytique Minimisation par moindre carrée dans le cas nd Notations On pose : X = Formulation 1 x (1) 1 x (1) d...... 1 x (N) 1 x (N) d, y = y 1. y N, w = w 0. w d. w = arg min w L(w) = arg min y w ŷ 2 (17) = arg min w (y Xw) (y Xw). (18) Alexis Lechervy Apprentissage automatique 16 / 49
Résolution analytique Rappel mathématique Addition/Multiplication et transposé (AB) = B A, (A + B) = A + B. Dérivée et matrice a b = b a = b, a a a Ba = 2Ba. a Alexis Lechervy Apprentissage automatique 17 / 49
Résolution analytique Condition nécessaire d optimalité Annulation de la dérivée de L suivant w L(w) w = w (y Xw) (y Xw), (19) = [ y y w X y y Xw + w X Xw ], w (20) = 0 X y (y X ) + 2X Xw, (21) = 2(X y X Xw), (22) = X y X Xw = 0. (23) Alexis Lechervy Apprentissage automatique 18 / 49
Résolution analytique Condition nécessaire d optimalité Annulation de la dérivée de L suivant w L(w) w = w (y Xw) (y Xw), (19) = [ y y w X y y Xw + w X Xw ], w (20) = 0 X y (y X ) + 2X Xw, (21) = 2(X y X Xw), (22) = X y X Xw = 0. (23) Solution X Xw = X y, (24) w = (X X ) 1 X y. (25) X = (X X ) 1 X est la pseudo-inverse de X. Si X est inversible la pseudo-inverse est égale à l inverse de X. Alexis Lechervy Apprentissage automatique 18 / 49
Résolution par descente de gradient Méthode de résolution alternative Analyse de la solution analytique Le calcul de la pseudo-inverse est en O(D 3 ). Si le nombre de dimension des descripteurs est grand, le calcul de la pseudo-inverse peut s avérer très couteux. Solution de résolution alternative : la descente de gradient Cette solution consiste à atteindre le minimum d une fonction par des descentes successive selon son gradient (la plus forte pente). On change itérativement la valeur de w selon son gradient de L(w n ) : w n+1 w n α w L(w n ). Alexis Lechervy Apprentissage automatique 19 / 49
Résolution par descente de gradient Résolution d un problème de régression par descente de gradient A chaque itération on met à jour w w n+1 = w n α w L(w n ), (26) ] w n+1 = w n α w [(y Xw) (y Xw), (27) w n+1 = w n + 2αX (y Xw), (28) N w n+1 = w n + 2α (y i f (x i, w n )) x i. (29) Online gradient descent regression Afin d accélérer les calcules, on peut utiliser un descente de gradient stochastique. On approxime le gradient de L par le gradient de la fonction de coût pour un exemple : w n+1 = w n + 2α(y i f (x i, w n ))x i Alexis Lechervy Apprentissage automatique 20 / 49
Résolution par descente de gradient Normalisation des entrées Normalisation des entrées L amplification des modifications de w dépend de x i. Généralement on normalise les données de façon à avoir les entrées entre -1 et 1 et de moyenne nulle : x i = x i x σ. avec x = 1 N N x i et σ 2 = 1 N N 1 (x i x) 2. Alexis Lechervy Apprentissage automatique 21 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Exemple de descente de gradient Alexis Lechervy Apprentissage automatique 22 / 49
Résolution par descente de gradient Régression pour des fonctions non linéaires Hypothèse sur la famille de fonction On considère les fonctions de type f (x; w) = w 0 + w 1 ϕ 1 (x) + + w m ϕ m (x). Résolution On calcul les valeurs ϕ i (x) pour tout i, puis on effectue une régression linéaire dans ce nouvelle espace. { i, x i = ϕ i (x)} f (x; w) = w 0 + w 1 x 1 + + w m x m. Alexis Lechervy Apprentissage automatique 23 / 49
Résolution par descente de gradient Exemple de fonction ϕ La régression polynomiale Combinaison d exponentielle ϕ i = x i. ϕ i = exp ( (x µ i) 2 ) 2σ 2. Combinaison de sigmoïde ( ) x µi ϕ i = s σ avec s(a) = 1 1 + exp( a). Alexis Lechervy Apprentissage automatique 24 / 49
Résolution par descente de gradient Exemple de régression polynomiale = On constate un phénomène de surapprentissage. Alexis Lechervy Apprentissage automatique 25 / 49
Résolution par descente de gradient Régularisation Motivation Pour éviter le surapprentissage, on ajoute un terme de régularisation dans le problème d optimisation pour pénaliser "les solution trop complexe" (cf. principe du rasoir d Occam). Le problème d optimisation régularisé w = arg min L(w) + λr(w). w r est une fonction de régularisation mesurant "la complexité" de la solution w. λ permet de régler le compromis entre attache aux données et "simplicité" de la solution. La fonction de régularisation r On choisie généralement une fonction de régularisation de la forme : d r(w) = w i q i=0 Alexis Lechervy Apprentissage automatique 26 / 49
Résolution par descente de gradient Régression d arête (Ridge Regression) Problème d optimisation On choisie une fonction de régularisation r avec q = 2. On veux minimiser : Solution analytique Exemples w ridge = arg min w N y i w 0 d w j x (i) j=1 w ridge = (λi + X X ) 1 X y. j 2 + λ d j=0 w 2 j. Alexis Lechervy Apprentissage automatique 27 / 49
Résolution par descente de gradient La régression LASSO (LASSO Regression) Problème d optimisation On choisie une fonction de régularisation r avec q = 1. On veux minimiser : w ridge = arg min w N y i w 0 d w j x (i) j=1 j 2 + λ d w j. j=0 Remarques On cherche une solution dont le maximum de coefficient soit nuls (parcimonie). Le problème n est plus minimisable par descente de gradient à cause de la discontinué de la dérivée de la fonction valeur absolue. On se base sur la forme Lagrangienne du problème d optimisation pour le résoudre. Alexis Lechervy Apprentissage automatique 28 / 49
Résolution par descente de gradient Forme Lagrangienne des problèmes de régression La régression d arête (Ridge Regression) N arg min w wridge = ( y i w 0 ) 2 d j=1 w jx (i) j sous contrainte d j=0 w j 2 t La régression LASSO N arg min w wridge = ( y i w 0 ) 2 d j=1 w jx (i) j sous contrainte d j=0 w j t.. Alexis Lechervy Apprentissage automatique 29 / 49
Classification Logistique Sommaire 1 Régression 2 Classification Logistique 3 Validation croisée Alexis Lechervy Apprentissage automatique 29 / 49
Classification Logistique Utilisation de la régression pour faire de la classification? Principe de la régression La régression consiste à apprendre une fonction f établissant un mapping d un espace X vers un espace continu Y. Principe de la classification La classification consiste à apprendre une fonction f établissant un mapping d un espace X vers un espace discret Y. Généralement Y = {0, 1} ou Y = { 1, 1}. Idée d approche naïve { 1 si Utiliser la régression pour apprendre une fonction f (w yi = 1, x i ) = 1 sinon Lors de la classification d un nouvel exemple, on regarde uniquement le signe de f (w, x i ) pour l attribuer à une des deux classes. Dans ce cas, l équation f (w, x) = 0 définit une frontière de décision qui partitionne l espace X en deux sous-espaces.. Alexis Lechervy Apprentissage automatique 30 / 49
Classification Logistique Exemple 1D Alexis Lechervy Apprentissage automatique 31 / 49
Classification Logistique Exemple 1D Alexis Lechervy Apprentissage automatique 31 / 49
Classification Logistique Exemple 1D Alexis Lechervy Apprentissage automatique 31 / 49
Classification Logistique Exemple 1D Alexis Lechervy Apprentissage automatique 31 / 49
Classification Logistique Est-ce une bonne approche? Alexis Lechervy Apprentissage automatique 32 / 49
Classification Logistique Comment utiliser la régression correctement pour faire de la classification? Idée Apprendre un régresseur donnant la probabilité d appartenir à la classe des positifs. f w (x) = P(y = 1 x, w). Si f w (x) 0.5 la classe prédite est 1. Si f w (x) < 0.5 la classe prédite est 0. Comme la somme des probabilités vaut 1 : P(y = 0 x, w) = 1 P(y = 1 x, w) = 1 f w (x). Alexis Lechervy Apprentissage automatique 33 / 49
Classification Logistique Le cas linéaire Comment transformer une fonction linéaire en probabilité? On utilise une sigmoïde g qui transforme une fonction de R en fonction dans l intervalle [0, 1]. 1 g(x) = 1 + e x. Alexis Lechervy Apprentissage automatique 34 / 49
Classification Logistique La classification logistique Famille de fonction cible On cherche à apprendre une fonction logistique de la forme Remarques P(y = 1 x) = f w (x) = g(w x) = 1 1 + e w x. Si f w (x) = 0.7, on a 70% de chance que x appartienne à la classe 1. w x = 0 f w (x) = 0.5. w x 0 f w (x) 0.5 x est dans la classe 1. Fonction de coût On va chercher à résoudre un problème similaire à la régression avec une fonction de coût de type : L(w, X ) = 1 N loss(f w (x i ), y i ). N Alexis Lechervy Apprentissage automatique 35 / 49
Classification Logistique La fonction de coût Utilisation de la même fonction que pour la régression Si on prend loss(f w (x i ), y i ) = f w (x i ) y i 2 comme pour la régression, L(w, X ) n est pas convexe! Utilisation des probabilités pour choisir une fonction de coût On veux maximiser la probabilité que les exemples x soit classé dans la bonne classe. Si on suppose que tout les couples (x i, y i ) sont indépendant les un des autres alors la probabilité que tout les exemples soit bien classé est égale à i P(y i x i ). On cherche donc w = arg max w = arg max log w = arg max w P(y i x i ), (30) i i ( ) P(y i x i ), (31) i log (P(y i x i )), (32) 1 = arg min log (P(y i x i )). (33) w N Alexis Lechervy Apprentissage automatique i 36 / 49
Classification Logistique La fonction de coût pour la classification logistique Fonction de coût On prend donc loss(f w (x i ), y i ) = log(p(y i x i )). On a donc pour la classification binaire : { log(fw (x loss(f w (x i ), y i ) = i )) si y = 1 log(1 f w (x i )) si y = 0. Analyse de la fonction de coût Si y = 1 et f w (x) = 1, le coût vaut 0 et augmente si f w (x) décroît. Si y = 0 et f w (x) = 0, le cout vaut 0 et augmente si f w (x) croît. Alexis Lechervy Apprentissage automatique 37 / 49
Classification Logistique La fonction de coût pour la classification logistique Comme on a toujours y à 0 ou 1, on peut simplifier la fonction de cout à optimiser par : L(w, X ) = 1 N = 1 N = 1 N N loss(f w (x i ), y i ), (35) N log (P(y i x i )), (36) N y i log(f w (x i )) + (1 y i ) log(1 f w (x i )). (37) Alexis Lechervy Apprentissage automatique 38 / 49
Classification Logistique Convexité de la fonction de coût Dérivée d une sigmoïde dg(a) da = g(a)(1 a). Dérivée première de la fonction de coût L(w, X ) w = 1 N N ( g(w ) x i ) y i xi. Dérivée seconde de la fonction de coût 2 L(w, X ) w 2 = 1 N N g(w x i )(1 g(w x i ))x 2 i > 0. La fonction est donc bien convexe. On peut donc utiliser une descente de gradient pour résoudre le problème d optimisation. Alexis Lechervy Apprentissage automatique 39 / 49
Classification Logistique Classification logistique non linéaire On peut considérer le cas des fonctions non linéaire en utilisant la même astuce que pour la régression : P(y = 1 x, w) = g(w 0 + w 1 ϕ 1 (x) + + w m ϕ m (x)). Alexis Lechervy Apprentissage automatique 40 / 49
Validation croisée Sommaire 1 Régression 2 Classification Logistique 3 Validation croisée Alexis Lechervy Apprentissage automatique 40 / 49
Validation croisée Décomposition en Biais/Variance Notations On cherche à apprendre le modèle bruité : y = F (x) + ν. On approche F par f (x, ŵ) H. Pour un ensemble X, on a ˆf (x) = f (x, ŵ) et f (x) = E X [f (x, ŵ)] la moyenne sur plusieurs ensembles de données. Biais/Bruit/Variance Alexis Lechervy Apprentissage automatique 41 / 49
Validation croisée Décomposition en Biais/Variance Décomposition E[l erreur quadratique] = biais 2 + variance + noise On ne peut rien faire pour réduire le bruit. Le biais est minimisé par notre fonction de coût quadratique. La variance est réduite par le terme de régularisation et/ou une validation croisé. Alexis Lechervy Apprentissage automatique 42 / 49
Validation croisée Idée de la validation croisé Idée On pourrait calculer l erreur sur un échantillon indépendant n ayant pas participé à l estimation du modèle. Les jeux de données On peut découpé l ensemble des données trois jeux de données : Train : données permettant l apprentissage, Val : données permettant de valider l apprentissage et notamment régler les paramètres de la méthode d apprentissage, Test : données de test permettant de mesurer les performances de la méthode. Chacun de ces ensembles doivent être statiquement représentatif des données que vous pouvez rencontrer. Vous pouvez, par exemples, tirer au hasard de façon uniforme chacun des trois ensembles en respectant l équilibre des classes. Alexis Lechervy Apprentissage automatique 43 / 49
Validation croisée La validation croisée Principe Itérer l estimation de l erreur sur plusieurs échantillons de validation puis en calculer la moyenne. C est indispensable pour réduire la variance et améliorer la précision lorsque la taille de l échantillon initial est trop réduite pour en extraire un échantillon de validation ou test de taille suffisante. Plusieurs stratégies existent : k-fold, leave-one-out,... k-fold cross-validation Découper aléatoirement l échantillon d apprentissage D en K parts de tailles approximativement égales. Répéter K fois l opération qui consiste à mettre de côté l une des parties, estimer le modèle sur les K 1 parties restantes, calculer l erreur sur chacune des observations n ayant pas participé à l estimation. Moyenner toutes ces erreurs pour aboutir à l estimation par validation croisée. Leave one out On utilise la même stratégie que la k-fold cross-validation mais la partie mise de coté a une taille d un exemple. Alexis Lechervy Apprentissage automatique 44 / 49
Validation croisée K-fold cross validation Alexis Lechervy Apprentissage automatique 45 / 49
Validation croisée Leave one out cross validation Les modèles sont appris sur toutes les données sauf le i-ème exemple. Alexis Lechervy Apprentissage automatique 46 / 49
Validation croisée Exemple de cross-validation Alexis Lechervy Apprentissage automatique 47 / 49
Validation croisée Sélection de modèle par validation simple Algorithme Sélection d une famille de fonction avec un hyperparamètre θ. Divisé l ensemble d apprentissage D n en deux : D tr = {x 1,, x tr}, D val = {x tr+1,, x tr+val }, On a n = tr + val. Pour toute les valeurs de θ m de l hyperparamètre θ faire : Sélectionner f θ m (D tr ) = arg min f Fθm ˆL(f, D tr ). Estimer L(f θ m ) avec ˆL(f, D val ) = 1 val Choisir θ = arg min θm L(f θ m ). Retourner f = arg min f Fθ m ˆL(f, Dn ). x i D val loss(x i, f θ m ). Alexis Lechervy Apprentissage automatique 48 / 49
Validation croisée Sélection de modèle par cross validation croisée Algorithme Sélection d une famille de fonction avec un hyperparamètre θ. Divisé l ensemble d apprentissage D n en K ensembles distincts de même taille D 1,, D K. Pour toute les valeurs de θ m de l hyperparamètre θ faire : Pour chaque ensemble D k et D k = D n \ D k faire : Sélectionner fθ m ( D tr ) = arg min f Fθm ˆL(f, D). Estimer L(fθ m ( D k )) avec ˆL(f, D k ) = 1 D k Choisir L(f ) avec 1 K Choisir θ = arg min θm L(fθ m ). k L(f θ m ( D k )). Retourner f = arg min f Fθ m ˆL(f, Dn ). x i D k loss(x i, f θ m ). Alexis Lechervy Apprentissage automatique 49 / 49