Réseaux de neurones : modèle linéaire
Transcription
Réseaux de neurones : modèle linéaire
Réseaux de neurones : modèle linéaire Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Réseaux de neurones – Le modèle linéaire – p.1/58 Plan du cours “modèle linéaire” 1. Le modèle linéaire (lien avec les réseaux de neurones) 2. La régression linéaire simple 3. La régression linéaire multiple 4. Comportement asymptotique des moindres carrés 5. Modèle linéaire et discrimination Réseaux de neurones – Le modèle linéaire – p.2/58 Cadre applicatif Le modèle linéaire s’applique aux problèmes supervisés : Régression Discrimination (Classification supervisée) Rappel du modèle mathématique : N exemples, des vecteurs (xk )1≤k≤N de Rn discrimination : chaque vecteur est associé à une classe régression : chaque vecteur est associé à une cible, les (y k )1≤k≤N , des vecteurs de Rp Expression statistique des problèmes : Discrimination : estimer P (Cj |x) Régression : estimer E(Y |x) Bibliographie : voir les excellents supports de cours de Philippe Besse, à l’url : http://www.lsp.ups-tlse.fr/Besse/enseignement.html Réseaux de neurones – Le modèle linéaire – p.3/58 Le modèle linéaire en régression On cherche donc à trouver un lien entre xk et y k , c’est-à-dire trouver une fonction f telle que f (xk ) ' y k . Le modèle le plus simple est le modèle linéaire : paramètres : une matrice A (p lignes et n colonnes) et un vecteur b (dans Rp ) le modèle : f (xk ) = Axk + b le modèle est : affine par rapport à xk linéaire par rapport à (A, b) Comment choisir A et b ? Réseaux de neurones – Le modèle linéaire – p.4/58 Lien avec les réseaux de neurones Un réseau à une couche : structure la plus simple possible (ce n’est même pas un réseau !) très proche des méthodes classiques (linéaires) Graphiquement : Entrées Sorties Ici, 3 entrées et 2 sorties : une fonction de R3 dans R2 . Réseaux de neurones – Le modèle linéaire – p.5/58 Neurone élémentaire Un neurone est en général défini par : 1. une fonction d’activation (ou de transfert), T : R → R 2. un nombre entier d’entrées Un neurone à n entrées est associé à n + 1 paramètres numériques : n poids synaptiques (chaque poids correspond à une flèche dans le dessin) un seuil (threshold) ou biais (bias) Un neurone à n entrées calcule la fonction suivante : ! n X ai xi + b f (x1 , . . . , xn ) = T i=1 Réseaux de neurones – Le modèle linéaire – p.6/58 Calcul pour une couche Un réseau à une couche avec n et p sorties calcule donc : ! n X aji xi + bj f (x1 , . . . , xn )j = Tj i=1 soit matriciellement : f (x) = T(Ax + b), avec T1 (y1 ) T(y) = · · · Tp (yp ) Si T = Id, on obtient le modèle linéaire ! Réseaux de neurones – Le modèle linéaire – p.7/58 Régression linéaire simple Le cas le plus simple de régression linéaire correspond à n=p=1: on dispose de N couples de réels (xk , y k )1≤k≤N on cherche a et b deux réels tels que y k ' axk + b solution classique, les moindres carrés : on cherche a et b qui minimisent on a b b) = E(a, ∂ Eb = 2N ∂b N X k=1 k ax + b − y 1 b+ N N X k=1 k 2 (axk − y k ) ! Réseaux de neurones – Le modèle linéaire – p.8/58 Régression linéaire simple (2) on a N X N X ∂ Eb xk (b − y k ) (xk )2 + =2 a ∂a k=1 k=1 ! si, on note x la moyenne (empirique) des xk , y celle des y k , x2 celle des (xk )2 et xy la moyenne du produit xk y k , on trouve (en annulant les dérivées) : xy − x.y b a = x2 − (x)2 2 .y − x.xy x bb = x2 − (x)2 Réseaux de neurones – Le modèle linéaire – p.9/58 Exemple de mise en œuvre 140 120 130 Weight (lb) 150 160 women data: American women aged 30−39 58 60 62 64 66 68 70 72 Height (in) Données réelles : taille et poids de femmes américaines en 1975 (McNeil, D. R., 1977) Réseaux de neurones – Le modèle linéaire – p.10/58 Ca ne fonctionne pas toujours ... 10000 0 airmiles 20000 30000 airmiles data 1940 1945 1950 1955 1960 assenger−miles flown by U.S. commercial airlines Données réelles : nombres de milles parcourus sur les compagnies US entre 1937 et 1960 (Brown, R. G., 1963) Réseaux de neurones – Le modèle linéaire – p.11/58 Une petite transformation ... 15000 0 5000 10000 airmiles 20000 25000 30000 airmiles data 1940 1945 1950 1955 1960 assenger−miles flown by U.S. commercial airlines Modèle linéaire sur log(airmiles) ! Réseaux de neurones – Le modèle linéaire – p.12/58 Une autre transformation ... 15000 0 5000 10000 airmiles 20000 25000 30000 airmiles data 1940 1945 1950 1955 1960 assenger−miles flown by U.S. commercial airlines √ Modèle linéaire sur airmiles ! Réseaux de neurones – Le modèle linéaire – p.13/58 Modélisation statistique On modélise le problème de la façon suivante : les (xk )1≤k≤N sont donnés et non aléatoires y k est une réalisation de la v.a. Y k = axk + b + U k les (U k )1≤k≤N sont des v.a. indépendantes identiquement distribuées avec : E(U k ) = 0 σ 2 (U k ) = σu2 Dans ce cadre, on montre que b a et bb sontdes estimateurs sans biais de a et b 2 PN 1 k k b ax + bb − y est un estimateur sans biais de N −2 σu2 k=1 si les U k sont des v.a. gaussiennes, on peut calculer de façon exacte la distribution de (b a, bb), ce qui permet de donner des intervalles de confiance pour les coefficients Réseaux de neurones – Le modèle linéaire – p.14/58 Exemple Protocole : on prend xk équirépartis dans [−1, 1] avec N = 20 on engendre les U k selon une loi normale d’écart-type 0.2 on pose Y k = 0.5xk − 0.2 + U k on calcule b a et bb on recommence 2000 fois pour chaque estimateur, on trace l’histogramme des valeurs obtenues on calcule la moyenne des valeurs (approximation de l’espérance d’après la loi des grands nombres) : E(b a) ' 0.5002 E(bb) ' −0.2004 Réseaux de neurones – Le modèle linéaire – p.15/58 Exemple (2) 100 50 0 Effectif 150 200 Estimateur de a 0.3 0.4 0.5 0.6 0.7 a Réseaux de neurones – Le modèle linéaire – p.16/58 Exemple (3) 100 50 0 Effectif 150 Estimateur de b −0.35 −0.30 −0.25 −0.20 −0.15 −0.10 −0.05 b Réseaux de neurones – Le modèle linéaire – p.17/58 Maximum de vraisemblance Si on choisit un modèle pour les U k , on peut procéder par maximum de vraisemblance : U k ∼ N (0, σu ) vraisemblance d’une observation (y−ax−b)2 1 − 2σ 2 L(a, b, x, y) = √ e σ 2π vraisemblance des N observations k k L(a, b, (x ), (y )) = 1 (2σu π) N 2 e − N (y −ax −b)2 k k=1 k 2 2σu Maximiser la vraisemblance revient à la Pmaximiser 2 (y − ax − b) ! log-vraisemblance, soit ici minimiser N k k k=1 Bruit gaussien ⇒ MV équivalent aux moindres carrés Réseaux de neurones – Le modèle linéaire – p.18/58 Résumé des propriétés théoriques On peut généraliser le modèle au cas où les xk sont des réalisations de v.a. X k . On fait donc les hypothèses suivantes : X et Y sont deux v.a. telles que E(Y |X = x) = ax + b σ 2 (Y |X = x) = σu2 les (xk , y k ) sont des réalisations indépendantes de (X, Y ) Dans ce cas : les estimateurs de a et b obtenus par le critère des moindres carrés (MC) sont sans biais l’erreur résiduelle divisée par N − 2 est un estimateur sans biais de σu2 si Y − E(Y |X) ∼ N (0, σu ) : les estimateurs MC sont ceux du maximum de vraisemblance on peut calculer explicitement la distribution de (a, b) Réseaux de neurones – Le modèle linéaire – p.19/58 50 Attention : robustesse des MC 0 10 20 30 40 données modèle réel modèle linéaire 5 10 15 20 Moindres carrés classiques Réseaux de neurones – Le modèle linéaire – p.20/58 50 Attention : robustesse des MC 0 10 20 30 40 données modèle réel modèle linéaire robuste 5 10 15 20 Moindres carrés robustes Réseaux de neurones – Le modèle linéaire – p.20/58 Cas général : la régression linéaire multiple Dans le cas général, xk et y k sont des vecteurs. La méthode des moindres carrés conduit à minimiser N X 2 k k b b) = Ax + b − y E(A, k=1 Pour la résolution, on écrit : Ax + b = Cz, avec C = (Ab) z = x 1 ! Réseaux de neurones – Le modèle linéaire – p.21/58 Régression linéaire multiple (2) On montre que la différentielle de E(C) s’écrit : 2 N X k=1 Cz k − y k z kT En posant Z = (z 1 z 2 . . . z N ) Y = (y 1 y 2 . . . y N ) la différentielle devient : 2(CZ − Y )Z T Réseaux de neurones – Le modèle linéaire – p.22/58 Régression linéaire multiple (3) On doit donc résoudre : ZZ T C T = ZY T Deux cas : 1. on peut calculer l’inverse de ZZ T (algorithme en O(n3 )) 2. ZZ T n’est pas inversible en pratique : on utilise une SVD (décomposition en valeurs singulières, algorithme en O(n4 )) Il y a toujours une solution et on sait toujours la calculer en prab est l’estimateur des moindres carrés tique. Cette solution, C, du modèle linéaire. Réseaux de neurones – Le modèle linéaire – p.23/58 Singular Value Decomposition Soit une matrice A, m × n. La SVD de A est un triplet de matrices, U , D et V telles que : D est une matrice n × n diagonale dont les termes diagonaux (les valeurs singulières) sont positifs ou nuls et rangées par ordre décroissant U et V sont des matrices orthonormées A = V DU T le nombre de valeurs singulières strictement positives donne le rang de A Exemple : ! √ ! √ ! !√ 5 −1 −2 2 −1 −1 1 1 10 0 = 5 2 2 2 −2 1 −1 1 0 0 Réseaux de neurones – Le modèle linéaire – p.24/58 Singular Value Decomposition (2) Permet de définir la pseudo-inverse d’une matrice : dans D, on remplace les petites valeurs singulières (par e Par exemple, s’il exemple < 10−8 ) par 0, ce qui donne D. ne reste que 2 valeurs non nulles : e = D α1 0 0 ··· 0 0 α2 0 ··· 0 0 . . . 0 0 . . . . . . ··· 0 0 . . . ··· 0 0 0 . . . e T A ' V DU on définit D† comme la matrice diagonale dont les seuls termes diagnonaux non nuls sont les inverses des αi on définit la pseudo-inverse de A par A† = V D† U T Réseaux de neurones – Le modèle linéaire – p.25/58 Exemple : série temporelle 0.5 1.0 xt 1.5 2.0 Une série temporelle 0 50 100 150 200 t Réseaux de neurones – Le modèle linéaire – p.26/58 Exemple : série temporelle Une série temporelle 0.5 1.0 xt 1.5 2.0 données modèle linéaire 0 50 100 150 200 t Prédiction par modèle linéaire ! Réseaux de neurones – Le modèle linéaire – p.26/58 Exemple 1.0 0.5 0.0 prédiction 1.5 2.0 Qualité de la prédiction 0.5 1.0 1.5 2.0 xt Réseaux de neurones – Le modèle linéaire – p.27/58 Modélisation auto-regressive On écrit xt = a1 xt−1 + a2 xt−2 + . . . + an xt−n + (t) On trouve les coefficients par moindres carrés (par exemple). Grosse difficulté : choix de l’ordre du modèle (i.e., la valeur de n). Dans notre exemple, n = 2. Réseaux de neurones – Le modèle linéaire – p.28/58 Représentation graphique en “3D” data ar model 3 2.5 2 1.5 1 0.5 0 -0.5 -1 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 Réseaux de neurones – Le modèle linéaire – p.29/58 Représentation graphique en “3D” data ar model 3 2.5 2 1.5 1 0.5 0 -0.5 -1 0 0.5 1 1.5 2 2.5 0 1 0.5 2 1.5 2.5 Réseaux de neurones – Le modèle linéaire – p.29/58 Données réelles 100 50 0 nombre de tâches solaires 150 Tâches solaires 1700 1750 1800 1850 1900 1950 Année Réseaux de neurones – Le modèle linéaire – p.30/58 Données réelles Tâches solaires 100 50 0 nombre de tâches solaires 150 données modèle ar 1700 1750 1800 1850 1900 1950 Année Réseaux de neurones – Le modèle linéaire – p.30/58 100 50 prédiction 150 Qualité de la prédiction 0 50 100 150 donnée Réseaux de neurones – Le modèle linéaire – p.31/58 Propriétés théoriques Exactement les mêmes que pour la régression simple. Hypothèses : X et Y sont deux v.a. telles que E(Y |X = x) = Ax + b cov(Y |X = x) = σu2 I (covariance) les (xk , y k ) sont des réalisations indépendantes de (X, Y ) Dans ce cas : les estimateurs de A et b obtenus par le critère des moindres carrés (MC) sont sans biais l’erreur résiduelle divisée par N − n − 1 est un estimateur sans biais de σu2 si Y − E(Y |X) ∼ N (0, σu I) : les estimateurs MC sont ceux du maximum de vraisemblance on peut calculer explicitement la distribution de (A, b) Réseaux de neurones – Le modèle linéaire – p.32/58 Résumé En résumé, si les données suivent un modèle linéaire : on peut estimer simplement ses paramètres (algèbre linéaire) l’estimation est sans biais elle correspond au maximum de vraisemblance pour une erreur gaussienne on peut donner des intervalles de confiance, etc. Problème : que se passe-t-il si les données ne suivent pas un modèle linéaire ? Réseaux de neurones – Le modèle linéaire – p.33/58 Régression non linéaire La régression linéaire est un cas particulier du modèle de régression paramétrique : on suppose donnée une fonction F de W × Rn dans Rp W les paramètres (numériques) du modèle on cherche w ∈ W tel que F (w, xk ) ' y k Exemple : le modèle linéaire pur, F (A, xk ) = Axk , où A est une matrice p × n le modèle affine, F ((A, b), xk ) = Axk + b, où A est une matrice p × n et b un vecteur de Rp les modèles linéaires généralisés et les perceptrons multi-couches (cf prochains cours) Problème : comment choisir w ? Une solution : les moindres carrés ! Réseaux de neurones – Le modèle linéaire – p.34/58 Pourquoi les moindres carrés ? Modélisation probabiliste : (xk , y k ) réalisations d’une suite de variables aléatoires i.i.d. (X k , Y k ). Loi forte des grands nombres : N X 2 1 2 k k F (w, x ) − y → E kF (w, X) − Y k p.s. EbN (w) = N k=1 En fait, la convergence est uniforme et on a : lim d(wN , W ) = 0 p.s. N →∞ avec wN un minimiseur de EbN (w) et W l’ensemble des minima 2 de E kF (w, X) − Y k Réseaux de neurones – Le modèle linéaire – p.35/58 Exemple 0.9 1.0 1.1 ^ EN(0) 1.2 1.3 1.4 1.5 On prend y k = ek , un bruit gaussien de variance 1. Modèle y k = wxk . Pour w = 0, on obtient l’erreur quadratique suivante : 0 1000 2000 3000 4000 5000 N Réseaux de neurones – Le modèle linéaire – p.36/58 Exemple (2) 35 On considère l’erreur du modèle pour w dans [−2, 2], avec entre 2 et 500 observations. Les xk sont choisis aléatoirement 2 uniformément dans [−5, 5]. Erreur théorique : 1 + 25 w . 3 0 5 10 15 ^ EN(w) 20 25 30 N=2 N=5 N=10 N=15 N=20 N=30 N=50 N=100 N=500 théorique −2 −1 0 w 1 2 Réseaux de neurones – Le modèle linéaire – p.37/58 8 6 0 2 4 max w∈[−2,2] ^ E N(w)−E(w) 10 12 Exemple (3) 0 1000 2000 3000 4000 5000 N Ecarts maximaux (en valeur absolue) à l’erreur théorique Réseaux de neurones – Le modèle linéaire – p.38/58 Pourquoi les moindres carrés ? (2) Par définition : 2 λ(w) = E kF (w, X) − Y k = Z kF (w, x) − yk2 p(x, y)dxdy On conditionne, i.e., on utilise p(x, y) = p(y|x)p(x). Après quelques manipulations, on obtient : λ(w) = Z kF (w, x) − E(Y |x)k2 p(x)dx Z 2 2 + E(kY k |x) − kE(Y |x)k p(x)dx En minimisant λ, on approche donc E(Y |x). L’estimateur de w par les moindres carrés donne donc asymptotiquement la meilleure approximation de E(Y |x) par F (w, x). Réseaux de neurones – Le modèle linéaire – p.39/58 Maximum de vraisemblance On reprend le raisonnement du cas linéaire : on suppose que le modèle s’écrit Y k = F (w, X k ) + U k U k est un vecteur gaussien centré de matrice de covariance σu I la vraisemblance de N observations s’écrit alors k k L(w, (x ), (y )) = 1 N e − N (y −F (w,x ))2 k k=1 k 2 2σu (2σu π) 2 comme pour le modèle linéaire, maximiser la vraisemblance revient donc à minimiser l’erreur quadratique Réseaux de neurones – Le modèle linéaire – p.40/58 Régression linéaire : résumé Réseau à une couche avec neurones linéaires : permet de modéliser une relation affine y = Ax + b les moindres carrés correspondent à la recherche d’une approximation de E(y|x) les moindres carrés sont équivalents au maximum de vraisemblance dans le cas d’un bruit gaussien les coefficients optimaux sont toujours calculables le modèle est simple mais utile A toujours utiliser comme référence avant un traitement par un réseau de neurones plus puissant. Réseaux de neurones – Le modèle linéaire – p.41/58 Application à la discrimination Il suffit de construire y k en fonction de la classe de xk (codage disjonctif complet) : problème à deux classes : xk ∈ C1 ⇒ y k = 1, xk ∈ C 2 ⇒ y k = 0 problème à q classes : y k ∈ Rq , avec xk ∈ Cj ⇔ yqk = δqj Par exemple pour trois classes, la classe 2 correspond à (0, 1, 0). Attention ! Ne jamais utiliser un codage numérique (par exemple xk ∈ Cj ⇒ y k = j), cela induit une structure artificielle sur la fonction à modéliser. Cas linéaire : même méthode de résolution (moindres carrés). Réseaux de neurones – Le modèle linéaire – p.42/58 Classement d’un nouvel individu Comment classer x ? Solution intuitive : deux classes : si F (w, x) > 0.5 ⇒ C1 , sinon C2 q classes : on calcule y = F (w, x) et on affecte x à Cj tel que yj = maxl yl . Pourquoi cela fonctionne-t-il ? F (w, x) approche E(Y |x) : deux classes : E(Y |X = x) = P (C1 |x) q classes : E(Yj |X = x) = P (Cj |x) Donc, F (w, x) > 0.5 correspond approximativement à P (C1 |x) > 0.5. ⇒ l’affectation à C1 est la décision optimale. Réseaux de neurones – Le modèle linéaire – p.43/58 Classement optimal On coupe l’espace Rn en q zones (quelconques), Rj . Probabilité de ne pas faire d’erreur en classant x : P (ok) = q X P (x ∈ Rj , Cj ) j=1 On a P (ok) = q X j=1 = P (x ∈ Rj |Cj )P (Cj ) q Z X j=1 p(x|Cj )P (Cj )dx Rj Réseaux de neurones – Le modèle linéaire – p.44/58 Classement optimal (2) Pour maximiser P (ok), il suffit de définir Rj par : Rj = {x | p(x|Cj )P (Cj ) > p(x|Ct )P (Ct ) pour t 6= j} Or p(x|Cj )P (Cj ) = P (Cj |x)p(x) Il suffit donc de choisir j qui maximise P (Cj |x). Extension : notion de risque. Lkj coût pour la décision k alors que la vraie classe est j. Coût total : R= q Z X j=1 q X Lkj p(x|Ck )P (Ck )dx Rj k=1 Application : diagnostic médical par exemple. Réseaux de neurones – Le modèle linéaire – p.45/58 Le cas gaussien Distribution gaussienne en dimension quelconque (n) : p(x) = 1 np (2π) 2 − 21 (x−µ)T Σ−1 (x−µ) |Σ| exp µ est le vecteur moyenne et Σ la matrice de covariance (|Σ| est le déterminant de la matrice). On a : E(x) = µ T E (x − µ)(x − µ) = Σ Mélange de q gaussiennes : p(x) = q X P (Cj )p(x|Cj ) j=1 Réseaux de neurones – Le modèle linéaire – p.46/58 Exemple Classe 0 Classe 1 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 4 3 2 1 -4 -3 0 -2 -1 0 -1 1 2 -2 3 4 -3 2 gaussiennes Réseaux de neurones – Le modèle linéaire – p.47/58 Exemple (simulation) Données −2 0 y 2 4 classe 0 classe 1 −4 −2 0 2 x 2 gaussiennes Réseaux de neurones – Le modèle linéaire – p.48/58 Exemple (simulation) Données + + classe 0 classe 1 + + + + + 4 + + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + ++ + + ++ + + + ++ + + + + + + + + + ++ + + + + + + + + + + ++ +++ + + + + + + + + ++ + + + + + + + + ++ + + + ++ + ++ + + + + + + + ++ + ++ + + ++ + + + ++ + + + + + ++ ++ + + + + + + ++ + + + + ++ + + + + + + ++ ++ +++ ++ + + ++ + ++ ++ + ++ + + ++ + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + ++ + + + + + + + + + + ++ + ++ + + ++ +++ + + ++ + +++ ++ + + + + + + + + + + + + + + + + + + ++ + + ++ + ++ + + + + ++ + + + + + + + + + + + + ++ ++ + + + + + ++ + + + + ++ + + + + + + + + + + ++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + + ++ + −2 0 + + + +++ + ++ + + + + + + + + + + + + + + 2 x 2 gaussiennes Réseaux de neurones – Le modèle linéaire – p.48/58 Classement optimal gaussien Maximiser p(x|Cj )P (Cj ) revient à maximiser ln(p(x|Cj )P (Cj )), c’est-à-dire : 1 1 T −1 dj (x) = − (x − µj ) Σj (x − µj ) − ln |Σj | + ln P (Cj ) 2 2 Pour chaque classe on a une forme quadratique en x : frontières quadratiques. Si on a une matrice Σ unique, trouver le dj (x) maximum revient à trouver le fj (x) maximum : fj (x) = µTj Σ−1 x 1 T −1 − µj Σ µj + ln P (Cj ) 2 Les fj sont linéaires : frontières linéaires. Réseaux de neurones – Le modèle linéaire – p.49/58 Maximum de vraisemblance Le raisonnement appliqué à la régression n’a plus de sens : cible 1 ou 0 bruit gaussien : aucun sens Pour un problème à deux classes, on veut que F (w, xk ) approche la probabilité P (C1 |xk ). La vraisemblance peut alors s’écrire : k p(y |w) = N Y k=1 k yk k F (w, x ) (1 − F (w, x )) 1−y k On minimise l’entropie croisée (problème difficile !) : E(w) = − N X k=1 k k k k y ln F (w, x ) + (1 − y ) ln(1 − F (w, x )) Réseaux de neurones – Le modèle linéaire – p.50/58 Fonctions discriminantes Le modèle linéaire donne en général une mauvaise approximation de P (Cj |x), même dans le cas où il permet un classement optimal. Pour deux classes, la décision optimale est 1 si P (C1 |x) > P (C2 |x), 2 sinon. Il suffit donc de connaître le signe de φ(P (C1 |x)) − φ(P (C2 |x)), où φ est une fonction croissante. De façon générale, il suffit d’obtenir une fonction discriminante ψ(x) telle que ψ(x) > 0 si et seulement si P (C1 |x) > P (C2 |x). Réseaux de neurones – Le modèle linéaire – p.51/58 Activation non linéaire Il est courant d’utiliser pour T une fonction croissante non linéaire. Exemple principal, la sigmoïde logistique : 1 T (x) = 1 + e−x Motivation : approximation de P (C1 |x) pour deux classes gaussiennes. Inconvénient : on ne peut plus calculer les paramètres optimaux ⇒ optimisation de E(w) par descente de gradient. Réseaux de neurones – Le modèle linéaire – p.52/58 Activation non linéaire (2) Historiquement, on a beaucoup utilisé la fonction step de Heaviside : ( 0 quand x < 0 T (x) = 1 quand x ≥ 0 “Modèle” des neurones biologiques (McCulloch et Pitts, 1943) perceptron (Rosenblatt, 1962), avec souvent 0 remplacé par −1 adaline (Widrow et Hoff, 1960) Réseaux de neurones – Le modèle linéaire – p.53/58 Discrimination linéaire Comme la décision se fait toujours par une règle de la forme F (w, x) > α et T est croissante, la décision reste linéaire et donc limitée. C1 C2 C2 C1 Le plus simple problème non linéairement séparable en dimension 2 se généralise en dimension n, avec n + 2 points. Le modèle linéaire est limité, mais adapté à certains problèmes. Réseaux de neurones – Le modèle linéaire – p.54/58 Le perceptron En première approche : un réseau de neurones à une couche dont les neurones utilisent la fonction de Heaviside modifiée (T (x) = −1 quand x < 0, 1 sinon). Principal problème : l’apprentissage (l’estimation des paramètres optimaux) car on souhaite minimiser le nombre de mauvais classements. Critère du perceptron pour une sortie : X E(a) = − y k (aT xk + b) xk mal classé avec y k = 1 si xk ∈ C1 et y k = −1 si xk ∈ C2 . Réseaux de neurones – Le modèle linéaire – p.55/58 Apprentissage On utilise l’algorithme suivant : 1. on part de a0 et b0 aléatoires 2. on passe en revue les exemples : (a) si xk est bien classé, on passe au suivant (b) sinon, on fabrique at+1 et bt+1 grâce aux équations suivantes (avant de passer à l’exemple suivant) : at+1 = at + y k xk bt+1 = bt + y k On peut montrer que l’algorithme converge si le problème est linéairement séparable. Réseaux de neurones – Le modèle linéaire – p.56/58 Discrimination linéaire : résumé Réseau à une couche avec neurones avec fonction d’activation croissante : permet une discrimination linéaire les moindres carrés correspondent à la recherche d’une approximation de P (Cj |x) mais ils ne réalisent plus le maximum de vraisemblance les coefficients optimaux sont calculables dans le cas linéaire et dans certains cas particuliers non linéaires le modèle est optimal pour des données gaussiennes avec une matrice de covariance commune le modèle reste limité Comme pour la régression linéaire, la discrimination linéaire constitue un bon modèle de référence. Réseaux de neurones – Le modèle linéaire – p.57/58 Points généraux importants Certains éléments abordés jusqu’à présent ne sont pas spécifiques aux réseaux à une couche : les moindres carrés correspondent à une estimation asymptotiquement correcte de E(Y |x) (P (Cj |x) en discrimination) pour la régression, les moindres carrés peuvent correspondre au maximum de vraisemblance (pas pour la classification) la discrimination optimale est obtenue en cherchant la classe la plus probable a posteriori la valeur de E(w) (ou le nombre d’erreurs de classement) ne suffit pas pour choisir le modèle optimal, sauf quand on a “beaucoup” de données Réseaux de neurones – Le modèle linéaire – p.58/58
Documents pareils
Réseaux de neurones
Principales, régression linéaire, etc.) par extension : organisation et exploration des données : discrimination : affectation de nouvelles données à des groupes connus (exemple : diagnostic médica...
Plus en détail