Vous êtes sur la page 1sur 20

Application du rseaux de neurones

lapprentissage supervis

Ricco RAKOTOMALALA

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Mtaphore biologique
Fonctionnement du cerveau
Transmission de linformation et apprentissage

Ides matresses retenir

Rception dune information (signal)


Activation + Traitement (simple) par un neurone
Transmission aux autres neurones (si seuil franchi)
A la longue : renforcement de certains liens
APPRENTISSAGE
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Modle de Mc Colluch et Pitts


Le perceptron Simple
Couche dentre
Biais

Entres
Descripteurs

X2

X3

Y {1 ( +),0 ()}

Couche de sortie
Fonction de transfert
Fonction seuil -- Fonction de Heaviside

X0 =
1
X1

Problme deux classes (positif et ngatif)

a0
a1

1
0

a2
a3

Poids synaptiques

d(X )

Modle de prdiction et rgle daffectation

d ( X ) = a0 + a1 x1 + a2 x2 + a3 x3
Si d ( X ) > 0 Alors Y = 1 Sinon Y = 0

Le perceptron simple est un modle de prdiction linaire


Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Apprentissage du perceptron simple


X0 =
1
X1

X2

X3

a0
a1

Comment calculer les poids


synaptiques partir dun
fichier de donnes
(Y ; X1, X2, X3)

a2
a3

Faire le parallle avec la rgression et les moindres carrs


Un rseau de neurones peut tre utilis pour la rgression
(fonction de transfert avec une sortie linaire)

(1) Quel critre optimiser ?

(1) Minimiser lerreur de prdiction

(2) Comment procder

(2) Principe de lincrmentalit

loptimisation ?
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Exemple Apprentissage de la fonction AND (ET logique)


Exemple rvlateur Les premires applications proviennent de linformatique
1.5
1.3

X1

X2

1.1

0.9

0.7
0.5
0.3

0.1
-0.1

-0.3
-0.5
-0.5

Donnes

0.5

1.5

Reprsentation dans le plan

Principales tapes :
1.
2.
3.
4.

Mlanger alatoirement les observations


Initialiser alatoirement les poids synaptiques
Faire passer les observations unes unes

Calculer lerreur de prdiction pour lobservation

Mettre jour les poids synaptiques


Jusqu convergence du processus

Une observation peut passer plusieurs fois !


Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Exemple AND (1)


Initialisation alatoire des poids : a0 = 0.1; a1 = 0.2; a2 = 0.05

Rgle de mise jour des poids


Frontire :

Pour chaque individu que lon fait passer


(Principe de lincrmentalit)

0.1 + 0.2 x1 + 0.05 x 2 = 0 x 2 = 4 .0 x1 2 .0

a j a j + a j

avec

a j = ( y y )x j

1
0
-0.5

0.5

Force du signal

1.5

Erreur
-2

-4

-6

Constante dapprentissage

Dtermine sil
faut ragir ou
non

Dtermine lamplitude de lapprentissage


Quelle est la bonne valeur ?
Trop petit
lenteur de convergence
Trop grand oscillation
En gnral autour de 0.05 ~ 0.15 (0.1 dans notre exemple)

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Exemple AND (2)


Observation traiter

x0 = 1
x = 0
1

x2 = 0
y = 0

Appliquer le modle

Mj des poids

a0 = 0.1 ( 1) 1 = 0.1

a1 = 0.1 ( 1) 0 = 0
a = 0.1 ( 1) 0 = 0
2

0.11+ 0.2 0 + 0.05 0 = 0.1


y = 1

Nouvelle frontire :

0.0 + 0.2 x1 + 0.05 x 2 = 0 x 2 = 4 .0 x1 + 0.0

1
0
-0.5

0.5

1.5

-2

-4

-6

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Exemple AND (3)


Observation traiter

x0 = 1
x = 1
1

x2 = 0
y = 0

Appliquer le modle

Mj des poids

a0 = 0.1 ( 1) 1 = 0.1

