Sunteți pe pagina 1din 26

UNIVERSITATEA VALAHIA TARGOVISTE

FACULTATEA DE INGINERIE ELECTRICA


SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

RETELE CU BAZA RADIALA


Disciplina:
Inteligenta artificiala
Student

Specializarea
Automatica si informatica aplicata
Anul IV

1
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

CUPRINS:

I. Retele neuronale – introducere

II.Retele cu baza radiala

II.1.Introducere

II.2.Principiul de funcţionare al unei reţele neuronale bazate pe funcţii radiale

II.3.Arhitectura unui RNA-RBF

II.4. Strategii de invatare pentru RNA bazate pe functii radiale

II.5.2.EXEMPLU 2

II.5.1 .EXEMPLU 1.:

III.Comparaţie între reţelele RBF şi perceptronul multistrat

VI.Concluzii

V. Bibliografie

2
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

I. RETELE NEURONALE –introducere

Retelele neuronale artificial (RNA) ,denumite uneori procesoare paralel distribuite


,neurocomputere sau modele conexioniste , reprezinta o incercare de a simula , cel purin
partial ,structura si functiile creierului specific organismelor vii.

Ca o definitie generala , se poate spune ca RNA reprezinta un system de procesare al


semnalelor , compus dintr-un numar mare de procesoare elementare interconectate , denumite
neuroni artificiali sau noduri , si care coopereaza pentru rezolvarea unor sarcini
specifice.Modalitatea de adaptare la conditiile specifice mediului consta in modificarea
ponderilor asociate conexiunilor dintre neuroni si eventual a structurii RNA.

Retelele neuronale sunt recunoscute ca modelele dominante(paradigme) ale inteligentei


artificial.Cu ajutorul lor isi gasesc rezolvarea o varietate larga de probleme din mediile stiintifice
si ingineresti.

Astfel de mode conexioniste ofera anumite avantaje, caracteristice neuronale reale


(biologice) si care nu sunt intalnite in cazul sistemelor de calcul traditionale, secventiale [1]:

• O proprietate deosebit de importanta a RNA este aceea de a invata si de a se adapta;

• Posibilitatea de a opera cu date imprecise;

• Capacitatea de generalizare , in sensul in care RNA va opera corect si cu date de


intrare care nu au fost prezentate in timpul procesului de antrenare;

3
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

• Datorita gradului ridicat de parallelism , functionarea defectuoasa sau chiar pierderea


unui numar de neuroni nu afecteaza semnificativ performanta sistemului global.RNA
reprezinta deci sisteme tolerante la erori;

• Capacitate de a aproxima orice functie continua neliniara cu gradul de acuratete


dorit.Astfel RNA pot fi folosite cu success in modelarea sistemelor neliniare;

• Datorita numarului mare de intrari si iesiri , RNA modeleaza cu usurinta sisteme


multivariabile.

• Implementarile hardware ale RNA, de exemplu prin intermediul circuitelor integrate


pe scara larga (VLSI) , fac posibila utiliazarea RNA pentru cazul aplicatiilor in timp
real.

Principalele forme de retele neuronale:

• RNA de tip perceptron

• RNA bazate pe functii radiale

• RNA recurente

• RNA cu auto-organizare.

II. Retele neuronale artificiale bazata pe functii radiale

II.1.Introducere

In cadrul acestui capitol se prezinta o abordare diferita a modului de realizare a unui


RNA. Acest proces este vazut ca o problema de aproximare a unei curbe intr-un spatiu
multidimensional.Conform acestui punct de vedere , invatarea este echivalenta cu gasirea unei
suprafete intr-un spatiu multidimensional care sa se ‘potriveasca’ cu cea descrisa de datele de
intrare. Generalizarea retelelor neuronale bazate pe functii radiale (‘’Radial Basis Function-
RBF’’) reprezinta in acest caz capacitatea de interpolare a RNA vizavi de datele de test.

Comparativ cu RNA-MLP (), RNA-RBF pot sa solicite mai multi neuroni dar antrenarea
acestora necesita mai putin timp decat in cazul perceptronului.Explicatia acestui fapt este
urmatoarea: iesirile neuronilor sigmoidali ai stratului ascuns sunt semnificative prentru regiuni
largi ale spatiului de intrare in timp ce neuronii bazati pe functii radiale raspund doar la regiuni

4
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

relative mici din spatial de intrare. In consecinta RNA-RBF ,se comporta mai bine cand sunt
disponibili mai multi vectori de antrenament.

