Application du réseaux de neurones à Application du réseaux de ...
-
Upload
nguyenthuy -
Category
Documents
-
view
233 -
download
4
Transcript of Application du réseaux de neurones à Application du réseaux de ...
![Page 1: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/1.jpg)
Application du réseaux de neurones à
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 1
Application du réseaux de neurones àl’apprentissage supervisé
Ricco RAKOTOMALALA
![Page 2: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/2.jpg)
Métaphore biologiqueFonctionnement du cerveauTransmission de l’information et apprentissage
Idées maîtresses à retenir
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 2
Idées maîtresses à retenir
• Réception d’une information (signal)• Activation + Traitement (simple) par un neurone• Transmission aux autres neurones (si seuil franchi)• A la longue : renforcement de certains liens APPRENTISSAGE
![Page 3: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/3.jpg)
Modèle de Mc Colluch et PittsLe perceptron Simple )(0),(1 YProblème à deux classes (positif et négatif)
X0=1X1
X2
a0a1a2 a3
Couche d’entrée Couche de sortieBiais
EntréesDescripteurs
Fonction de transfertFonction à seuil -- Fonction de Heaviside
)(Xd 0
1
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 3
X3a3
Poids synaptiques Modèle de prédiction et règle d’affectation3322110)( xaxaxaaXd
0Sinon1Alors0)(Si YYXd
Le perceptron simple est un modèle de prédiction linéaire
![Page 4: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/4.jpg)
X0=1X1
X2
X3
a0a1a2 a3
Apprentissage du perceptron simpleComment calculer les poids synaptiques à partir d’un fichier de données(Y ; X1, X2, X3)
Faire le parallèle avec la régression et les moindres carrésUn réseau de neurones peut être utilisé pour la régression (fonction de transfert avec une sortie linéaire)
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 4
(1) Quel critère optimiser ?(2) Comment procéder à
l’optimisation ?
(1) Minimiser l’erreur de prédiction(2) Principe de l’incrémentalité
![Page 5: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/5.jpg)
Exemple – Apprentissage de la fonction AND (ET logique)
X1 X2 Y0 0 00 1 01 0 01 1 1
Exemple révélateur – Les premières applications proviennent de l’informatique
Données
1
-0.5
-0.3
-0.1
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
-0.5 0 0.5 1 1.5
Représentation dans le plan
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 5
Principales étapes :1. Mélanger aléatoirement les observations2. Initialiser aléatoirement les poids synaptiques3. Faire passer les observations unes à unes• Calculer l’erreur de prédiction pour l’observation• Mettre à jour les poids synaptiques4. Jusqu’à convergence du processus
Une observation peut passer plusieurs fois !
![Page 6: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/6.jpg)
Exemple AND (1)Initialisation aléatoire des poids : 05.0;2.0;1.0 210 aaa
Frontière :0.20.42005.02.01.0 121 xxxx
4
6
Règle de mise à jour des poidsPour chaque individu que l’on fait passer(Principe de l’incrémentalité)jjj aaa
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 6
1
-6
-4
-2
0
2
4
-0.5 0 0.5 1 1.5 ErreurDétermine s’il faut réagir ou non
Force du signal jj xyya ˆ
avec
Constante d’apprentissageDétermine l’amplitude de l’apprentissageQuelle est la bonne valeur ?Trop petit lenteur de convergenceTrop grand oscillationEn général autour de 0.05 ~ 0.15 (0.1 dans notre exemple)
![Page 7: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/7.jpg)
Exemple AND (2)
0001
210
yxxx
Observation à traiter Appliquer le modèle
1ˆ1.0005.002.011.0
y
Màj des poids
0011.00011.0
1.0111.0
210
aaa
Nouvelle frontière : 0.00.4005.02.00.0 1221 xxxx6
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 7
1
-6
-4
-2
0
2
4
6
-0.5 0 0.5 1 1.5
![Page 8: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/8.jpg)
Exemple AND (3)
0011
210
yxxx
Observation à traiter Appliquer le modèle
1ˆ2.0005.012.010.0
y
Màj des poids
0011.0
1.0111.01.0111.0
210
aaa
Nouvelle frontière : 0.20.2005.01.01.0 1221 xxxx
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 8
1
-6
-4
-2
0
2
4
6
-0.5 0 0.5 1 1.5
![Page 9: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/9.jpg)
Exemple AND (4) – Définir la convergence
Nouvelle frontière : 0.20.2005.01.01.0 1221 xxxx
0101
210
yxxx
Observation à traiter Appliquer le modèle
0ˆ05.0105.001.011.0
y
Màj des poids
0101.00001.00101.0
210
aaa
Pas de correction ici ? Pourquoi ? Voir sa position dans le plan !
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 9
1
-6
-4
-2
0
2
4
6
-0.5 0 0.5 1 1.5
Convergence ?(1) Plus aucune correction effectuée en passant tout le monde(2) L’erreur globale ne diminue plus « significativement »(3) Les poids sont stables(4) On fixe un nombre maximum d’itérations(5) On fixe une erreur minimale à atteindre
Remarque : Que se passe-t-il si on repasse l’individu (x1=1 ; x2=0) ?
![Page 10: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/10.jpg)
Évaluation de P(Y/X) – Fonction de transfert sigmoïdeLe Perceptron propose un classement Y/XDans certains cas, nous avons besoin de la probabilité P(Y/X) ex. Scoring
Fonction de transfertFonction à seuil -- Fonction de Heaviside
01
Fonction de transfertFonction sigmoïde – Fonction logistique
01
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 10
)(Xd 0
)(Xd 0
)(1
1)(Xdvevg v
La régle de décision devient : Si g(v) > 0.5 Alors Y=1 Sinon Y=0
![Page 11: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/11.jpg)
Conséquences d’une fonction de transfert continue et dérivableModification du critère à optimiserX0=1X1
X2
X3
a0a1a2 a3
)()(ˆ xdfvgy Sortie du réseau
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 11
Critère à optimiser : critère des moindres carrés 2)(ˆ)(2
1
yyE
Mais toujours fidèle au principe d’incrémentalité, l’optimisation est basé sur la descente du gradient !
![Page 12: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/12.jpg)
Descente du gradientFonction de transfert sigmoïde dérivable ))(1)(()(' vgvgvg
Optimisation : dérivation de la fonction objectif par rapport aux coefficients)()]([')](ˆ)([ j
ijxvgyya
E
Règle de mise à jour des coefficients pour un individu(Règle de Widrow-Hoff ou jjj xvgyyaa )(')ˆ(
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 12
(Règle de Widrow-Hoff ou Règle Delta)Gradient : màj des poids dans la direction qui minimise E
La convergence vers le minimum est bonne dans la pratiqueCapacité à traiter des descripteurs corrélés (pas d’inversion de matrice)Capacité à traiter des problèmes à très grande dimension (lignes x colonnes)Mise à jour facile si ajout de nouveaux individus dans la base
![Page 13: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/13.jpg)
Problème à K classes -- Que faire quand Y possède plus de 2 modalités ?(1) Codage disjonctif complet de la sortie
kk yyssiy 1
JkJkkk xaxaav ,1,1,0 avec
(2) « Output » pour chaque sortie][ˆ kk vgy
(3) P(Y/X) ][)/( kk vgXyYP
X0=1X1
X2
1y
2y
y
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 13
(4) Règle de décisionkkk ykssiyy ˆmaxarg*ˆ *
Minimisation de l’erreur quadratiqueEn traitant K réseaux en parallèle
K
kkk yyE
12)(ˆ)(2
1
X3 3y
![Page 14: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/14.jpg)
Pratique du Perceptron (Démo sur les cancers du sein)
Poids
Évolution erreur
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 14
Ramener les descripteurs sur la même échelleStandardisation, Normalisation, etc.(Éventuellement) Subdiviser les données en 3 parties :Training + Validation + TestAttention au paramétrage, notamment de la règle d’arrêt
![Page 15: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/15.jpg)
Mort et résurrection du Perceptron – Le problème du XOR
X1 X2 Y0 0 00 1 11 0 11 1 0Données
1
1-0.5
-0.3
-0.1
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
-0.5 0 0.5 1 1.5
Non séparable linéairement(Minsky & Papert, 1969)(1)
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 15
(2)X0=1X1
X2
X3
X0=1
Couche d’entrée Couche de sortieCouche cachée
Une combinaison de séparateurs linéaires permet de produire un séparateur global non-linéaire(Rumelhart, 1986)Perceptron Multi-Couches (PMC)On peut avoir plusieurs couches cachées
![Page 16: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/16.jpg)
PMC – Formules et propriétés
X0=1X1
X2
X0=1
Passage C.Entrée C.Cachée
3322110233221101
xbxbxbbvxaxaxaav
Sortie de la C.Cachée
2
1
11)(
11)(
22
11
v
v
evguevgu
Passage C.Cachée C.Sortie
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 16
X2
X3
Propriété fondamentale : Le PMC est capable d’approximer toute fonction booléenne existante pourvu que l’on fixe convenablement le nombre de neurones dans la couche cachée
Passage C.Cachée C.Sortie22110 ucuccz
Sortie du réseau
zezgy 11)(ˆ
![Page 17: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/17.jpg)
PMC Apprentissage – La rétropropagation du gradient
X0=1X1
X2
X0=1
Généraliser la règle de Widrow-Hoff – La descente du gradient
En sortie : Erreur mesurée (pour un individu)
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 17
X3 Correction des poids synaptiques menant à la couche de sortie
Propagation (en arrière) des corrections dans les couches intermédiaires L’algorithme de la rétro-propagation du gradient donne de bons résultats dans la pratique même si le risque de stagnation dans un optimum local n’est pas à négliger normaliser ou standardiser impérativement les données et bien choisir la constante d’apprentissage
![Page 18: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/18.jpg)
PMC – Un exemple de discrimination non linéaireConstruisons un réseau avec 2 neurones dans la couche cachée
X0=1
X1
X2
X0=1
21.46
-11.32
-0.76
27.00
17.68
-20.10-36.83
-38.95
45.03negatifpositif
X1 vs. X2Control variable : C_Y
1x2
negatif
u1 vs. u2Control variable : Y
1u2
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 18
10.950.90.850.80.750.70.650.60.550.50.450.40.350.30.250.20.150.10.05 x1negatifpositif
10 u1
u2
La sortie des neurones de la couche cachée propose un nouvel espace de représentation où il est possible de discriminer linéairement les exemples !
![Page 19: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/19.jpg)
PMC – Avantages et inconvénients
Classifieur très précis (si bien paramétré)IncrémentalitéScalabilité (capacité à être mis en œuvre sur de grandes bases)
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 19
Modèle boîte noire (causalité descripteur – variable à prédire)Difficulté de paramétrage (nombre de neurones dans la couche cachée)Problème de convergence (optimum local)Danger de sur-apprentissage (utiliser impérativement un fichier de validation)
![Page 20: Application du réseaux de neurones à Application du réseaux de ...](https://reader031.fdocuments.fr/reader031/viewer/2022020119/5851640e1a28abfa398c3232/html5/thumbnails/20.jpg)
Références
• « Neural network »Tutorial slides of Andrew Morrehttp://www.autonlab.org/tutorials/neural.html• « Apprentissage à partir d’exemples »Notes de cours F. Denis & R. Gilleron – Lille 3http://www.grappa.univ-lille3.fr/polys/apprentissage/• « Machine Learning »Tom Mitchell, Ed. Mc Graw-Hill International, 1997.
Ricco RakotomalalaTutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 20
• « Réseaux de neurones » sur WIKIPEDIA• « Réseaux de neurones – Méthodologie et Applications »Sous la direction de Gérard Dreyfus, Ed. Eyrolles, 2004.