a1 = 0.1 ( 1) 1 = 0.1
a = 0.1 ( 1) 0 = 0
2

0.01+ 0.21+ 0.05 0 = 0.2


y = 1

Nouvelle frontire :

0.1 + 0.1x1 + 0.05 x 2 = 0 x 2 = 2.0 x1 + 2.0

1
0
-0.5

0.5

1.5

-2

-4

-6

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Exemple AND (4) Dfinir la convergence


Observation traiter

Appliquer le modle

x0 = 1
x = 0
1

x2 = 1
y = 0

0.11+ 0.1 0 + 0.051 = 0.05


y = 0

Mj des poids

a0 = 0.1 (0 ) 1 = 0

a1 = 0.1 (0 ) 0 = 0
a = 0.1 (0 ) 1 = 0
2
Pas de correction ici ? Pourquoi ?
Voir sa position dans le plan !

Nouvelle frontire :

0.1 + 0.1x1 + 0.05 x2 = 0 x2 = 2 .0 x1 + 2 .0

Remarque : Que se passe-t-il si on repasse lindividu (x1=1 ; x2=0) ?

Convergence ?

1
0
-0.5

0.5

1.5

(1)

-2

-4

-6

(2)
(3)
(4)
(5)

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

Plus aucune correction effectue en passant tout le


monde
Lerreur globale ne diminue plus significativement
Les poids sont stables
On fixe un nombre maximum ditrations
On fixe une erreur minimale atteindre
9

valuation de P(Y/X) Fonction de transfert sigmode


Le Perceptron propose un classement Y/X
Dans certains cas, nous avons besoin de la probabilit P(Y/X) ex. Scoring

Fonction de transfert
Fonction seuil -- Fonction de Heaviside

Fonction de transfert
Fonction sigmode Fonction logistique

1
0

d(X )

d(X )

1
1 + e v
v = d(X )

g (v ) =

La rgle de dcision devient : Si g(v) > 0.5 Alors Y=1 Sinon Y=0
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

10

Consquences dune fonction de transfert continue et drivable


Modification du critre optimiser
X0 =
1
X1

X2

X3

a0

Sortie du rseau

a1

y = g (v ) = f [d ( x )]

a2
a3

Critre optimiser : critre des moindres carrs

1
E =
2

( y ( ) y ( ) )

Mais toujours fidle au principe dincrmentalit,


loptimisation est bas sur la descente du gradient !
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

11

Descente du gradient
Fonction de transfert
sigmode drivable

Optimisation : drivation de la
fonction objectif par rapport
aux coefficients

Rgle de mise jour des


coefficients pour un individu
(Rgle de Widrow-Hoff ou
Rgle Delta)

g ' (v) = g (v)(1 g (v))

E
= [ y ( ) y ( )] g '[v( )] x j ( )
a j
i

a j a j + ( y y ) g ' ( v ) x j

Gradient : mj des poids dans la


direction qui minimise E

La convergence vers le minimum est bonne dans la pratique


Capacit traiter des descripteurs corrls (pas dinversion de matrice)
Capacit traiter des problmes trs grande dimension (lignes x colonnes)
Mise jour facile si ajout de nouveaux individus dans la base

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

12

Problme K classes -- Que faire quand Y possde plus de 2 modalits ?


(1) Codage disjonctif complet de la sortie

yk = 1 ssi y = yk

y1

(2) Output pour chaque sortie

X0 =
1

y k = g[vk ]

X1

y 2

X2

avec

vk = a0,k + a1,k x1 +L+ aJ ,k xJ

(3) P(Y/X)

y 3

X3

P(Y = yk / X ) g[vk ]

(4) Rgle de dcision

y = yk * ssi k * = arg max y k


k

Minimisation de lerreur quadratique


En traitant K rseaux en parallle
K
1
2
E = ( yk ( ) y k ( ) )
2 k =1
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

13

Pratique du Perceptron (Dmo sur les cancers du sein)