Modelul unui neuron RBF este prezentat in figura 1.In acest caz intrarea neta este
constituita din norma diferentei vectoriala ||t-x|| . Un exemplu tipic pentru functia de activare este
ϕ (x)= reprezentata in figura 2.Se observa ca functia radiala are un maxim daca
intrarea este nula.Daca distant intre t si x descreste ,valoarea iesirii creste.Adica neuronal radial
se comporta ca un detector care produce ‘1’ la iesire de fiecare data cand tiparul de inrare e
identic cu vectorul pondere t.

T t
……………….
X ϕ
. 1

y
0. 8

0. 6

||distant||
0. 4

0. 2

-3 -2 -1 1 2 3

x

p

1
figura1: Modelul unui neuron RBF

Figura 2: functia de activare : ϕ (x)=

5
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

II.2.Principiul de funcţionare al unei reţele neuronale bazate pe funcţii radiale

Principiul de funcţionare al unei reţele neuronale bazate pe funcţii radiale, se bazează pe


teorema lui Cover asupra separabilităţii şabloanelor (vectorilor). Conform acestei teoreme, o
problemă complexă de clasificare, poate fi mai bine rezolvată în sensul liniar separabilităţii, într-
un spaţiu cu un număr mare de dimensiuni, decât în unul cu un număr mic de dimensiuni. Astfel,
considerând N vectori (şabloane) p dimensionali x0 X, pentru fiecare dintre ei se defineşte un
vector ϕ (x)=[ϕ 1(x), ϕ 2(x), ..., ϕ m(x)]T, cu m>p. Funcţia care scufundă vectorii de intrare p
dimensionali în noul spaţiu m dimensional, se numeşte funcţie ascunsă. Problema interpolării, în
sensul strict al său, poate fi enunţată astfel:

Enunţul : Fiind dată mulţimea de puncte {xk0 Rp k=1,2,...,N} şi o mulţime de numere
reale {dk0 R k=1,2,...,N}, să se determine funcţia F:RN→ R, care să satisfacă condiţia de
interpolare

F ( xk ) = d k , ∀k =1, 2,  , N (3.1)

Tehnica funcţiilor radiale constă în alegerea funcţiei F de forma


N
F ( x) = ∑wk ϕ( x − x k ) (3.2)
k =1

unde {ϕ (2 x-xk2 )k=1, 2, …, N} este o mulţime de N funcţii arbitrare, în general neliniare,


numite funcţii radiale, iar 2 •2 reprezintă o normă, în general fiind utilizată norma Euclidiană.
Vectorii cunoscuţi (şabloanele) xk0 Rp, k=1,2,...,N se numesc centrii funcţiei radiale, iar wk sunt
ponderi, iniţial necunoscute. Prin găsirea ponderilor wk, funcţia F este complet determinată

Pentru aceasta, prin înlocuirea (3.2) în (3.1), se obţine


N

∑w ϕ(
k =1
k x − xk ) =d k , ∀k = 1, 2,  , N (3.3)

Dezvoltând relaţia (3.3), rezultă următorul sistem de ecuaţii liniare, din care se pot determina
ponderile wk:

6
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

ϕ11 ϕ12  ϕ1 N   w1   d1 
ϕ ϕ 22  ϕ 2 N   w2   d 2 
 21 = (3.4)
         
    
ϕ N 1 ϕN 2  ϕ NN  wN  d N 

unde

ϕmk =ϕ( x m − x k ), ∀m, k =1, 2,  , N (3.5)

Fie D=[d1, d2, ..., dN]T şi W=[w1, w2, ..., wN]T vectorul răspunsului dorit şi respectiv
vectorul pondere şi fie Φ matricea de dimensiune NxN, de elemente ϕ mk , numită matrice de
interpolare. Sistemul de ecuaţii (3.4) poate fi rescris sub formă matriceală ca:

ΦW = D (3.6)

Teorema (Light, 1992): Dacă x1, x2 ,..., xN sunt puncte distincte în Rp, atunci matricea
de interpolare Φ , de dimensiune NxN, având elementele ϕ mk = ( xm-xk ) este pozitiv definită.

În condiţiile teoremei lui Light, vectorul pondere necunoscut, se obţine simplu, prin
inversarea matricii de interpolare:

W =Φ−1 D (3.7)

Pot fi puse în evidenţă mai multe tipuri de funcţii radiale care satisfac teorema lui Light.
Câteva exemple de astfel de funcţii radiale sunt:

