Vous êtes sur la page 1sur 49

Rseaux de Neurones Tutorial en Matlab

Tarik AL ANI, Dpartement Informatique ESIEE-Paris E-mail : t.alani@esiee.fr Url: http://www.esiee.fr/~alanit http://www esiee fr/ alanit
Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement
Rseau p plus p performant Fonctions de prtraitement : concerne les entres transformer les entres une forme meilleure pour lutilisation du rseau. Fonctions de post-traitement post traitement : concerne les valeurs cibles transformer les entres une forme meilleure pour l lapprentissage apprentissage du rseau, et effectuer les transformes inverses vers les caractristiques des donnes originales des cibles. cibles
1 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

19/11/2008

Prtraitement et postpost-traitement

La majorit de mthodes sont fournis automatiquement quand vous crez un rseau. q Vous pouvez passer outre les fonctions par dfaut de traitement des entres et des sorties quand vous appelez une fonction de cration de rseau, ou en rglant les proprits de rseau aprs la cration du rseau. net.inputs{1}.processFcns pour afficher la liste des fonctions de traitement des entres net.outputs{2}.processFcns pour afficher la liste des f ti fonctions d traitement de t it t des d sorties ti dun d rseau 2 couches. h
19/11/2008

Vous pouvez utiliser ces proprits pour changer (non recommand) l fonctions les f ti par dfaut df t processFcns F . 2
Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

Plusieurs fonctions par dfaut possdent des paramtres qui dfinissent leurs oprations. Vous pouvez accder ou changer le ime paramtre de la fonction dentre ou de sortie : net.inputs{1}.processParams{i} pour les fonctions de traitement des entres net.outputs{2}. processParams{i} pour les fonctions de traitement des sorties d dun un rseau 2 couches. couches

19/11/2008

3 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

Pour le rseau MLNN les fonctions par dfaut sont : IPF Rang de fonctions de traitement de lentre. Df t est Dfaut t {'fixunknowns fi k ' 'remconstantrows ',' t t ' 'mapminmax ',' i '} '}. OPF - Rang de fonctions de traitement de la sortie. Dfaut est {' { remconstantrows ',' , mapminmax '}. }. Fonctions de prtraitement et de post-traitement sous Matlab: 1. Min et Max (mapminmax) Avant lapprentissage, il est souvent utile dtalonner les entres et les cibles pour qu'ils tombent toujours dans une gamme spcifie par [-1,1] (normaliser les entres et les cibles). [pn,ps] = mapminmax(p); [tn,ts] = mapminmax(t); net = train(net,pn,tn);
19/11/2008 4 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

Pour reconvertir les sorties aux mmes units des cibles dorigine : an = sim(net,pn); a = mapminmax(`reverse',an,ts); Si mapminmax est utilis pour prtraiter les donnes de jeu dapprentissage, alors chaque fois que le rseau entran est utilis avec de d nouvelles ll entres il devraient ils d i tre prtraits i avec le l minimums et les maximums qui ont t calculs pour le jeu d'apprentissage d apprentissage conserv dans la configuration de ps : Soit pnew un nouvel ensemble dentres au rseau dj entran pnewn = mapminmax( (`apply' apply ,pnew,ps); pnew ps); anewn = sim(net,pnewn); anew = mapminmax( (`reverse' reverse ,anewn,ts); anewn ts);
19/11/2008 5 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

