Rețele Neuronale

VRU ⟢ Rețele Neuronale

SIMULAREA REŢELELOR NEURONALE FOLOSIND MATLAB®

Metoda descrisă pune accentul pe reținerea a cât mai multe caracteristici a funcției RBF(radial basis function).

Am folosit MATLAB® pentru a implemeta funcția de analiză RBF pentru funcția care descrie urmatoarea variație de parametrii:

formula matematica RBF

Procesul de educare şi testare a unei rețele neuronale RBF cuprinde următoarele etape:

Astfel se pot descrie pentru aplicația aleasă urmatorii paşi:

1) Căile de educare şi testare

2) Arhitectura rețelei neuronale RBF

Rețelele neuronale sunt în principiu o clasă de funcŧii ce pot fi implementate pentru orice fel de model (linear sau neliniar) şi în orice fel de rețea (cu un singur strat sau mai multe straturi).

Rețelele RBF sunt rețele formate din două straturi : nodurile de intrare, neuroni ascunşi cu funcții de bază nonliniare, şi neuroni de ieşire cu funcții de activare liniare sau nonliniare.

structura retea neuronala RBF

3) Căile de educare a rețelei

Având datele de intrare bine precizate şi algoritmul funcției de iesire se vor obține următoarele rezultate reprezentate grafic în figura 2.

4) Arhitectura rețelei neuronale RBF după ce a fost implementat algoritmul de calcul.

Se reprezintă grafic erorile care apar şi rezultatul iterației.

structura retea neuronala RBFstructura retea neuronala RBFstructura retea neuronala RBF

Codul sursă al programului folosit este următorul:


clear all
x=[0:1:360];y=45*(1-cos(x*pi/180)+0.07352*(1-cos(2*x*pi/180))); 
x1=[0:1:360]; y1=45*(1-cos(x*pi/180)+0.07352*(1-cos(2*x*pi/180)));
figure plot(x,y,'r^',x1,y1,'go')title('Vectori exercitiu');
xlabel('Vector initial x');
ylabel('Vectorul tinta y pentru exercitiu');
legend({'punct initial','rezultat dorit '})
P=[0:0.1:360]; 
eg1 = 1.0e-1; sc1 = 20;nnsize = 25; df = 5; 
[ net1, tr1 ] = newrb(x,y,eg1,sc1, nnsize, df );
T1=sim(net1,P);
figureplot(x1,y1,'r^',P,T1,'go')
title('Test RBF Network');
xlabel('Date initiale');
ylabel('Rezultate');
legend({'Rezultate dorite','Rezultate'})

Se poate observa că sau folosit 25 de neuroni şi pentru fiecare iterație sa ales varianta cu adăugarea a câte 5 noi neuroni de iterație. Dacă s-ar fi folosit un număr mai mic de neuroni s-ar fi obținut rezultate mult mai depărtate de valoarea impusă prin algoritmul de invățare al rețelei. Se exemplifică în următoarele grafice diferențele obținute pentru 5, 10, neuroni.

Rezultatul simulării:

5 neuroni

structura retea neuronala RBF

10 neuroni

structura retea neuronala RBF

Se poate observa variația fidelității simulării odată cu creşterea numărului de neuroni folosiți de rețeau neuronală. Acest aspect poate fi folosit pentru o mare varietate de aplicații precum: recunoaşterea digitală a feței, detectarea mirosurilor, clasificarea imaginilor din punct de vedere al caracteristicilor de culoare, aplicații de predicție a anumitor fenomene.

BIBLIOGRAFIE

[1] Hyungsuck Cho - Artificial neural network: Theory and applications;

[2] Karim, A. - Introduction to Matlab®, Ohio State University;

[3] Mark, J. - Introduction to Radial Basis Function Networks, Centre for Cognitive Science, University of Edinburgh, 1996;

[4] Yu-Tseh Chi - Function approximation by RBF, Ohio State University;