1. Funcţiile Gaussiene, de forma


r2

ϕ (r ) = e 2σ 2
, pentru σ > 0, r ≥ 0 (3.8)

2. Multicuadrice inverse, de forma


1
ϕ( r ) = , pentru c > 0, r ≥ 0 (3.9)
r +c2
2

7
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

3. Funcţii Spline, de tipul


ϕ( r ) = r 2 log( r ), pentru r > 0 ( 3.10)

Se pune problema, ce se întâmplă dacă, într-un perceptron sau într-un perceptron


multistrat, funcţiile de activare liniare sau neliniare sunt înlocuite cu funcţii radiale. Fie pentru
aceasta o reţea cu un singur neuron, în care funcţia de activare este o funcţie radială de tip
Gaussian (fig. 3.1).
x ω (x)
ϕ

Figura 3.1 Neuronul RBF


Fie ω ponderea conexiunii de intrare, iar x semnalul aplicat pe intrarea neuronului.
Ieşirea neuronului va fi dată de funcţia ϕ (x), exprimată de
( x −ω) 2

ϕ( x) = e 2σ 2 (3.11)

Valoarea maximă a ieşirii se obţine pentru x=ω şi descreşte rapid, cu cât intrarea x se depărtează
de ω . Domeniul de valori ale ieşirii neuronului, în care aceasta are o valoare semnificativă
pentru o plajă restrânsă de valori ale intrării, dependent de σ , este numit câmp receptiv al
neuronului.

Dacă intrarea nu este scalară, ci este vectorul X=[x1 x2 … xN]T, iar vectorul ponderilor
intrărilor este Ω =[ω 1 ω 2 … ω N]T, ieşirea neuronului bazat pe funcţii radiale va fi dată de
2
X −Ω

ϕ( X ) = e

2σ 2 (3.12)

8
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Pe baza acestui tip de neuroni, se poate construi o reţea neuronală conectată înainte,
având în stratul ascuns neuroni bazaţi pe funcţii radiale, iar în stratul de ieşire neuroni liniari, sau
având o altă funcţie de activare neliniară. O astfel de reţea este prezentată în fig. 3.2, având un
ω1
x1 ϕ1
w1

ϕk w2 y=Σϕkwk
x2
F(y)
wN
xN
ϕN
ωN

Figura 3.2 Reţea neuronală bazată


singur neuron de ieşire.

Intrările xj, j=1, 2, …, N sunt aplicate tuturor neuronilor stratului ascuns, prin intermediul
ponderilor corespunzătoare ω j. Ieşirea fiecărui neuron al stratului ascuns va fi dată de
2
X −Ω

= ϕk ( X − Ω )

ϕk ( X ) = e 2σ 2 (3.13)

Neuronul de ieşire va avea potenţialul intern dat de


N
v = ∑wk ϕk ( X − Ω ) (3.14)
k =1

Dacă funcţia lui de activare este liniară, atunci la ieşirea reţelei se obţine semnalul
N
F ( X ) = ∑w k ϕ k ( X − Ω ) (3.15)
k =1

adică, ieşirea reţelei este dată funcţia de interpolare F , descrisă de relaţia (3.2). Pentru ca
condiţia de interpolare impusă să fie satisfăcută de reţeaua neuronală, ponderile w k vor trebui
adaptate, respectând un algoritm de antrenare.

II.3.Arhitectura unui RNA-RBF:

O RNA bazata pe functii radiale prezinta trei straturi:

• Stratul de intrare sau stratul sensorial;

• Stratul ascuns – contine functii care constiruie o baza pentru vectorii de intrare
aceste functii poarta numele de functii radiale;

• Stratul de iesire.

9
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Transformarea spatiului de intrare in spatial neuronilor ascunsi este neliniara, pe cand


transformarea spatiului neuronilor ascunsi in spatiul neuronilor de iesire este liniara.Justificarea
acestui aspect se bazeaza pe teorema lui Cover asupra separabilitatii tiparelor , care arata ca o
problema complexa de clasificare a tiparelor , transformata neliniar intr-un spatiu de dimensiune
inalta este cu mult mai probabil de a fi liniar separabila decat intr-un spatiu cu dimensiuni mai
putine.

x1 1
ϕ
w1
w0
w2 F(X)
xk
ϕ
wN

xp
ϕ

figura 3:arhitectura unui RNA-RBF

II.4. Strategii de invatare pentru RNA bazate pe functii radiale