2. Moyenne et Ecart-type (mapstd) 4. Principal Component Analysis (processpca) 5. Traitement des entres inconnues (fixunknowns) 6. Traitement des cibles inconnues (ou ne soucier pas Don't Care ) (fixunknowns) 7. Analyse post-apprentissage (postreg)

19/11/2008

6 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

7. Analyse post-apprentissage (postreg) La performance d'un rseau entran peut tre mesure dans une certaine mesure par les erreurs sur les jeux dapprentissage, les jeux de validation et les jeux d'essai, mais il est souvent utile danalyser plus en dtail la rponse de rseau. rseau Un moyen de faire cela est deffectuer la rgression linaire. a = sim(net,p); (net p); [m,b,r] = postreg(a,t) m : pente b = intersection de la ligne droite optimale (liant les cibles aux sorties de neurones) avec l laxe axe y r = coefficient de corrlation de Pearson
19/11/2008 7 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement et postpost-traitement

Coefficient de corrlation de Pearson entre deux ensemble dchantillons de variables alatoires


La covariance entre deux variables alatoires x et y est mesure par N 1 x)(Y - y)] = x)(yk - y) xy = E[(X- (xk - N-1 k =1 O mx et my sont les moyens de deux variables. Si x a tendance tre au au-dessus dessus de sa moyenne quand y est au au-dessus dessus de sa moyenne alors rxy sera positif. S'ils ont tendance tre sur les cts opposs de leurs moyennes rxy sera ngatif. Le coefficient de corrlation de Pearson est la covariance normalise

r = XY , -1 r 1 X Y
(a) Si r = -1 1 corrlation ngative parfaite (b) Si r = 1 corrlation positive parfaite


= 0.9

= 0.7
19/11/2008 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ 8

Prtraitement post-traitement Annexe 1 et post-

R Rgression i linaire li i
Modliser par une fonction linaire la relation entre deux variables x et y : tant donn un ensemble de N chantillons de couples de donnes {xi, yi}, nous cherchons estimer yi partir de xi en utilisant un modle linaire : y i = a xi +b La rgression avec une variable d dentre entre scalaire (x) est souvent appele la rgression linaire uniuni-varie pour le distinguer de la rgression linaire multi multivarie o nous avons une variable dentre vectorielle (x). La fidlit du modle aux donnes peut tre mesure par la fonction de cot de moindre carr :

k)2 E = (yk y
k =1

19/11/2008

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Prtraitement post-traitement Annexe 1 et post-

Rgression linaire

Les valeurs de a (la pente de la ligne) et b qui rduisent au minimum la fonction E peuvent tre calcules en mettant les premires drives de la fonction de cot au zro et rsolvant les quations simultanes rsultantes. La solution est

a=

xy , b = a y x x2

Cela permet l'adaptation par la moindre carrs d'une ligne de rgression un jeu de donnes comme indiqu dans la Figure suivante :

= 0.9003 x + 0.2901 et y = 0.6629 x + 4.9804 y


19/11/2008

La ligne de rgression linaire est adapte en rduisant au minimum la distance q point p de donnes. Les lignes g values sont verticale entre elle mme et chaque
Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ 10

Prtraitement post-traitement Annexe 1 et post-

Rgression linaire

Le modle sadaptera certaines donnes mieux que d'autres; celles que ce modle sadaptent bien constituent le signal et celles que ce modle ne sadapte pas bien constituent le bruit. La puissance du bruit est mesure par la variance du bruit : N 1 k )2 e2 = (yk N-1 k =1
2 - y e2 et la puissance du signal est donne par 2 - y e2 Le rapport signal sur le bruit est donne par est alors

e2

19/11/2008

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

11

Prtraitement post-traitement Annexe 1 et post-

Rgression linaire
r = x a

Nous pouvons dmontrer que

Ainsi le signe de la pente a de la ligne de rgression dfinit le signe de la corrlation. Cependant, La corrlation est aussi une fonction des cart-types des variables i bl x et y; par exemple l si i x est trs grand, d il est possible ibl d'avoir d' i une corrlation forte bien que la pente puisse tre trs petite : r mesure uniquement la corrlation linaire. Il est tout fait possible que deux variables aient une relation non-linaire forte (c'est--dire soient non-linairement corrles) mais que r =0. La puissance de la corrlation peut aussi tre exprime en terme de quantits du modle de rgression linaire
2 2 y - e r = 2 y 2

Cette quantit mesure la proportion de la variance dcrite par un modle linaire, une valeur de r2 = 1 indique que ce modle dcrit parfaitement la relation entre x et y.
19/11/2008 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ 12

Feed Forward Neural Network (FFNN) PERCEPTRON

19/11/2008

13 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON

Cration dun perceptron dune couche R entres e es e et S so sorties: es:


nnet = newp(p,t,tf,lf) p : RxQ1 matrix of Q1 representative input vectors. vectors R lments dentre. t : SxQ2 matrix of Q2 representative target vectors. tf : Transfer function, dfault = 'hardlim'. lf : Learning function, dfault = 'learnp'

a = 1 si i n>0 a = 0 si n < =0

19/11/2008

14 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON
Exemple p :
% DEFINITION % Cration dun nouveau perceptron en utilisant net = newp(pr,s,tf,lf) % Dscription % Perceptrons sont utilis pour rsoudre des problmes simples de classification % (i.e. classes linairement sparables) % net = newp(pr,s,tf,lf) % pr - Rx2 matrice des valeurs min et max pour R lments d'entre. % s - Nombre de neurones. ne rones % tf - Fonction de transfer , dfault = 'hardlim': Hard limit transfer function.. % lf - fonction d'apprentissage, dfault = 'learnp': Perceptron weight/bias learning function. p1 = 7*rand(2,50); p2 = 7*rand(2,50)+5; p = [p1,p2]; t = [zeros(1,50),ones(1,50)]; pr = minmax(p); i ( ) % pr est Rx2 2 est une matrice i des d valeurs l min i et max de d la l matrice pmm de dim (RxQ) net = newp(pr,1,'hardlim','learnpn'); % Afficher les valeurs initiales du rseau w0=net.IW{1,1} w0 net.IW{1,1} b0=net.b{1}

% sse: fonction de la somme des erreurs quadratiques (Sum squared error performance function) while (sse(E)>.1)&(iter<1000) [net,Y,E] = adapt(net,p,t);% adapt: adapter le rseau de neurones iter = iter+1; end % Afficher les valeurs finales du rseau w=net.IW{1,1} b=net b{1} b=net.b{1} % TEST test = rand(2,1000)*15; ctest = sim(net,test); fi figure % scatter: Scatter/bubble plot. % scatter(X,Y,S,C) affiche des cercles colors aux endroits spcifis par les vecteurs X et Y (de mme dimension). % S dtermine la surface de chaque marquer (en points^2). % C dtermine les coleurs de marqueurs % 'filled' remplissage des marqueurs scatter(p(1,:),p(2,:),100,t,'filled') hold on scatter(test(1,:),test(2,:),10,ctest,'filled'); hold off % plotpc (W,B): Tracer une ligne de classification sur le trac des vecteurs de perceptron % W - SxR matrice de poids (R <= 3). % B - Sx1 vecteur de bias plotpc(net.IW{1},net.b{1}); % Plot Regression fi figure [m,b,r] = postreg(y,t);

19/11/2008

15

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON
Exemple (suite):

>> run(perceptron.m') w0 0= 0 0 b0 = 0 w = 17.5443 12.6618 b = -175.3625

19/11/2008

16 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON

Regrssion linaire :

19/11/2008

17 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON
Exemple p :
% DEFINITION % Cration dun nouveau perceptron en utilisant net = newp(pr,s,tf,lf) % Dscription % Perceptrons sont utilis pour rsoudre des problmes simples de classification % (i.e. classes linairement sparables) % net = newp(pr,s,tf,lf) % pr - Rx2 matrice des valeurs min et max pour R lments d'entre. % s - Nombre de neurones. ne rones % tf - Fonction de transfer , dfault = 'hardlim': Hard limit transfer function.. % lf - fonction d'apprentissage, dfault = 'learnp': Perceptron weight/bias learning function. p1 = 7*rand(2,50); p2 = 7*rand(2,50)+5; p = [p1,p2]; t = [zeros(1,50),ones(1,50)]; pr = minmax(p); i ( ) % pr est Rx2 2 est une matrice i des d valeurs l min i et max de d la l matrice pmm de dim (RxQ) net = newp(pr,1,'hardlim','learnpn'); % Afficher les valeurs initiales du rseau w0=net.IW{1,1} w0 net.IW{1,1} b0=net.b{1}

% Apprentissage E=1; iter = 0; % sse: fonction de la somme des erreurs quadratiques (Sum squared error performance function) while (sse(E)>.1)&(iter<1000) [net,Y,E] = adapt(net,p,t);% adapt: adapter le rseau de neurones iter = iter+1; end % Afficher les valeurs finales du rseau w=net.IW{1,1} b=net.b{1} % TEST test = rand(2,1000)*15; ctest = sim(net,test); figure % scatter: Scatter/bubble plot. % scatter(X,Y,S,C) affiche des cercles colors aux endroits spcifis par les vecteurs X et Y (de mme dimension). % S dtermine la surface de chaque marquer (en points^2). % C dtermine les coleurs de marqueurs % 'filled' remplissage p g des marqueurs q scatter(p(1,:),p(2,:),100,t,'filled') hold on scatter(test(1,:),test(2,:),10,ctest,'filled'); hold off % plotpc (W,B): Tracer une ligne de classification sur le trac des vecteurs de perceptron % W - SxR matrice de poids (R <= 3). % B - Sx1 S 1 vecteur t d bias de bi plotpc(net.IW{1},net.b{1});

19/11/2008

18

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

PERCEPTRON

Simulation avec des entres en mode batch pour un rseau u se u s statique que :
Quand lordre de la prsentation des entres nest pas important, alors toutes ces entres peuvent tre introduites simultanment (mode batch). Par exemple

P = [1 2 2 3; 2 1 3 1]; t1=[100], t2=[50], t3=[-100], t4=[25], T = [100, 50, -100, 25]; net = newlin(P, T); y = sim(net, P); y=5 4 8 5
19/11/2008 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

T
19

PERCEPTRON

Simulation avec des entres en incrmental c e pour u pou un rseau se u s statique que :

mode

Quand lordre de la prsentation des entres nest pas important, mais on souhaite que ces entres peuvent tre introduites squentiellement (mode incrmental). Par exemple

P={1 { 2 2 3; 2 1 3 1}; } t1=[100], t2=[50], t3=[-100], t4=[25], T = {100, 50, -100, 25}; net = newlin(P, T, [0 0]); y = sim(net, P); y=5 4 8 5
19/11/2008 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

T
20

PERCEPTRON

Simulation avec des entres mode incrmental pour u pou un rseau se u dy dynamique que :
Quand lordre de la prsentation des entres est important, alors ces entres peuvent tre introduites squentiellement (mode enen ligne). Le rseau contient alors un retard D. Par exemple
t1=[100], [100], t2=[50], [50], t3=[-100], [ 100], t4=[25], [25], P = {1 2 2 3; 2 1 3 1}; T = { 100, 50, -100, 25}; net = newlin(P, T, [0 1]); y = sim(net, P); y = [1] [4] [7] [10]
19/11/2008 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

pt

tt
21

Multiple Layers Neural Network (MLNN) or Feed-forword backpropagation network (FFNN)

19/11/2008

22 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Multiple Layers Neural Network (MLNN) or Feed-forword backpropagation network (FFNN)

Cration d dun un MLNN:


net = newff (P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) Cette fonction retourne un rseau FFNN N couches. P - RxQ1 matrice de Q1 vecteurs reprsentatifs dentre de R-lments. T - SNxQ2 matrice de Q2 vecteurs reprsentatifs de cible de SN-lments. Si - dimensions de N-1 couches caches, S1 S(N-1), ( ) dfaut = []. (la dimension de la couche de sortie SN est dtermine de T.) TFi Fonction de Transfre de la ime couche. Par dfaut 'tansig ' pour les couches caches, et 'purelin ' pour les couches de sortie. BTF - Fonction dapprentissage de rseaux Backprop, dfaut = 'trainlm '. BLF - Fonction dapprentissage de rseaux Backprop, poids/biais, dfaut = 'learngdm '. PF - Fonction de Performance, dfaut = 'mse'. IPF Rang de fonctions de traitement de lentre. Df t est Dfaut t {'fixunknowns fi k ' 'remconstantrows ',' t t ' 'mapminmax ',' i '} '}. OPF - Rang de fonctions de traitement de la sortie. Dfaut est {'remconstantrows ','mapminmax '}. DDF Fonction i de d division di i i de d donnes, d dfaut d = 'dividerand ';
19/11/2008 23 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Multiple Layers Neural Network (MLNN) or Feed-forword backpropagation network (FFNN)

TRANSFERT FUNCTION PAR DFAUT :


A = tansig (N,FP) Cette fonction retourne une matrice SxQ de N lments dans [1 1]. N des entres, matrice SxQ de vecteurs colonnes. FP - Structure des paramtres de la fonction (ignore) a = tansig g( (n) )

a = tansig(n) g( ) = 2/(1+exp(-2*n))-1 ( p( ))

19/11/2008

n = -5:0.1:5; a = tansig(n); g( ); plot(n,a)


Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

24

Multiple Layers Neural Network (MLNN) or Feed-forword backpropagation network (FFNN)

TRANSFERT FUNCTION PAR DFAUT :


A = purlin (N,FP) Cette fonction retourne une matrice SxQ gale N. N des entres, matrice SxQ de vecteurs colonnes. FP - Structure des paramtres de la fonction (ignore) a=p purelin ( (n) )

a=p purelin(n) ( )=n

19/11/2008

n = -5:0.1:5; a = tansig(n); g( ); plot(n,a)


Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

25

Multiple Layers Neural Network (MLNN) or Feed-forword backpropagation network (FFNN)

Exemple 1 : Supposons, par exemple que vous avez des donnes d'une application d'habitation [HaRu78]. Vous voulez concevoir un rseau qui peut prdire la valeur d'une maison (en $1000) tant donn 13 articles de renseignements gographiques et de biens immobiliers. Vous avez un total de 506 exemples de maisons pour lesquelles vous avez ces 13 articles de donnes et leurs valeurs associes du march.

19/11/2008

26 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Exemple 1 (suite)

Etant donn p vecteurs d dentre entre et t vecteurs cibles


load housing; % Chargement des donnes p (matrice 13x506) et t (matrice 1x506) [pmm, ps] = mapminmax(p); % assigner les valeurs min et max des lignes de la matrice p des valeurs dans la plage [-1 [ 1 1] [tmm, ts] = mapminmax(t);
% diviser les donnes en 3 ensembles : apprentissage, validation, et test . Lnsemble de validation est utilis pour assurer q quil n y aura p pas de sur-apprentissage pp g ( (overfitting) g) dans les rsultats finaux. Lensemble de test fournis une mesure indpendante de comment on peut s'attendre ce que le rseau fonctionne sur les donnes dapprentissage non utilises. Prenez 20 % des donnes pour lensemble de validation et 20 % pour lensemble de test, en laissant 60 % pour lensemble dapprentissage. Choisissez les ensembles au hasard des donnes originales. g [trainV, val, test] = dividevec(pmm, tmm, 0.20, 0.20); % 3 structures : training (60%), validation (20%) et test (20%)

pr = minmax(pmm); % pr est Rx2 est une matrice des valeurs min et max de la matrice pmm de dim (RxQ) net = newff( (p pr, [ [20 1]); ]); % crer a feed-forward backpropagation p p g network avec une couche cach de
20 neurones et une couche de sortie avec 1 neurone. La fonction dapprentissage par default : function = 'trainlm'

[net, tr]=train(net, trainV.P, trainV.T, [ ], [ ] ,val,test); % Train a neural network. Cette fonction prsente ensemble dapprentissage
19/11/2008

Structures des ensembles de validation et de test

tous les vecteurs de contribution au rseau immdiatement en mode batch . Pour valuer les performances, elle utilise la fonction mse (mean squared error). net est la structure du rseau obtenu, b tr est training i i record d (epoches ( h et 27 performance)

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Exemple 1 (suite)

Ensemble de vecteurs dapprentissage (trainV.P) : Ceuxci sont prsents au rseau pendant lapprentissage et le rseau est ajust selon son erreur. (trainV.T, , valid) ) : Ensemble de vecteurs de validation ( Ceux-ci sont utiliss pour mesurer la gnralisation de rseau et interrompre p lapprentissage pp g quand la q gnralisation arrte de s'amliorer. (trainV T test) : Ceux Ceux-ci ci Ensemble de vecteurs de test (trainV.T, n'ont aucun effet sur lapprentissage et ainsi fournissent une mesure indpendante de la performance de rseau pendant et aprs lapprentissage.
19/11/2008 28 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Exemple 1 (suite)

19/11/2008

29 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Exemple 1 (suite)

TRAINLM-calcjx, Epoch 0/100, MSE 0.37277/0, Gradient 2.28416/1e-010 TRAINLM-calcjx, Epoch 9/100, MSE 0.00767742/0, Gradient 0.103491/1e-010 TRAINLM, Validation stop. L Lapprentissage ti est t arrt t litration 9 parce que la performance (le mse) de la validation commence augmenter g partir de cet itration.

Performances assez suffisantes

Apprendre plusieurs fois produira des rsultats diffrents en raison des conditions initiales diffrentes diffrentes. La moyenne des erreurs cares (Mean Squared Error (mse)) est la moyenne des cares de la diffrence entre les sorties (normalises) et les cibles. Le zro signifie aucune erreur, plus de 0.6667 signifie une erreur eleve.
19/11/2008 30 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Exemple 1 (suite)

Analyse de la rponse du rseau Passez l lensemble ensemble entier de donnes par le rseau (apprentissage, (apprentissage validation et test) et effectuez une rgression linaire entre les sorties de rseau, aprs qu'ils ont t ramens la gamme originale de cible et les cibles correspondantes. Pmm ymm

ymm = sim(net, sim(net Pmm); % simuler un rseau de neurones 20 y = mapminmax('reverse', ymm, ts); % Remettre les valeurs entre [-1 1] de la matrice ymm leurs valeurs minimales et maximales relles [m, b, r] = postreg(y, t); % Faire une rgression linaire (voir annexe) entre un lment de la rponse de rseau y et la cible correspondante t. m Pente de la rgression linaire . b Y-intercption de la rgression linaire . r valeur de la rgression g linaire.
19/11/2008 31 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

net

MLNN orFFNN

Exemple 1 (suite)

La rgression r des Valeurs mesure la corrlation entre les sorties (non normalises) et les cibles. Une valeur de r de 1 signifie i ifi une relation l ti parfaite, f it 0 une relation alatoire.

La sortie L ti suit it bien bi les l cibles, ibl r = 0.9. 0 9 Si une prcision i i plus l grande d est t demande, d d alors l : - Rinitialiser les poids et le biais du rseau en utilisant de nouveau les fonctions init(net) et train - Augmenter le nombre de neurones dans la couche cache - Augmenter le nombre de vecteurs dapprentissage - Augmenter le nombre dentres si plus dinformations utiles sont disponibles - essayez un autre algorithme dapprentissage
19/11/2008 32 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN Comparaison des diffrentes fonctions dapprentissage

Il est trs difficile de savoir quel algorithme dapprentissage dun rseau Feedforward sera le plus rapide pour un problme donn. Il dpend de beaucoup de facteurs, y compris : la complexit du problme, le nombre de vecteurs ( (ou p points) ) de donnes dans lensemble dapprentissage, le nombre de poids et des biais dans le rseau, le l'erreur objective et si le rseau est utilis pour la reconnaissance de formes (discriminant analysis) ou l'approximation de fonctions (rgression) (rgression).
33 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

19/11/2008

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

Les diffrentes fonction d dapprentissage apprentissage

Acronyme Algorithme

LM trainlm
LevenbergMarquardt

BFG trainbfg
BFGS QuasiNewton

RP trainrp
Resilient Backpropagation

SCG trainscg
Scaled Conjugate Gradient

CGB traincgb
Conjugate Gradient with Powell/Beale Restarts

CGF traincgf
FletcherPowell Conjugate Gradient

CGP traincgp
PolakRibire Conjugate Gradient

OSS trainoss
One Step Secant

GDX traingdx
Variable Learning Rate Backpropagation

19/11/2008

34 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

Les six benchmarks utiliss pour tester les performances des algorithmes
Titre du Problme SIN PARITY ENGINE CANCER CHOLESTEROL DIABETES Type du Problme Approximation dune fonction Reconnaissance de formes Approximation dune fonction Reconnaissance de formes Approximation dune fonction Reconnaissance de formes Structure du rseau 1-5-1 3-10-10-1 2-30-2 9-5-5-2 21-15-3 8-15-15-2 Erreur objective 0.002 0.001 0.005 0.012 0.027 0.05 calculateur Sun Sparc 2 Sun Sparc 2 Sun Enterprise 4000 Sun Sparc 2 Sun Sparc 20 Sun Sparc 20 Lalgorithme le plus rapide Po r q Pour quelques elq es centaines de poids LM RP
LM, BFGS QN CGB, CGF, CGP

CGB, RP, LM CGB, CGF, CGP

CGB, CGF, , RP CGP,

19/11/2008

35 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

Il y a plusieurs caractristiques concernant ces algorithmes qui peuvent tre dduites des expriences dcrites prcdemment. En gnral, sur les problmes d'approximation de fonction, pour l rseaux les qui i contiennent ti t jusqu' j ' quelques l centaines t i d poids, de id l'algorithme Levenberg-Marquardt (trainlm) aura la convergence la plus rapide. rapide Ce favori est surtout vident si un apprentissage trs exact est exig.

19/11/2008

36 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

Dans beaucoup p de cas, , trainlm est capable p d'obtenir des erreurs carres moyennes plus basses que n'importe lesquelles donnes par les autres algorithmes valus. Pourtant, si le nombre de poids de rseau augmente, le favori de trainlm diminue. Cependant, la performance est relativement faible sur des problmes bl d reconnaissance de i d formes. de f L Les exigences i d de stockage de trainlm sont plus grandes que les autres algorithmes valus En ajustant le paramtre mem_reduc, valus. mem reduc les exigences de stockage peuvent tre rduites, mais aux prix dun temps d'excution accru.

19/11/2008

37 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

La fonction trainrp est l'algorithme le plus rapide sur des problmes de reconnaissance de formes. Cependant, il nest pas performant f t sur des d problmes bl d' d'approximation i ti des d fonctions. f ti S Sa performance se dgrade aussi quand l'erreur objective est rduit. Les exigences de la mmoire pour cet algorithme sont relativement petites en comparaison aux autres algorithmes considrs.

19/11/2008

38 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

Les algorithmes de gradient conjugu, en particulier trainscg, semblent fonctionner bien sur une large varit de problmes, particulirement ti li t pour des d rseaux avec un grand d nombre b de d poids. id L'algorithme trainscg est presque aussi rapide que l'algorithme LM sur des problmes d d'approximation approximation de fonction (plus rapide pour de grands rseaux) et est presque si rapide que trainrp sur des problmes de reconnaissance de formes. Sa performance ne se dgrade pas aussi rapidement comme la performance de trainrp fait quand l'erreur est rduite. Les algorithmes de gradient conjugu ont des exigences relativement modestes de mmoire. mmoire

19/11/2008

39 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

La performance de trainbfg est semblable celle de trainlm. Il n'exige pas autant de stockage que trainlm, mais le calcul exig augmente t vraiment i t gomtriquement t i t avec la l taille t ill du d rseau, parce que l'quivalent d'un inverse matriciel doit tre calcul chaque itration.

19/11/2008

40 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

MLNN orFFNN

Comparaison des diffrentes fonctions dapprentissage (suite)

L'algorithme dapprentissage taux variable traingdx est d'habitude beaucoup plus lent que les autres mthodes et a les mmes exigences i d stockage de t k que trainrp, t i mais i il peut t toujours t j tre utile pour certains problmes. Il y a de certaines situations dans lesquelles il est meilleur de converger plus lentement.

19/11/2008

41 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Radial Basis Functions (RBF)

Ncessitent plus de neurones par rapport aux FFNN

Deux Types yp
Generalized regression networks (GRNN) et Probabilistic P b bili ti neural l networks t k (PNN). )

19/11/2008

42 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Radial Basis Functions (RBF)

Generalized regression networks (GRNN) (suite)

||dist||=||W-P||
19/11/2008 43 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Radial Basis Functions (RBF)

Generalized regression networks (GRNN) (suite)

TRANSFERT FUNCTION :
A = radbas(n,FP) C Cette fonction f i retourne une matrice i SxQ S Q de d N l lments d de RBF. n des entres, matrice SxQ de vecteurs colonnes. FP - Structure des paramtres de la fonction (ignore)

a = radbas (n) = Exp(-n2)


Cette fonction a un maximum de 1 q quand son entre est 0. Si la distance entre W et p diminue, la sortie augmente. Ainsi, un neurone radial de base agit en tant que dtecteur qui produit 1 toutes les fois que l l'entre entre p est identique son vecteur de poids W.

Le biais b permet dajuster d ajuster la sensibilit du neurone . Par exemple, si un neurone avait un biais de 0.1 il produirait 0.5 pour n'importe quel vecteur d'entre p la distance de vecteur de 8.326 (0.8326/b) de son vecteur d poids de id W. W
19/11/2008 44 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

n = -5:0.1:5; a = radbas(n ); plot( p (n ,a)

Radial Basis Functions (RBF)

Generalized regression networks (GRNN) (suite)

19/11/2008

45 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Radial Basis Functions (RBF)

Generalized regression networks (GRNN) (suite)

Cration dun rseau RBF :


Un RBF peut tre construit par newrb ou newrbe. [ [net,tr] ] = newrb b (P,T,GOAL,SPREAD,MN,DF) (P T GOAL SPREAD MN DF) Le rseau RBF peut tre utilis pour approcher des fonctions quelconques. newrb ajoute des neurones la couche cache d'un rseau RBF jusqu' ce qu'il atteint lobjectif dune erreur carre moyenne minimale (mean sequared error (mse)) )). P - matrice RxQ de Q vecteurs dentre. T - matrice SxQ matrix de Q vecteurs cibles de classes. GOAL - mse objective (sum (sum-squared squared error goal), dfaut = 0.0. SPREAD - Propagation des fonctions RB (spread constant), dfaut = 1.0. MN - Nombre maximal de neurones, dfaut Q. DF - Nombre de neurones rajouter entre chaque valuation, valuation default = 25. 25 Exemple : goal = 0.02; % sum-squared error goal spread = 1; % spread constant net t = newrb(P,T,goal,spread); b(P T l d)
19/11/2008 46 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Radial Basis Functions (RBF) Dmonstrations

Generalized regression networks (GRNN) (suite)

demorb1 montre comment un rseau RB est utilis p pour modliser une fonction. Le problme est rsolue avec 5 neurones. demorb3 et demorb4 examinent comment le constant de propagation affectent le processus de conception du rseau RB.

19/11/2008

47 Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

Rfrences
- Neural Network Users Guide, Mathworks

19/11/2008

Tarik AL ANI, A2SI-ESIEE Paris/ LISV-UVSQ

48

Vous aimerez peut-être aussi