Réseaux de neurones
Transcription
Réseaux de neurones
Réseaux de neurones Fabrice Rossi http://apiacoa.org/contact.html Université Paris-IX Dauphine Réseaux de neurones – p. 1/36 Plan du cours 1. Introduction aux réseaux de neurones 2. Rappels de probabilités et statistiques 3. Le modèle linéaire (et le perceptron simple) 4. Le modèle linéaire généralisé (et les réseaux RBF) 5. Les méthodes d’évaluation et de sélection de modèle 6. Les perceptrons multi-couches 7. Les k-moyennes 8. Les réseaux de Kohonen Site du cours : http://apiacoa.org/teaching/nn/ Réseaux de neurones – p. 2/36 Plan de l’introduction 1. Qu’est qu’un réseau de neurones ? 2. Que peut-on faire avec un réseau de neurones ? 3. Pourquoi la modélisation des données est-elle un problème difficile ? 4. Modèle mathématique général Réseaux de neurones – p. 3/36 Réseaux de neurones 1. Ensemble de méthodes d’analyse et de traitement des données 2. Deux caractéristiques majeures : (a) combinaison (réseau) d’éléments simples (neurones) (b) non linéaire (par “opposition” aux méthodes classiques de l’analyse des données) 3. Vaguement issus de considérations biologiques 4. Essentiellement numériques, par opposition à l’IA symbolique (base de règles, raisonnement par cas, etc.) Réseaux de neurones – p. 4/36 Représentation graphique Entrées Sorties Réseaux de neurones – p. 5/36 Différents modèles Les réseaux de neurones diffèrent selon : les neurones utilisés la structure du réseau le mode de calcul Dans ce cours : les perceptrons multi-couches (Multi Layer Perceptron) les réseaux Radial Basis Function (RBF) les réseaux de Kohonen Axes du cours : liens avec les méthodes classiques (Analyse des données) importance de la modélisation statistique Réseaux de neurones – p. 6/36 Analyse des données (Data Mining) classiquement : méthodes (en général linéaires) d’exploration des données (Analyse en Composantes 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édical) “régression” : modélisation de relations fonctionnelles (exemple : niveau d’ozone demain en fonction du niveau d’aujourd’hui et de mesures météo comme la vitesse du vent, etc.) classification : découverte de groupes dans des données (exemple : regroupement de profils de consommateurs) le but est soit d’apprendre par l’exemple (discrimination et régression), soit d’extraire de l’information (classification) Réseaux de neurones – p. 7/36 L’approche dite supervisée On dispose d’un “professeur”, c’est-à-dire un ensemble de données connues (les exemples) : en discrimination, des exemples de données provenant de chaque groupe (classe) : des mesures biologiques (tension artérielle, numération sanguine, présence/absence de symptômes divers, etc.) pour des personnes malades et pour des personnes saines des lettres et chiffres tracés par différentes personnes en régression, des exemples de la relation fonctionnelle : le cours d’une action sur une période donnée la consommation électrique d’une région sur une période donnée, associée à des mesures météorologiques sur la même période point commun : des observations et une cible (la classe, le cours de l’action dans le futur, etc.) Réseaux de neurones – p. 8/36 L’approche dite supervisée (2) Le but principal est de modéliser la relation entre les observations et l’information cible, pour : 1. Estimer la valeur de la cible pour de nouvelles observations : diagnostiquer un patient reconnaître un code postal prédire le cours d’une action prédire la consommation électrique d’une région 2. Comprendre la relation observations/cibles : déterminer les symptômes importants comprendre les facteurs déterminants d’une forte consommation électrique Les réseaux de neurones sont très efficaces pour le premier point, moins pour le second. Réseaux de neurones – p. 9/36 L’approche dite non supervisée On ne dispose pas de “professeur”, c’est-à-dire que les exemples ne sont pas déjà organisés : pas de classe, pas de cible but général : découvrir de la régularité, sous forme de classes, c’est-à-dire de groupes d’exemples qui se ressemblent but opérationnel : groupes de consommateurs pour cibler une campagne marketing groupes d’individus pour l’analyse sociologique, économique, etc. motivations : comprendre les données en les simplifiant (analyse sur chaque groupe) décrire des groupes Réseaux de neurones – p. 10/36 Nature des données Dans la pratique, les données posent des problèmes : données fausses (erreur de mesure, tromperie, etc.) données incomplètes ou manquantes (absence de réponse, grosse erreur de mesure qui conduit à rejeter le résultat, etc.) données non exhaustives : presque toujours le cas (on se contente en général de sondages) Les résultats sont donc “imprécis” : algorithmes exacts sur données réelles : le résultat est juste par rapport aux données, mais pas nécessairement par rapport à la réalité algorithmes heuristiques : on ne sait pas si l’algorithme donne le “bon” résultat, mais simplement qu’il est satisfaisant... Réseaux de neurones – p. 11/36 Modélisation statistique Deux gros problèmes pratiques (fortement couplés) : mesure des performances : ⇒ bons résultats sur les données de départ, mais mauvais sur de nouvelles données ⇒ marges d’erreur, niveau de confiance choix du modèle : ⇒ dilemme biais/variance ⇒ biais : erreur systématique (par rapport à la réalité) ⇒ variance : sensibilité du modèle aux données ⇒ modèle puissant : faible biais, mais très sensible aux données ⇒ modèle faible : grand biais, mais moins sensible aux données “Solution” : approche statistique en analyse des données. Réseaux de neurones – p. 12/36 Un exemple de régression simple On possède une suite d’observations, les (xi , yi ) On cherche à expliquer yi grâce à xi , c’est-à-dire trouver une fonction f telle que yi ' f (xi ) pour tout i Applications pratiques : prédire demain en fonction d’aujourd’hui (météo, bourse, etc.) évaluer le risque de défaillance d’un emprunteur en fonction de ses caractéristiques socioprofessionnelles calculer le taux d’humidité du sol ou le niveau de maturité d’un champ de céréales en fonction d’une image radar de la zone concernée etc. On peut trouver une approximation de f par des méthodes neuronales Difficulté principale : le bruit dans les observations Réseaux de neurones – p. 13/36 Les données 1.5 Données 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations vraie fonction −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 14/36 Comportement de divers modèles 1.5 Modèle linéaire 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 1 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 2 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 3 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 4 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 5 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 6 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 7 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 8 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 9 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Comportement de divers modèles 1.5 MLP 10 neurone(s) 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 observations fonction modèle −3 −2 −1 0 1 2 3 4 x Réseaux de neurones – p. 15/36 Evolution de l’erreur Comparaison des modèles −1 −2 −3 log des erreurs 0 1 données vraie fonction 0 2 4 6 8 10 Complexité du modèle Réseaux de neurones – p. 16/36 Evolution de l’erreur (2) Baisse de l’erreur sur les données : baisse du biais Augmentation de l’erreur par rapport à la vraie fonction : augmentation de la variance (sensibilité aux données, overfitting) Choix du modèle très difficile : l’erreur sur les données n’est pas un bon critère Pistes pour une solution : contrôler finement la puissance du modèle (éviter les “vagues”) estimer la “vraie erreur” : découpage des données re-simulation Réseaux de neurones – p. 17/36 Sensibilité aux données Illustration numérique de la variance : on engendre 50 jeux de données : toujours sous la forme yi = f (xi ) + i les xi sont choisis au hasard on estime le modèle pour chaque jeu de données on trace la réponse moyenne du modèle : la différence avec le vrai modèle est le biais on trace les valeurs extrêmes (moyenne +/− 2 fois l’écart-type) : représentation de la variance sur cet exemple : le biais devient rapidement nul (ou presque) la variance explose Réseaux de neurones – p. 18/36 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 Sensibilité aux données : données −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 19/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 0 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 1 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 2 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 3 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 4 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 5 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 6 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 7 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 8 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 9 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes 0.0 −0.5 −1.0 −1.5 y 0.5 1.0 1.5 10 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 20/36 Sensibilité aux données : résultats sur 3 courbes Sensibilité aux données 0 1 2 3 −2 −1 0 1 2 3 1.5 0.5 −0.5 2 3 −3 −2 −1 0 7 1 2 3 −3 −2 −1 0 1 2 3 0 10 2 3 −3 −2 −1 0 3 x 0.5 −1.5 −0.5 y 0.5 −1.5 −0.5 y 0.5 x 1 1.5 9 1.5 8 3 2 0.5 −1 x 2 1 −0.5 −2 x 1 3 −1.5 −3 x 0 2 y 0.5 −1.5 −0.5 y 0.5 −1.5 −0.5 y 0.5 y 0 1 1.5 6 1.5 5 y −1 1 4 −0.5 −2 0 x −1.5 −3 −1 x −0.5 −1 −2 x −1.5 −2 −1.5 −3 x 1.5 −3 y 0.5 −3 1.5 −1 −1.5 −0.5 y 0.5 −1.5 −0.5 y 0.5 y −0.5 −1.5 −2 1.5 −3 3 1.5 2 1.5 1 1.5 0 −3 −2 −1 0 x 1 2 3 −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 21/36 Sensibilité aux données : résultats Sensibilité aux données 1 2 3 0 1 2 3 −2 −1 0 1 2 y 3 −3 −2 −1 0 1 2 3 −3 −2 −1 0 x x x x 4 5 6 7 2 3 1 2 3 10 5 −1 0 1 2 3 −3 −2 −1 0 1 2 3 y −3 −2 −1 0 x x x 8 9 10 1 2 3 −3 −2 −1 0 x 10 10 10 −2 15 −3 −20 −15 −15 −10 −5 −5 −5 0 y 0 5 0 y 1 30 10 10 10 5 0 y 0 −6 −4 −2 −1.5 −3 20 −1 15 −2 15 −3 2 0.5 y −0.5 y 0.0 −1.0 −1.5 −0.5 −0.5 y 0.5 0.5 4 6 1.0 1.5 0 y −5 −5 2 x écart type −2 −1 0 x 1 2 3 −10 −10 −3 0 0 y 0 −10 −5 y 5 5 5 moyenne −3 −2 −1 0 x 1 2 3 fonction −3 −2 −1 0 1 2 3 x Réseaux de neurones – p. 22/36 Décomposition biais+variance Comparaison des modèles −2 −1 log des erreurs 0 1 variance biais 0 2 4 6 8 10 Complexité du modèle Réseaux de neurones – p. 23/36 Un exemple de discrimination simple On possède une suite d’observations, les (xi , yi ) Chaque observation (x, y) est placée dans une classe On cherche à expliquer modéliser la relation entre (x, y) et la classe d’appartenance Applications pratiques : diagnostic médical ((x, y) : symptômes) diagnostic informatique (détection d’intrusion, de virus, etc.) reconnaissance des formes (écriture, parole, cibles, etc.) Le but principal est de pouvoir classer de nouvelles observations Mêmes problèmes que pour la régression Réseaux de neurones – p. 24/36 Un exemple de discrimination Données −2 0 y 2 4 classe 0 classe 1 −4 −2 0 2 x Réseaux de neurones – p. 25/36 Densités 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 Réseaux de neurones – p. 26/36 Connaissance imparfaite Les classes sont mélangées : connaissance imparfaite : mesures fausses (diagnostic erroné, test manqué) données manquantes (mesures impossibles à réaliser, dangereuses ou coûteuses) variabilité intrinsèque : classe variable ou mal définie (consommateur en marketing par exemple) évolution possible variabilité naturelle (numération sanguine par exemple) le but n’est pas le classement parfait ! estimer la probabilité d’appartenance à une classe sur l’exemple proposé, on peut démontrer qu’on ne peut pas descendre en dessous de 10.5% de mauvais classements Réseaux de neurones – p. 27/36 Modèle optimal (linéaire) Données + + classe 0 classe 1 + + + + + 4 + + + + + 2 y + 0 + ++ −2 + + + + + −4 + + + + + ++ + + + + + ++ + ++ + + + ++ + + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + ++ + + + + + + + ++ + + + + ++ + + + + + + ++ ++ + + + + + ++ + + + + ++ ++ + ++ + + ++ + + + + ++ +++ + + ++ + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + + + + + + + ++ ++ + ++ + ++ + + ++ +++ ++++ ++ ++ + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + ++ + + + + −2 0 + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 28/36 Le modèle optimal fait des erreurs (10.75%) ! Modèle linéaire théorique + + + o o + + 4 + 0 −> 0 1 −> 1 1 −> 0 0 −> 1 optimal + + + 2 y + 0 + ++ −2 + + + + + −4 + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + ++ + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + ++ ++ ++ + + + + + ++ +++ + + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + +++ + + + + + + + +++ ++++ + + ++ + + + + + + + + + ++ + + ++ + ++ + ++++ ++ ++ + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + + + + ++ + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + ++ + + + + −2 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 29/36 Comportement de divers modèles Modèle linéaire + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + ++ + + + + + + + + ++ + + + + + + + + + + + + ++ + + ++ ++++ +++ + + + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + ++ ++ ++ + + + + + ++ +++ + + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + +++ + + + + + + + +++ ++++ + + ++ + + + + + + + + + + + ++ + + ++ + ++ + ++++ ++ ++ + + + + + + + + + + + + + + + + + + + ++ + + ++ + + + + ++ + + + + + + ++ + + + + + ++ ++ + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 1 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + +++ + + + + + + + + +++ ++++ + + ++ + + + + + + + + + + + ++ + ++ ++ + ++ + ++++ ++ ++ + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + + + + ++ + + + + + + ++ + + + + + ++ ++ + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 2 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + +++ + + + + + + + + +++ ++++ + + ++ + + + + + + + + + + + ++ + ++ ++ + ++ + ++++ ++ ++ + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + + + + ++ + + + + + + ++ + + + + + ++ ++ + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 4 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + + + + + + ++ +++ + + + + + +++ ++++ + + ++ + + + + + + + + ++ ++ + ++ + ++ + ++++ ++ ++ + + + + + + + + + + + + + + + + + + + + ++ + + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 6 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + + + + + + ++ +++ + + + + + +++ ++++ + + ++ + + + + + + + + ++ ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + + + ++ + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 8 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + ++ + + + + + + + + + ++ + + + + + + ++ ++ + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + + ++ ++ ++ + + + + + + + + + + + + + + + ++ +++ + + + + + +++ ++++ + + ++ + + + + + + + + ++ ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + + + ++ + + ++ + + + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 10 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + ++ + + + + + + + ++ + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + ++ + + + + ++ + + + + ++ + + + + + + ++ ++ + + + + + + + + + ++ ++ ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + + + + + + + ++ ++ + + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + + + + ++ + + ++ + ++ + + + + ++ + + + + + ++ + + + + + ++ ++ + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 12 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + + + ++ + + + + + + + ++ + + + + ++ + + + + + + ++ ++ + + + + ++ + + + ++ ++ ++ + ++ + + + + ++ +++ + ++ + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + ++ +++ + + + + + +++ ++++ + + ++ + + + + + + + + ++ + ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 14 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + ++ + ++ + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + ++ + + + + + + + + ++ + + + + + + ++ ++ + + + + + + ++ ++ + ++ + + + + + ++ +++ + ++ + + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + + + + + + + ++ + + ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 16 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + ++ + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + ++ + + + + + + + + + + + ++ + + + + + + ++ ++ + + + + ++ + + + ++ ++ + ++ + ++ + + + ++ +++ + ++ + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + ++ +++ + + + + + +++ ++++ + + ++ + + + + + + + + ++ + + ++ + ++ + ++ + + + ++++ ++ ++ + + + + + + + + + + + + + + + + + + + + + ++ + + ++ + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 18 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + ++ + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + ++ + + + + + ++ + + + + ++ + + + + + + ++ ++ + + + + ++ + + + ++ ++ ++ + ++ + + + + ++ +++ + ++ + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + + + + + + + ++ + + ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Comportement de divers modèles réseau à 20 neurone(s) + + + o o + + 4 + + + + 2 y + 0 + ++ ++ −2 + + + + + −4 + + + + + + + + + + + + + + ++ + + + ++ + + + + + + + + ++ + + + + + + + + + + + + + + + + ++ ++++ +++ + + + + + ++ + + + + ++ + + + + ++ + + + + ++ + + + + + + + + ++ + + + ++ + ++ + + + + ++ +++ + + ++ + + + + + + ++++ ++ + + ++ + ++ ++ + ++ + + + + + + + + + + + + + + + +++ ++++ + + + + + ++ +++ + + + ++ + + + + + + + + ++ + + ++ + ++ + ++ + + ++++ ++ ++ + + + + + + + + + + + + + + + + + ++ + + + ++ + + ++ + ++ + + + + ++ + + + + + + + ++ + + + + + ++ ++ + + + + + + + + ++ + + + + + + + + +++++ + + + + + + + + ++ + ++ + + + + + + + + + + + + + + + + + ++ + + + + + + + ++ + + + + + + + + + + + + −2 0 −> 0 1 −> 1 1 −> 0 0 −> 1 décision optimal 0 + + + + + + +++ + ++ + + + + + + + + + + + + + + 2 x Réseaux de neurones – p. 30/36 Evolution de l’erreur 0.14 Comparaison des modèles 0.08 0.06 0.04 Taux d’erreur 0.10 0.12 Données Vraies classes 0 5 10 15 20 Complexité du modèle Réseaux de neurones – p. 31/36 Enseignement des exemples Une approche naïve est impossible : les performances sur les données ne permettent pas de prédire le comportement du modèle sur de nouvelles données les RN sont puissants : on peut presque toujours faire baisser l’erreur de modélisation en ajoutant des neurones Il faut comprendre le phénomène pour y remédier : modélisation statistique justification mathématique des résultats Les solutions (actuelles) sont coûteuses en temps de calcul Réseaux de neurones – p. 32/36 Cadre mathématique général Les données à étudier sont décrites de la façon suivante : on dispose de N individus ou exemples chaque individu est décrit par n variables réelles, i.e. chaque exemple est un vecteur x ∈ Rn dans le cas de la discrimination, chaque exemple est associé à une classe (un groupe) dans le cas de la régression, chaque exemple est associé à une variable cible, notée y (élément de Rp ). On peut reformuler les trois problèmes de l’AD : 1. discrimination : trouver un lien entre x et sa classe 2. régression : trouver un lien entre x et y 3. classification : construire des classes en associant des étiquettes aux individus Réseaux de neurones – p. 33/36 Discrimination et statistique En discrimination : pour chaque individu xk , on connaît la classe Cj telle que xk ∈ C j on cherche à classer de nouveaux individus On doit estimer : P (Cj |x) la probabilité que l’individu observé soit issu de la classe C j sachant qu’il est décrit par le vecteur x. Intérêts : permet d’affecter un individu à une classe (la plus probable, en général) permet de mesurer l’erreur liée à cette affectation Réseaux de neurones – p. 34/36 Régression et statistique En régression : chaque individu xk est associé à une grandeur y k ∈ Rp on cherche à exprimer y k comme une fonction de xk On doit estimer : E(Y |X = x) l’espérance conditionnelle de Y sachant X = x : c’est la meilleure approximation de Y par une fonction de X. Réseaux de neurones – p. 35/36 Classification et statistique En classification : les individus ne sont associés à aucune donnée explicative on chercher à trouver des groupes (des classes) On peut chercher à exprimer p(x) comme un mélange : p(x) = M X p(x|Cj )P (Cj ) j=1 On peut ensuite affecter les individus aux classes, grâce à la règle de Bayes : p(x|Cj )P (Cj ) P (Cj |x) = p(x) Réseaux de neurones – p. 36/36
Documents pareils
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