volution
erreur
Poids

Ramener les descripteurs sur la mme chelle


Standardisation, Normalisation, etc.
(ventuellement) Subdiviser les donnes en 3 parties :
Training + Validation + Test
Attention au paramtrage, notamment de la rgle darrt
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

14

Mort et rsurrection du Perceptron Le problme du XOR


1.5

X1

X2

1.3

0.9

1.1

Non sparable linairement


(Minsky & Papert, 1969)

0.7

(1)

0.5
0.3

0.1

- 0.1

- 0.3
- 0.5

Donnes

X0 =
1

(2)

- 0.5

0.5

1.5

X0=
1

Une combinaison de sparateurs


linaires permet de produire un
sparateur global non-linaire

X1
X2

(Rumelhart, 1986)
Perceptron Multi-Couches (PMC)

X3
Couche dentre

On peut avoir plusieurs couches caches


Couche cache

Couche de sortie

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

15

PMC Formules et proprits

Passage C.Entre

C.Cache

v1 = a0 + a1 x1 + a2 x2 + a3 x3
v2 = b0 + b1 x1 + b2 x2 + b3 x3
Sortie de la C.Cache

X0 =
1

X0=
1

X1

1
1 + e v1
1
u 2 = g (v2 ) =
1 + e v2
u 1 = g ( v1 ) =

Passage C.Cache

X2

C.Sortie

z = c 0 + c1u 1 + c 2 u 2

X3
Sortie du rseau

y = g ( z ) =

1
1 + ez

Proprit fondamentale : Le PMC est capable dapproximer toute


fonction boolenne existante pourvu que lon fixe convenablement le
nombre de neurones dans la couche cache
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

16

PMC Apprentissage La rtropropagation du gradient


Gnraliser la rgle de Widrow-Hoff La descente du gradient
X0 =
1

X0=
1

X1
En sortie : Erreur mesure (pour un individu)

X2
X3

Correction des poids synaptiques


menant la couche de sortie

Propagation (en arrire) des corrections


dans les couches intermdiaires

Lalgorithme de la rtro-propagation du gradient donne de bons rsultats dans la


pratique mme si le risque de stagnation dans un optimum local nest pas
ngliger
normaliser ou standardiser imprativement les donnes et bien
choisir la constante dapprentissage
Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

17

PMC Un exemple de discrimination non linaire


X1 vs. X2
Control variable : C_Y

Construisons un rseau avec 2 couches caches

x2
1

negatif
positif

X0=1
X1

X0=1

-0.76

45.03

-20.10
21.46

27.00

-11.32

X2

-36.83

-38.95
17.68

u1 vs. u2
Control variable : Y
1

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95

u2
x1

negatif
positif

La sortie des neurones de la


couche cache propose un nouvel
espace de reprsentation o il
est possible de discriminer
linairement les exemples !

u1
0
1

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

18

PMC Avantages et inconvnients

Classifieur trs prcis (si bien paramtr)


Incrmentalit
Scalabilit (capacit tre mis en uvre sur de grandes bases)

Modle bote noire (causalit descripteur variable prdire)


Difficult de paramtrage (nombre de neurones dans la couche cache)
Problme de convergence (optimum local)
Danger de sur-apprentissage (utiliser imprativement un fichier de
validation)

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

19

Rfrences

Neural network
Tutorial slides of Andrew Morre
http://www.autonlab.org/tutorials/neural.html
Apprentissage partir dexemples
Notes de cours F. Denis & R. Gilleron Lille 3
http://www.grappa.univ-lille3.fr/polys/apprentissage/
Machine Learning
Tom Mitchell, Ed. Mc Graw-Hill International, 1997.
Rseaux de neurones sur WIKIPEDIA
Rseaux de neurones Mthodologie et Applications
Sous la direction de Grard Dreyfus, Ed. Eyrolles, 2004.

Ricco Rakotomalala
Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/

20

Vous aimerez peut-être aussi