Exista mai multe metode de antrenare ale RNA, deosebirea intre ele consta in metoda de
alegerea a centrilor functiilor radiale.

• Metoda bazata pe cresterea retelei

Initial stratul ascuns nu are nici un neuron. Dupa fiecare epoca , vectorul de intrare pentru
care se obtine cea mai mare eroare la nivelul la nivelul stratului de iesire este folosita pentru
creearea unui nou neuron prin egalizarea ponderilor acestuia cu vectorul de intrare. Se calculeaza
apoi ponderile stratului liniar. Daca se ajunge la eroarea (performanta) dorita sau daca se ajunge
la un numar maxim de neuroni pentru stratul ascuns , procesul de antrenament va fi incheiat.

10
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

• Metoda centrilor ficsi ,alesi aleator

Reprezinta una din cele mai simple abordari si presupun functii radiale fixe care defines
functiile de activare ale stratului ascuns. Locatiile centrilor functiilor sunt alese aleator dintre
vectorii de intrare.

Este cea mai simplă modalitate de alegere a centrilor, presupunând că funcţiile de


activare ale neuronilor din stratul ascuns sunt funcţii radiale fixe. Uzual, se utilizează ca funcţii
radiale, funcţii Gaussiene având deviaţia standard fixă, dependentă de împrăştierea centrilor, de
forma

( ) =e
M
− X −Ωk
G X − Ωk
2 δ2
, k = 1, 2. , N (3.17)
unde M<N este numărul centrilor, iar δ este distanţa maximă între centrii aleşi. Motivul pentru
care matricea funcţiilor radiale este notată cu G va fi desluşit în paragraful următor.
Valoarea deviaţiei standard pentru funcţiile Gaussiene este dată de
δ
σ= (3.18)
2M
Cum în acest caz, centrii au poziţii fixe, iar deviaţia standard este constantă, singurii
parametrii care trebuie determinaţi sunt ponderile conexiunilor dintre stratul ascuns şi stratul de
ieşire. O metodă imediată de determinare a matricii (vectorului) ponderilor este metoda matricii
pseudoinverse (Broomhead şi Lowe, 1988), dată de
W =G +D (3.19)
unde D este vectorul răspunsului dorit, utilizat în setul de antrenare, iar G+ este pseudoinversa
matricii G, definită de
G + = ( GT G ) −1
GT (3.20)
Matricea G este definită, după cum s-a arătat anterior ca,
G = { g mk } (3.21)
unde
M
− X m −Ωk
g mk = e δ2
, m = 1, 2,  , N , k = 1, 2,  , M (2.22)
unde Xm reprezintă vectorul de intrare la iteraţia j (exemplul j din setul de antrenare).
Pentru implementarea algoritmului de calcul a matricii pseudoinverse, de o utilitate deosebită
este teorema descompunerii după valori singulare (Haykin 1991):
Teorema: Dacă G este o matrice de dimensiune NxM, de valori reale, atunci există
matricile ortogonale
U = { u1 , u 2 ,  , u N }
şi

11
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

V = { v1 , v 2 ,  , v M }
astfel încât
U T GV = diag ( σ1 , σ 2 ,  , σ j ), j = min ( M , N )
unde
σ1 ≥ σ2 ≥ ≥ σ j > 0
Coloanele matricii U formează vectorii singulari stângi, iar coloanele matricii V vectorii
singulari drepţi. Valorile σ k, k=1,…,j sunt valorile singulare ale matricii G.
Conform teoremei 3.2, matricea pseudoinversă de dimensiune MxN a matricii G poate fi
calculată ca
G + =VΣ+U T (3.23)
unde matricea diagonală Σ de dimensiune NxN, este definită de
+

 1 1 1 
Σ+ = diag  , , , , 0,  , 0  (3.24)
σ σ σj 
 1 2 

Pentru functiile radiale se prefer un Gaussian izotrop:

ti|^2|)=exp(-M/d^2||x-ti||^2), i=1,2,…M in care’’ M’’ reprezinta numarul centrilor iar


‘’d’’ distant maxima dintre acestia.

In acest caz deviatia standard pentru toate functiile va fi aceasi: σ=

Pentru reprezentarea ponderilor stratului liniar de iesire se foloseste metoda


pseudoinversei:

w= d

cu G fiind pseudoinversa matricii G: G={ }, cu =exp(- ), i=1,2,..,M


,j=1,2,..,N.

Conform teoremei decompozitiei valorilor singular , pseudoinversa matricii G este

