20
Application du réseaux de neurones à Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 1 Application du réseaux de neurones à l’apprentissage supervisé Ricco RAKOTOMALALA

Application du réseaux de neurones à Application du réseaux de

Embed Size (px)

Citation preview

Page 1: Application du réseaux de neurones à Application du réseaux de

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

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

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

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

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

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

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

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

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

É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

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

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

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

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

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

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

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

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

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

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.