E N D
1. Séance 10
Réseaux de neurones
2. 2 Qu’est-ce que l’analyse neurale artificielle ? Simulation des neurones dans le cerveau humain par apprentissage de règles et généralisations
3. 3 Les réseaux de neurones Une classe d’outils et d’algorithmes très puissants pour :
La prédiction
La classification
La segmentation ou clustering
Ils sont utilisés dans plusieurs domaines :
Prévision des séries temporelles dans les finances
Diagnostic médical
Identification de segments de clients potentiels
Détection de fraude
Etc…
4. 4 Les réseaux de neurones Quand ils sont appliqués, leur capacité à généraliser et apprendre des données simule parfaitement la manière dont le cerveau de l’être humain apprend de son expérience.
Inconvénient – Entraîner un réseau de neurones résulte en une quantité de poids internes distribués dans le réseau et rendant difficile la compréhension de pourquoi notre solution est valide.
5. 5 Histoire des réseaux de neurones De 1930 jusqu’à 1980 :
Encore à leurs débuts
1943 : modèle expliquant le fonctionnement des neurones biologiques (Mcculoch et Pits)
Après 1980 :
Algorithme de Rétro-propagation (Hopkins)
Puissance de calcul des ordinateurs
Applications utiles sont apparues.
6. 6 Exemple de l’agent immobilier
7. 7 Illustration du réseau de neurones
8. 8 Limitations des réseaux de neurones Les réseaux de neurones sont bons pour la prédiction et l’estimation seulement quand :
Les entrées sont bien comprises
La sortie est bien comprise
L’expérience est disponible pour un grand nombre d’exemples à utiliser pour entraîner le réseau.
Les réseaux de neurones sont seulement aussi bons que l’ensemble d’apprentissage utilisé. Le modèle construit est statique et doit être continuellement mis à jour avec des exemples plus récents.
9. 9 Exemples de réseaux de neurones
10. 10 Exemples de réseaux de neurones(2)
11. 11 Unité d’un réseau de neurones L’unité ou neurone combine ses entrées (valeurs entre 0 et 1) en une seule valeur, qu’elle transforme après pour produire la sortie (entre 0 et 1). Cette combinaison et cette transformation sont appelées la fonction d’activation.
12. 12 Exemples de fonctions d’activation
13. 13 Exemples de fonctions d’activation (2)
14. 14 Régression linéaire Quand la fonction d’activation est linéaire, le réseau de neurones n’est autre qu’une régression linéaire multiple avec comme entrées les variables indépendantes xi et comme sortie la variable dépendante y. Les poids wi ne sont autres que les coefficients ßi du modèle de régression.
15. 15 Régression logistique Lorsque la fonction d’activation est logistique, le réseau de neurones s’assimile à un modèle de régression logistique. La différence avec le modèle de régression linéaire est que la variable dépendante y est binaire (valeurs : 0 ou 1).
16. 16 Perceptron multi-couches Quand la fonction d’activation est la tangente hyperbolique, le réseau de neurones est un perceptron multi-couches (MLP), variante la plus fréquemment utilisée. On note ici que le modèle se complique avec la présence d’une couche cachée.
17. 17 Réseaux à couches cachées Le pouvoir de prédiction augmente avec le nombre de neurones des couches cachées
Le nombre de couches cachées est généralement de 1 ou 2
Lorsque ce nombre = 0, le réseau effectue une régression (linéaire ou logistique)
Ce nombre doit être limité pour que le réseau ne se contente pas de mémoriser l’ensemble d’apprentissage mais puisse le généraliser, sinon il y a sur-apprentissage
Le fait que toutes les valeurs soient comprises entre 0 et 1 permet de prendre en entrée d’un neurone la sortie d’un neurone précédent.
18. 18 Entraînement ou apprentissage du réseau de neurones L’entraînement est le processus de choisir les poids optimaux sur les arêtes reliant les unités du réseau entre elles.
L’objectif est d’utiliser l’ensemble d’apprentissage afin de calculer les poids dont la sortie équivalente du réseau sera aussi proche que possible de la sortie désirée pour autant d’exemples de l’ensemble d’apprentissage que possible.
La Rétro-propagation est utilisée pour ajuster les poids:
Calcule l’erreur en prenant la différence entre le résultat calculé et le résultat actuel.
L’erreur est renvoyée à travers le réseau et les poids sont ajustés afin de minimiser l’erreur.
19. 19 Principe du perceptronmulti-couches Lors de l’apprentissage du réseau, pour chaque exemple présenté en entrée, la valeur renvoyée (« rétropropagée ») par le nœud de sortie est comparée à la valeur réelle et les poids sont ajustés.
L’échantillon d’apprentissage est parcouru plusieurs fois. L’apprentissage s’achève lorsque:
Une solution optimale a été trouvée, ou
Un nombre fixé d’itérations a été atteint
L’apprentissage se fait en ajustant 1 à 1 chaque poids (rétro-propagation).
20. 20 Taux d’apprentissage Le taux d’apprentissage (learning rate) contrôle l’importance de la modification des poids durant le processus d’apprentissage
contrôle la vitesse de déplacement
plus il est élevé, plus l’apprentissage est rapide mais plus le réseau risque de converger vers une solution globalement non optimale.
21. 21 Exemple Reconnaissance de voix
22. 22 Les différentes variantes de réseaux de neurones Le perceptron multi-couches (MLP) est utilisé pour prédire une variable cible continue ou discrète
Le réseau à fonction radiale (RBF) est aussi utilisé pour prédire une variable cible continue ou discrète
Généralisation de RBF : les support vector machines (SVM) sont utilisés pour prédire une variable cible discrète
Le réseau de Kohonen effectue les analyses typologiques (clustering, recherche de segments)
23. 23 Comparaison MLP - RBF MLP
meilleure capacité de généralisation, notamment sur données bruitées
risque de convergence vers un optimum local non global
paramètres plus difficiles à gérer
RBF
apprentissage plus rapide
plus facile de trouver les bons paramètres
moins bonne capacité de généralisation, surtout si l’échantillon d’apprentissage ne couvre pas toutes les configurations possibles.
24. 24 Mise en œuvre d’un réseau Les étapes pour la mise en œuvre d’un réseau pour la prédiction ou le classement sont :
Identification des données en entrée et en sortie
Normalisation des données (entre 0 et 1)
Constitution d’un réseau avec une topologie adaptée (nb de couches, …)
Apprentissage du réseau
Test du réseau
Application du modèle généré par l’apprentissage
Dénormalisation des données en sortie
25. 25 Quelques règles empiriques Il faut 5 à 10 individus pour ajuster chaque poids
On recommande d’avoir 1 unité cachée (RBF) ou 1 ou 2 (MLP)
Un réseau à n unités d’entrée, 1 unité cachée, m unités dans la couche cachée et 1 unité de sortie a n.m+m poids
Il faut donc un échantillon d’au moins 5(n.m+m) individus pour l’apprentissage
La valeur de m est généralement comprise entre n/2 et 2n
L’échantillon d’apprentissage ne doit pas être trié selon un ordre significatif, qui pourrait induire le réseau en erreur
L’échantillon d’apprentissage doit couvrir tous les cas
26. 26 Avantages des réseaux de neurones Aptitude à modéliser des structures complexes et des données irrégulières
Prise en compte des relations non linéaires (interactions) entre les variables.
Assez bonne robustesse aux données bruitées
Aptitude à modéliser des problèmes très variés.
27. 27 Désavantages Résultats totalement non explicites
Sensibilité aux individus hors normes
Sensibilité à un trop grand nombre de variables non discriminantes (contrairement aux arbres de décision)
Convergence vers la meilleure solution globale pas toujours assurée
Paramètres nombreux et délicats à régler (nb et taille des couches cachées, taux d’apprentissage, etc…)
Ne s’appliquent naturellement qu’aux variables continues dans l’intervalle (0,1) – Nécessité de normaliser les données.
28. 28 Réseaux de neurones sur TANAGRA Voir les didacticiels dans le site de Tanagra sur les réseaux de neurones et disponibles aussi sur Zonecours.
Exemple : Reseau_Perceptron_Multicouches.pdf
Données : ionosphere.arff