G + =VΣ+U T
definite astfel: in care este ea insasi o matrice NxN constituita din
valorile singular ale lui G:

 1 1 1 
Σ+ = diag  , , , , 0,  , 0 
σ σ σ 
 1 2 j 

12
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

• Metoda selectiei autoorganizarii centrilor

In cadrul acestei abordari este permisa deplasarea locatiei centrilor functiilor radiale intr-
o maniera autoorganizata, in timp ce ponserile stratului liniar de iesire sunt calculate intr-o
maniera de iesire.

Componenta autoorganizata permite alocarea resurselor RNA astfel incat centrii


functiilor radiale vor fi plasati doar in regiuni semnificative ale spatiului de intrare.Pentru
selactia autoorganizata a centrilor se poate folosi metoda celor mai apropiati ‘k’ vecini iar pentru
invatarea supervizata se poate folosi un algoritm bazat pe corectia erorilor (de exemplu LMS).

Antrenarea reţelelor bazate pe funcţii radiale, în scopul obţinerii funcţiei de interpolare,


presupune 2 etape:

1. Stabilirea valorilor elemetelor vectorului centrilor Ω k şi a dispersiei σ k pentru fiecare


neuron k din stratul ascuns;
2. Determinarea ponderilor printr-o metodă de antrenare, iterativă sau neiterativă.

Pentru arhitecturi cu i neuroni de ieşire, i=1, 2, …, presupunând matricea W a ponderilor


ca fiind singulară, actualizarea ponderilor se poate face iterativ, pe baza unei reguli de
minimizare a erorii. Cel mai des utilizată, este metoda de descreştere pas cu pas a gradientului
funcţiei de eroare, care, similar perceptronului multistrat va da o regulă de actualizare a
ponderilor la fiecare iteraţie, de forma

∂E ( j )
wmk ( j +1) = wk ( j ) −η , j = 1, 2,  , N (3.16)
∂wmk ( j )

unde wmk reprezintă ponderea conexiunii ieşirii neuronului k din stratul ascuns cu intrarea
neuronului m din stratul de ieşire, iar j reprezintă iteraţia la care se face corecţia.

Proiectarea şi antrenarea reţelelor bazate pe funcţii radiale depinde în mod esenţial de


modul de specificare al centrilor funcţiilor radiale.

13
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

II.5.1 .EXEMPLU 1.:

Aproximarea funcţiilor cu ajutorul reţelelor neuronale RBF

Reţelele neuronale cu funcţii de transfer radiale, („Radial Basis Functions“) sunt considerate
aproximatori universali şi sunt constituite dintr-un număr de N unităţi de intrare, K unităţi pe
stratul ascuns şi M unităţi de ieşire. Aceste reţele diferă de cele feedforward multinivel prin
funcţiile de integrare şi de transfer specifice nivelului ascuns.
O unitate k aflată pe nivelul ascuns produce un semnal uk corespunzător unui semnal de intrare X,
dat de relaţia:
() kkkCXgy−= (1)
unde Ck=(ck1, …, ckN) este vectorul ponderilor conexiunilor către unitatea ascunsă k, numită şi
centrul sau prototipul acesteia. Astfel funcţia de integrare asociată unităţii ascunse are la bază
calculul unei distanţe dintre vectorul de intrare şi centrul corespunzător.
Distanţa euclidiană este cel mai frecvent utilizată şi este dată de relaţia:
()Σ=−=−NikjjkcxCX122 (2)
Funcţiile de transfer sunt caracterizate prin simetrie radială şi au proprietatea de localitate, adică
produc valori semnificative doar pentru valori mici ale argumentului, pentru valori mari tinzând
însă către zero. Funcţiile de transfer uzuale sunt cele gaussiane sau cele de tip Cauchy.
Reţeaua va produce un vector de ieşire MRY∈ care va avea componentele:
(Σ=−−==NiikkikiwCXcwy102 (3) )
unde KkNiikwW,0,,1)(=== este matricea ponderilor conexiunilor dintre nivelul ascuns şi cel de
ieşire.
Dacă domeniul datelor de intrare este acoperit de câmpurile receptive ale unităţilor de pe stratul
ascuns, atunci se va obţine o bună comportare a reţelei.

14
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

15
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Reţelele RBF sunt aproximatori universali, calitatea aproximării depinzând de numărul de unităţi
ascunse.

Crearea unei reţele RBF în mediul MatLab

Exemplul dat va folosi funcţia NEWRB pentru a crea o reţea neuronală care va aproxima o
funcţie definită printr-un set de perechi de date (puncte).
>> P = -1:.1:1;
>> T = (-.9602 -.5770 -.0729 -.3771 .6405 .6600 .4609
.1336 -.2013 -.4344 -.5000 -.3930 -.1647 .0988
.3072 .3960 .3449 .1816 -.0312 -.2189 -.3201);
>> plot(P,T,'+');
Se va căuta o funcţie care să treacă prin cele 21 de puncte date. O reţea RBF este o reţea cu două
niveluri: un nivel ascuns cu neuroni „radial basis neurons“ şi un nivel de ieşire cu neuroni liniari.
Funcţia radială folosită de nivelul ascuns este:
>> p =-3:.1:3;
>> a = radbas(p);
>> plot(p,a).

16
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Ponderile şi pragurile fiecărui neuron din stratul ascuns definesc parametrii funcţiei radiale.
Fiecare neuron linear de ieşire formează o sumă ponderată a acestor funcţii radiale. Valorile
corecte ale ponderilor şi pragurilor pentru fiecare neuron şi un număr suficient de neuroni
ascunşi vor asigura obţinerea unei reţele care să aproximeze orice funcţie cu acurateţea dorită.
În continuare este dat un exemplu cu trei funcţii radiale care sunt sumate pentru a produce o nouă
funcţie:
>> plot(p,radbas(p)+radbas(p-1.5)+.05 radbas(p+2),'m-');
Pentru crearea unei reţele cu funcţie de transfer radială care să aproximeze funcţia dată prin
perechile P şi T, se va folosi funcţia MatLab NEWRB care va adăuga neuroni stratului ascuns
până în momentul în care se va atinge eroarea medie pătratică specificată.
>> eg = 0.02; % sum-squared error goal;
>> sc =1; % spread constant;
>> net=newrb(P,T,eg,sc).

Simularea reţelei obţinute

Pentru a observa performanţa reţelei se replotează setul de antrenare:


>> plot(P,T,'+');
şi se simulează răspunsul reţelei pentru intrări din acelaşi interval de valori:
>> X = -1:.1:1;
>> Y = sim(netX);
plotându-se apoi rezultatele pe acelaşi grafic:
>> hold on; plot (X,Y); hold off.

17
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

4. Concluzii
Reţelele neuronale cu funcţii de transfer radiale realizează o aproximare locală, spre
deosebire de cele feedforward multistrat care realizează o aproximare globală. Reţelele RBF
partiţionează domeniul datelor de intrare astfel încât pentru fiecare zonă există câte o unitate
ascunsă care produce o valoare semnificativă atunci când primeşte semnale din zona
respectivă. În cazul în care semnalul de la intrare se află la frontiera dintre două zone, atunci
unităţile asociate celor două zone vor produce valori semnificative, astfel că răspunsul reţelei
va fi o medie ponderată a valorilor asociate acestor unităţi ascunse. Astfel reţeaua va face o
trecere netedă de la o zonă la alta.

RNA-RBF au fost folosite cu success in deosebi la problemele de aproximare/interpolare


si predictive a functiilor. In continuare este demonstrata capacitatea unei astfel de retele de a
aproxima functia :

Am folosit mediul MATLAB pentru rezolvarea problemei:

%exemplu de implementare a unui RNA-RBF

%pentru cazul interpolarii functiei

clear all

eg=0.02; % eroarea MSE dorita

sc=1; % marimea campului receptiv al functiilor radiale

P=0:pi/4:2*pi;%definirea tiparului de intrare

T=sin(P)+ cos(P); %definirea tiparului de iesire,

%(punctele de interpolare)

net=newrb(P,T,eg,sc);%crearea RNA-RBF

test=0:pi/32:2*pi ;% definirea suportului pentru punctele de test

y=sin(test)+cos(test); %calcului valorilor functiei originale

z=sim(net,test);%calculul valorilor obtinute prin interpolare

%reprezentarea grafica a rezultatelor

plot(test,z)

hold on

plot(test,y,'r--')

18
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

plot(P,T,'+')

hold off

Rezultatul obtinut: NEWRB, neurons = 0, SSE = 3.95938

RNA-RBF folosita la aproximarea functiilor

In concluzie se poate afirma ca RNA-RBF reprezinta o solutie alternativa in special in


problemele ce presupun interpolarea ,aproximarea sau predictia functiilor.De mentionat si
posibilitatea folosirii lor in problem de clasificare.

II.5.2.EXEMPLU 2.:

Verificati capacitatea de predictive a unui RNA-RBF pentru urmatoarea serie haotica:

19
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

u x=[0,1]

Centrii functiilor radiale vor fi uniform distribuiti in intervalul [0,1].

%exemplu de implementare a unui RNA-RBF

%pentru cazul predictiilor functiilor

clear all

clc

N=100; % numarul total de esantioane calculate

p=50; %fractiunea ,in procente,din N pentru care se vor constitui datele de antrenament

k=5; %%pasul predictiei

eg=0.02; % eroarea MSE dorita

sc=0.03; % marimea campului receptiv al functiilor radiale

p=p/100;

%calculul si reprezentarea grafica a seriei haotice

x(1)=0.01;

for i=2:N

x(i)=3.79*x(i-1)*(1-x(i-1));

end

P=x(1:N*p);%N*p esantioane de antrenament ,x(n)

T=x(1+k:N*p+k);%N*p esantioane calculate analitic, x(n+k)

net=newrb(P,T,eg,sc);%implementarea RNA-RBF

test1=x((N*p)+1:N) %esantioane de test

Y1=sim(net,test1); %esantioane prezise de RNA-RBF

%reprezentarea grafica a rezultatelor

plot(x(1:N-1),x(2:N),'+')

xlabel('x(n-1)');

ylabel('x(n)');

20
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

figure

plot(x,'red','linewidth',1)

hold on

plot(N*p+1+k:N+k,Y1,'linewidth',2)

legend('training values','predicted values',0)

hold off

21
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

III.Comparaţie între reţelele RBF şi perceptronul multistrat

Între perceptronul multistrat şi reţelele bazate pe funcţii radiale, există o serie de asemănări,
dar în acelaşi timp şi deosebiri fundamentale.

1. Asemănări
- Atât perceptronul multistrat, cât şi reţelele RBF conţin un strat de intrare, care are doar rolul
de repartiţie a datelor, straturi ascunse şi un strat de ieşire. Conexiunile între straturi în
ambele cazuri sunt doar înainte, neexistând conexiuni de reacţie;
- Amblele tipuri de reţele au în majoritatea cazurilor neuroni liniari în stratul de ieşire, iar
unităţile de calcul, În general neliniare, se găsesc în stratul ascuns (straturile acunse);
- Atât perceptronul multistrat, cât şi reţelele RBF pot fi antrenate printr-un algoritm supervizat,
pentru a realiza mapări intrare-ieşire ce aproximează funcţii mono sau multivariabile;

1. Deosebiri
- Perceptronul multistrat poate conţine 2 straturi ascunse, având neuroni neliniari, structural
identici. Reţelele RBF conţin întotdeauna un singur ascuns cu neuroni având funcţii de
activare radiale;
- În timp ce la perceptronul multistrat ieşirea neuronilor de calcul este o funcţie neliniară de
suma ponderată a intrărilor lui, la reţelele RBF unităţile de calcul determină distanţa (norma
Euclidiană) dintre vectorul de intrare şi centrul unităţii respective. Deci, modul de
funcţionare al unui neuron bazat pe funcţii radiale este fundamental diferit de cel al
perceptronului;

22
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

- Perceptronul multistrat este un aproximator universal. În cazul în care el este antrenat cu un


set de date consistent, el va putea aproxima valoarea funcţiei pentru orice valoare a
argumentului acesteia. Reţeaua bazată pe funcţii radiale este un interpolator universal. Ea
realizează o aproximare locală a funcţiei respective. Valoarea ieşirii aproximează valoarea
funcţiei în punctele de interpolare (centrii), dar scade exponenţial o dată cu creşterea distanţei
faţă de aceştia. Modul de aproximare (alura ieşirii) este dependent de valoarea dispersiei. Cu
cât valoarea σ este mai mică, cu atât descreşterea ieşirii reţelei la îndepărtarea de centru este
mai rapidă. O dată cu creşterea valorii σ , aparent se tinde spre atingerea proprietăţii de
aproximator global, dar, reţeaua devine insensibilă la modificări în alura funcţiei. Ca
exemplu, în fig. 3.7 sunt prezentate modul reprezenatare a funcţiei F(x)=sin(x) îmn primul
cadran. Fig. 3.7a prezintă ieşirea unui perceptron multistrat, iar fig. 3.7b, c şi d ieşirile unei
reţele RBF, pentru σ =0.01, 0.08 şi respectiv 0.15. Cu semnul “+” sunt marcate valorile
funcţiei utilizate pentru antrenarea reţelelor. Perceptronul multistrat conţine un strat ascuns
cu 3 neuroni cu funcţii de activare sigmoidă şi un neuron liniar în stratul de ieşire. Reţeaua
RBF conţine 3 neuroni radiali în stratul ascuns;
Algoritmii de antrenare a reţelelor RBF, datorită caracterului de aproximator local al
acestora, sunt mai rapid convergenţi şi mai puţin.

Crearea unei reţele RBF în mediul MatLab

Exemplul dat va folosi funcţia NEWRB pentru a crea o reţea neuronală care va aproxima o
funcţie definită printr-un set de perechi de date (puncte).
>> P = -1:.1:1;
>> T = (-.9602 -.5770 -.0729 -.3771 .6405 .6600 .4609
.1336 -.2013 -.4344 -.5000 -.3930 -.1647 .0988
.3072 .3960 .3449 .1816 -.0312 -.2189 -.3201);
>> plot(P,T,'+');

23
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Se va căuta o funcţie care să treacă prin cele 21 de puncte date. O reţea RBF este o reţea cu
două niveluri: un nivel ascuns cu neuroni „radial basis neurons“ şi un nivel de ieşire cu neuroni
liniari.

Funcţia radială folosită de nivelul ascuns este:


>> p =-3:.1:3;
>> a = radbas(p);
>> plot(p,a).

24
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

Ponderile si pragurile fiecarui neuron din stratul ascuns definesc paremetrii functiei
radiale.Fiecare neuron liniar de iesire formeaza o suma ponderata a acestor functii radiale.
Valorile corecte ale ponderilor şi pragurilor pentru fiecare neuron şi un număr suficient de
neuroni ascunşi vor asigura obţinerea unei reţele care sa aproximeze orice functie cu acuratetea
dorita.

În continuare este dat un exemplu cu trei funcţii radiale care sunt sumate pentru a
produce o nouă funcţie:
>> plot(p,radbas(p)+radbas(p-1.5)+.05 radbas(p+2),'m-');

Pentru crearea unei reţele cu funcţie de transfer radială care să aproximeze funcţia dată
prin perechile P şi T, se va folosi funcţia MatLab NEWRB care va adăuga neuroni stratului
ascuns până în momentul în care se va atinge eroarea medie pătratică specificată.
>> eg = 0.02; % sum-squared error goal;
>> sc =1; % spread constant;
>> net=newrb(P,T,eg,sc).

Simularea reţelei obţinute

Pentru a observa performanţa reţelei se replotează setul de antrenare:


>> plot(P,T,'+');
şi se simulează răspunsul reţelei pentru intrări din acelaşi interval de valori:
>> X = -1:.1:1;
>> Y = sim(netX);
plotându-se apoi rezultatele pe acelaşi grafic:
>> hold on; plot (X,Y); hold off.

25
UNIVERSITATEA VALAHIA TARGOVISTE
FACULTATEA DE INGINERIE ELECTRICA
SPECIALIZAREA AUTOMATICA SI INFORMATICA APLICATA
ANUL IV

VI.Concluzii

Reţelele neuronale cu funcţii de transfer radiale realizează o aproximare locală, spre


deosebire de cele feedforward multistrat care realizează o aproximare globală.

Reţelele RBF partiţionează domeniul datelor de intrare astfel încât pentru fiecare zonă
există câte o unitate ascunsă care produce o valoare semnificativă atunci când primeşte
semnale din zona respectivă. În cazul în care semnalul de la intrare se află la frontiera dintre
două zone, atunci unităţile asociate celor două zone vor produce valori semnificative, astfel
că răspunsul reţelei va fi o medie ponderată a valorilor asociate acestor unităţi ascunse. Astfel
reţeaua va face o trecere netedă de la o zonă la alta.

V. Bibliografie

1. G. Toderean ,M. Costeiu,M.Giurgiu- ‘ Retele Neuronale’,Ed.Microinformatica,Cluj


Napoca,1994

2. V.Tiponut,C.D.Caleanu-‘Retele Neuronale,arhitecturi si algoritmi’,Ed


Politehnica,Timisoara,2000

3. D.Dumitrescu,H.Costin-‘Retele Neuronale.Teorie si aplicatii’,Editura Teora,1996

4. http://www.math.uvt.ro/zaharie/.

http://www.mathworks.com/.

http://www.kcl.ac.uk/neuronet/.

26