Predictor Adaptiv Pentru Secvente Lungi de Date
Predictor adaptiv pentru secvențe lungi de date
Proiect de diplomă
Cuprins
Lista acronimelor
Introducere
1. Noțiuni Generale
1.1. Rețele neuronale artificiale
1.2. Modelarea RNA
1.3. Învățarea în cadrul RNA
1.4. Arhitecturi
2. Rețele neuronale de bază
2.1. Harta cu autoorganizare (Kohonen)
2.2. Analiza Componentelor Principale (PCA)
2.3 Perceptronul
3. Perceptronul Multinivel
3.1. Arhitectura perceptronului multinivel
3.2. Algoritmul de instruire
3.3 Analiza complexitatii algoritmului de instruire
Bibliografie
Lista acronimelor
MLP – Multy–Layer Perceptron
RN – Rețele Neuronale
RNA – Rețele Neuronale Artificiale
HA – Harta cu Autoorganizare
ADALINE – ADAptive Linear Neuron
MADALINE – Multiple ADALINE
PCA – Principal Component Analysis
NP – Non-linear Perceptron
Introducere
Rețelele neuronale s-au dezvoltat la început din dorinta de a modela fenomenele biologice cu scopul de a cunoaște mai bine fiziologia sistemului nervos și a creea posibilitatea utilizării acestor rezultate in scopuri științifice, tehnice, generale.
Aplicația rețelelor neuronale in măsurări nu este cea mai importantă utilizare a lor. Automatizările, comanda adaptivă, recunoașterea formelor sunt domenii mai importante, însă toate acestea conțin ca elemente esențiale procese de măsurare. (1)
Analiza predictivă cuprinde o varietate de tehnici statistice, de la modelare, invatare si data mining ce analizează date actuale și istorice, pentru a face predicții despre evenimente viitoare.
În afaceri, predictoarele sunt folosite pentru a exploata modele găsite în date istorice și tranzacționale pentru a identifica riscurile și oportunitățile. Modelele captează relațiile între mai mulți factori și permit evaluarea riscului sau a potențialului asociate cu un anumit set de condiții, ghidând deciziile după tranzacțiile candidate.
Analiza predictivă este folosită in ziua de astăzi în numeroase domenii cum ar fi marketingul, serviciile financiare, asigurarile, telecomunicațiile, asistența medicală și produse farmaceutice etc.
Una dintre cele mai cunoscute și folosite aplicații este in domeniul serviciilor financiare, mai exact în acordarea creditelor. Băncile creditoare analizeaza istoria de credite a clientilor, aplicațiile pentru credite și datele personale pentru a stabili dacă persoana respectivă va putea asigura plata ratelor la timp. (2)
În lucrarea de față este prezentat un predictor de date, care are la bază o rețea neuronală de învățare de tip perceptron multinivel (MLP). Cu ajutorul acestui algoritm vom prezice șansele de inundații pe valea râului Buzău, în funcție de precipitațiile căzute pe o perioadă de 4 ani și debitul râului în aceeași perioadă. Se afișează eroarea de antrenare a rețelei și comparativ graficul ieșirilor prezise și cel al datelor de debit cunoscute.
Capitolul 1
Noțiuni Generale
Noțiuni Generale
Principiile fundamentale pe baza cărora sunt descrise matematic RN provin din biologie. Matematica încearca să descrie cât mai bine comportamentul biologic al neuronilor și rețelelor formate din aceștia.
Atributele de bază ale RN se pot clasifica in arhitectura (structura) și neurodinamica ( proprietăți funcționale). Astfel, arhitectura defineșe structura rețelei (numărul de neuroni din rețea si modul în care aceștia se interconectează). RN constau într-un număr de neuroni (sau elemente de procesare) cu anumite caracteristici: intrări, ieșiri, legături sinaptice, funcții de activare, bias etc. Neurodinamica RN definește proprietățile lor: cum învață, asociază, compară, clasifică RN.
RN procesează informații în mod non-secvențial, bazându-se pe descompunerea paralelă a informațiilor complexe în elemente de bază, iar aceste elemente și relațiile dintre ele sunt stocate în memoria/banca de date a creierului. (3)
Rețele neuronale artificiale
În ultimii ani s-au realizat numeroase încercări de a proiecta circuite electronice care să copieze cât mai fidel RN biologice și atributele lor. Astfel s-au dezvoltat modelele de rețele neuronale numite și paradigme, mai mult sau mai puțin asemanătoare cu rețelele neuronale biologice.
Toate RNA sunt descrise prin intermediul ecuațiilor diferențiale sau cu diferențe (in forma discretă). Pâna și cele mai sofisticate RNA (de departe inferioare ccelor mai primitive forme de viață), create pentru a demonstra anumite principii sau pentru aplicații, sunt limitate și specializate. Specialștii însă consideră acest fapt o provocare, continuând să descopere noi paradigme și aplicații ale acestora. (3)
Modelarea RNA
Pentru a crea un model al unui sistem care să descrie sistemul cât mai exact, este necesar să cunoaștem foarte bine acel sistem. Matematica a fost inventată pentru a descrie fenomenele din natură, iar modelarea este modalitatea noastră de a aproxima creațiile naturii. Deci, dacă modelul nostru dă greș, greșelile trebuie căutate în model, nu în natură. În continuare se vor utiliza noțiunile de model și paradigma ca fiind echivalente. (3)
Modelul fundamental al unui neuron
Neuronul (elementul de procesare) artificial este unitatea fundamentala a RNA. În general neuronul prezintă un set de intrari . Fiecare intrare este ponderată înainte de a ajunge în corpul principal al neuronului prin intermediul factorului de ponderare (puterea sau intensitatea legaturii) . În plus, mai există și un termen numit bias , o valoare de prag θ care trebuie atinsa sau depasita pentru ca sistemul sa produca un semnal; deasemenea mai există o funcție neliniara F care actioneaza asupra semnalului produs R, rezultând iesirea O. O constituie intrare pentru alți neuroni. Dacă un neuron este o parte a unei rețele cu mai mulți neuroni acesta se numeste nod. Daca exista mai multe noduri (m) într-o rețea, se introduce înca un indice pentru a distinge fiecare neuron. Modelul de baza al unui neuron este descris în figura 1: (3)
Figura 1
Neronul artificial este complet codificat numeric și prelucrările sunt modelate matematic. Neuronul artificial efectuează urmatoarele prelucrări:
integrează – semnalele de intrare, xi, ținind cont de ponderea asociată
transformă semnalul "integrat", s, prin aplicarea unei funcții de transfer, rezultând astfel un semnal de ieșire.
În general ca și funcție de integrare se folosește o combinație liniară între parametrii de intrare și ponderile asociate. In tabelul 1 sunt date câteva exemple de funcții de integrare pentru neuronul din figura 1 dar și pentru cazul general (unde am considerat că un neuron i primește semnale, GW, de la ieșirile altor N neuroni iar ponderile se află într-o matrice W). (4)
Tabel 1. Exemple de functii de integrare
Rezultatul funcției de integrare G, la care se adaugă și x0 (intrare numita "offset"), notată in figura 1 cu s (s=G(X)-w0), va fi folosit ca valoare de intrare pentru funcția de transfer f, în tabelul 2 avem prezentate câteva dintre cele mai folosite funcții de transfer.
Tabel 2. Exemple de functii de transfer
Dacă pentru funcția de integrare se folosește în general o combinație liniară între parametrii de intrare și ponderile asociate, funcția de transfer este aleasă ținându-se cont de modelul de rețea neuronală folosit și de tipul de probleme pe care urmează să o rezolvam (de exemplu dacă stim că avem de aproximat o anumită funcție e bine să alegem funcția de transfer cea mai apropiată de tipul respectiv). Acest model matematic al neuronului artificial a fost propus pentru prima data de McCullogh și Pitts și cu toata simplitatea sa este un instrument de calcul extrem de puternic. După rolul pe care il îndeplinesc unitățile funcționale în cadrul rețelei putem să le imparțim în 3 categorii:
unități de intrare – conectează rețeaua la mediu. Au doar rolul de a retransmite semnalul primit de la mediu către alte unități din rețea. Nu efectuează nici un fel de procesări asupra semnalului.
unități ascunse – sunt conectate cu alte unități ale rețelei, nu comunică direct cu mediul. Primesc, procesează și distribuie semnalele către alte unități ale rețelei.
unități de iesire – colectează semnalele de la celelalte nivele, procesează semnalul și îl transmit mediului extern.
Învățarea în cadrul RNA
Procesul de învatare din cadrul RN este foarte important și trezește interesul în ambele tipuri de reșele neuronale: biologice sau artificiale. În rețelele biologice învățarea nu este un proces unic, există diferite tipuri de procese de învățare, proprii fiecarei specii și nu toate sunt la fel de eficiente. În același mod, pentru RNA s-au dezvoltat diferiți algoritmi de învatare, specifici diferitelor tipuri de RNA.
În general, învatarea este procesul prin care o RNA se adapteaza unui stimul 646f519g si eventual (dupa o ajustare a parametrilor proprii) produce un semnal de raspuns. Deasemenea, învatarea poate fi considerata o continua clasificare a stimulilor de intrare: daca apare un stimul la intrarea unei retele, aceasta îl va recunoaste sau va crea o noua categorie de stimuli. În timpul procesului de învatare reteaua îsi adapteaza parametrii (ponderile sinaptice) ca raspuns la un stimul de intrare, astfel încât raspunsul actual sa convearga catre raspunsul dorit. În momentul în care raspunsul actual este identic cu cel dorit, RNA si-a încheiat faza de învatare sau cu alte cuvinte, a "acumulat cunostinte".
Modelele de RNA constau din neuroni artificiali conectati în diverse moduri, iar procesul de învatare nu este acelasi pentru toate. Regulile de învatare sunt descrise prin expresii matematice numite ecuatii de învatare. Aceste ecuatii descriu de fapt procesul de autoajustare a ponderilor sinaptice. Algoritmii de învatare sunt specifici unor artitecturi de retele neuronale, nu orice retea poate învata cu unul sau altul dintre algoritmi, dupa cum nu orice algoritm se preteaza unei anumite retele.
Algoritmi de învatare
În timpul perioadei de antrenare utilizând algoritmul de cu învatare supervizata (Supervized Learning), la intrare se aplica un stimul (pattern), rezultând un raspuns al retelei, comparat cu un raspuns dorit, ideal. Daca raspunsul actual difera fata de cel ideal, reteaua genereaza un semnal de eroare, care este utilizat apoi pentru a calcula ajustarea ponderilor astfel încât iesirea actuala sa fie identica cu cea dorita. Cu alte cuvinte se realizeaza o minimizare a erorii, daca se poate pâna la zero. Procesul de minimizare a erorii necesita un circuit special, numit sisupervizor. Spre deosebire de acest tip de algoritm, învatarea nesupervizata (Unsupervized Learning) nu are nevoie de circuitul de supraveghere si nu exista o iesire dorita impusa a retelei. În timpul antrenarii, reteaua primeste la intrare stimuli pe care îi clasifica în mod arbitrar. Daca dupa aceea apare la intrare un pattern, reteaua indica prin iesirea sa carei clase apartine stimulul de la intrare. Daca aceasta nu exista se creeaza o noua clasa. Desi nu este nevoie de circuit de supraveghere, pentru ca învatarea nesupravegheata sa dea rezultate satisfacatoare, sunt necesare unele indicatii în ceea ce priveste modul de grupare a pattern-urilor.
Învatarea "întarita" (Reinforced Learning) necesita cel putin un neuron la iesire si un circuit de supraveghere care indica daca iesirea actuala este sau nu identica cu iesirea dorita (raspuns binar). Circuitul de supraveghere nu prezinta retelei ietirea dorita ci ofera doar o indicatie de tipul "reusit/nereusit". Deci semnalul de eroare este un semnal binar. Daca indicatia supervizorului este "nereusit" reteaua îsi ajusteaza ponderile si încearca din nou, pâna când obtine raspunsul corect.
Învatarea competitiva (Competitive Learning) este o alta forma a învatarii supravegheate, totusi diferita datorita arhitecturii si modului de operare diferit. Acest tip de învatare necesita mai multi neuroni în stratul de iesire. Când se aplica la intrare un stimul, fiecare nod de iesire este în competitie cu ceilalti pentru a produce cel mai apropiat raspuns fata de raspunsul dorit. Neuronul care reuseste acest lucru este iesirea dominanta. Pentru un alt semn
Învatarea competitiva (Competitive Learning) este o alta forma a învatarii supravegheate, totusi diferita datorita arhitecturii si modului de operare diferit. Acest tip de învatare necesita mai multi neuroni în stratul de iesire. Când se aplica la intrare un stimul, fiecare nod de iesire este în competitie cu ceilalti pentru a produce cel mai apropiat raspuns fata de raspunsul dorit. Neuronul care reuseste acest lucru este iesirea dominanta. Pentru un alt semnal de intrare, alt neuron de iesire va fi dominant s.a.m.d. Astfel, fiecare nod de iesire este antrenat sa raspunda la un pattern de intrare diferit. De aceea, învatarea competitiva poate fi privita ca un proces de specializare aleatoare.
Regula Delta (Delta Rule) se bazeaza pe ajustarea continua a ponderilor respectând regula de minimizare a erorii patratice, unde eroarea este diferenta între iesirea dorita si cea actuala a unui element de procesare. Acest tip de învatare mai este cunoscut si sub denumirea de algoritmul Widrow-Hoff sau regula celor mai mici patrate.
Regula gradientului (Gradient Descent Rule) ajusteaza ponderile cu o cantitate proportionala cu prima derivata (gradientul) a erorii unui element de procesare, tinând cont si de valoarea ponderii actuale. Scopul este descresterea functiei eroare, evitând minimele locale si atingând minimul actual sau pe cel global.
Donald Hebb a enuntat urmatorul principiu referitor la procesele care au loc în creierul uman: când un axon al celulei A este suficient de aproape pentru a excita celula B si în mod permanent si persistent ia parte la activarea ("aprinderea") acesteia, au loc anumite schimbari metabolice în ambele celule, astfel încât creste eficienta celulei A si gradul de activare a celulei B. Astfel, taria legaturii sinaptice (ponderile, în cazul retelelor neuronale artificiale) se modifica în functie de gradul de corelare a activitatii. Acest tip de învatare se numeste învatare hebbiana(Hebbian Learning). Învatarea anti-hebbiana (Anti-Hebbian Learning) se refera la retele neuronale unde legaturile sinaptice sunt numai de tip inhibitor. (3)
Arhitecturi
In mod normal o singura unitate functionala (un nenuron), cu oricit de multe intrari, nu este sufiecient. Avem nevoie de mai multi neuroni grupati pe nivele, cu diferite modalitati de interconectare. Arhitectura retelei se refera la modul in care sint amplasate unitatile functionale (topologie) si la modul de interconecare (conectivitate). Modul de interconectare al unitatilor functionale determina fluxul informational (modul in care informatia circula in cadrul retelei). Cele mai frecvente cazuri sint cele in care cele 3 tipuri de unitati functionale enumerate anterior formeaza multimi distincte, reteaua fiind organizate pe nivele (un nivel de intrare, unu sau mai multe nivele ascunse, un nivel de iesire), un caz particular fiind cel in care nivelele ascunse lipsesc (reteaua fiind constituita doar dintr-un nivel de intrare si unul de iesire). In figura nr. 2 avem o retea neuronala structurata pe nivele cu un nivel de intrare format in N unitati funcionale, 2 nivele ascunse formate din H1 respectiv H2 unitati functionale si un nivel de iesire format din M unitati functionale.
Fig. 2. Retea neuronala organizata pe nivele
Exista si tipuri de retele unde nu se face distinctie intre unitatile de intrare si iesire, toate unitatile preiau semnale din mediu, prelucreaza semnalele si transmit rezultatele atit mediului cit si altor unitati din retea.
In functie de modul de amplasare al unitatilor putem distinge urmatoarele tipuri:
-retele unde pozitia unitatilor nu este importanta, ea nu influenteaza nici functionarea, nici algoritmii de invatare. Cu toate ca in reprezentarile schematice unitatile de acelasi nivel sint reprezentate grupat pozitia lor nu are nici un fel de importanta.
-retele in care este esentiala organizarea geometrica. In acest tip de organizarea pozitia unitatilor functionale depinde de relatiile de vecinatate dintre unitati (aceste relatii de vecinatate intervin in algoritmul de functionare sau cel de invatare).
Fig. 3. Retea Kohonen (organizare geometrica a nivelului de iesire)
Bazate pe modul de amplasare a unitatilor avem umratoarele topologii pentru retelele neuronale:
-topologie arbitrara – nu este definita nici o relatie de ordine pe multimea unitatilor functionale
-topologie pe nivele – unitatile sint impartite in submultimi (nivele)
-topologie cu structura geometrica – unitatile sint amplasate in nodurile unei grile unidimensionale, bidimensionale si mai nou chiar tridimensionale. In cazul amplasari unitatilor pe nivele conectivitatea dintre doua nivele poate fi totala, locala, partiala (fig. 4). Intre unitatile unui nivel putem avea conexiuni laterale (acest tip de conexiuni este specific retelelor care au o topologie cu structura geometrica), inverese (prin care o unitate este conectata cu ea insasi).
Fig. 4. Conectarea unitatilor de pe 2 nivele
Mai putem avea conexiuni peste nivele (in cazul retelelor cu mai multe nivele), conexiuni bidirectionale (specifice retelelor recurente), sau retele hibride in care avem conexiui uni si bi directionale (fig. 5).
Fig. 5. Conectarea nivelelor
Modul in care unitatile functionale sint interconectate determina fluxul informational:
feed-forward – flux unidirectional, dinspre intrare spre iesire (tipic retelelor organizate pe nivele in care nu exista conexiuni inverse. Pentru acest tip avem o functionare neiterativa , semnalul de iesire se calculeaza prin aplicarea unei functii asupra semnalului de intrare (fig.6).
feed-back – flux multidirectional, semnalul produs de o unitate ajunge inapoi la acea unitate. Acestui tip de flux informational ii este specifica o functionare iterativa pentru ca o singura trecere a semnalului de intrare nu este suficienta pentru obtinerea semnalului de iesire (fig. 7).
Fig. 6. Functionare neiterativa
Fig. 7. Functionare iterativa
Pe linga arhitectura, conectivitate mai e nevoie de inca ceva pentru ca o retea neuronala sa fie intr-adevar folositoare, si anume un proces de invatare prin care reteaua sa poate acumula cunostiinte (achizitie de cunoastere). Procesul de invatare este in fapt un proces de modificare a ponderilor asociate conexiunilor intre unitatile functionale ale retelei. Toti algoritmi de invatare au la baza variatii ale reguli enuntate in 1949 de Hebb. Ideea de baza e ca atunci cind doua unitati j si k sint activate simultan conexiunea dintre ele trebuie intarita:
unde y este rata de invatare. O alta regula des folosita este regula delta sau Widrow-Hoff:
unde y este rata de invatare iar dk este iesirea dorita. Avantajul cel mai mare al retelelor neuronale este ca datorita procesului de invatare nu este necesara o formalizare detaliu a problemei de rezolvat, sint suficiente exemple, reteaua acumulind cunostiinte pe baza lor. Un alt mare avantaj care rezulta din acest tip de functionare este ca reteaua este capabila sa furnizeze raspunsuri corecte si la date pentru care ea nu a fost antrenata, spunem ca reteau este capabila sa generalizeze. Pentru ca achizitia de cunoastere sa aiba loc avem nevoie de:
o multime de informatii (exemple)
un algoritm de invatre (adaptare)
Pe baza tipului de informatii pe care le avem disponibile pentru procesul de invatare, aceasta poate fi:
nesupervizata – in acest caz avem la dispozitie doar date de intrare pentru retea, ea descoperind trasaturile statistice ale populatiei. Sistemul dezvolta o reprezentare proprie a intrarilor.
supervizata – in acest caz avem la dispozitie un set de antrenare (un set de intrari impreuna cu iesirile corespunzatoare), reteaua adaprindu-si ponderile pentru a produce iesirea dorita atunci cind ca si date de intrare avem datele de intrare asociate. Aceasta asociere intre datele de intrare poate fi data de un factor extern sau chiar de reteaua insesi (auto-supervizata). (4)
Capitolul 2
Rețele neuronale de bază
Rețele neuronale de bază
Istoria rețelelor neuronale artificiale începe în anul 1943 cu primul model de neuron propus de W. S. McCulloc și W. Pitts (un neurofiziolog și un matematician), model acceptat în linii generale și astăzi. Acest model de neuron este un dispozitiv simplu care calculează suma ponderată a intrărilor. Ponderile pozitive sunt excitatoare iar ponderile negative sunt inhibitoare. Dacă excitația totală, adică suma ponderată a intrărilor, depășește un anumit prag, atunci neuronul este activat și emite un semnal de ieșire (y = 1), altfel neuronul nu este activat (y = 0). Modelul de neuron propus de McCulloc și Pitts este cunoscut și sub numele de “poarta liniară cu prag” (Linear Threshold Gate).
Progresele înregistrate în neurobiologie și psihologie au dus la apariția unor modele matematice ale învățarii. Un astfel de model a fost propus de D. O. Hebb în anul 1949, și descrie procesul prin care ponderile sinaptice sunt modificate pentru a reflecta mecanismul de învățare realizat de neuronii interconectați atunci când aceștia sunt influentati de stimuli ai mediului.
În anul 1958, Frank Rosenblatt a publicat prima sa lucrare despre perceptron. Acesta era “un model probabilistic pentru memorarea și organizarea informatiei în creier”. Perceptronul este format prin interconectarea unei multimi de neuroni artificiali și reprezintă primul model de rețea neuronală artificială.
La începutul anilor ’60, Bernard Widrow a propus un model neuronal numit ADALINE și o rețea cu elemente de acest tip numita MADALINE. ADALINE reprezinta prescurtarea de la ADAptive Linear Neuron iar MADALINE este un acronim pentru Multiple ADALINE. Rețelele neuronale realizate în aceasta perioada au fost aplicate în rezolvarea unor probleme de recunoașterea formelor cum ar fi recunoașterea unor structuri specifice în electrocardiograme sau percepția artificială. Primele succese ale modelelor conexioniste au creat o mare emoție în lumea științifică, specialiștii fiind aproape unanimi în a considera că și alte procese asociate cu inteligența și memoria umană pot fi modelate prin astfel de rețele.
Marvin Minsky, în cartea “Perceptronus” publicată în 1969 împreună cu S. Papert, a făcut o analiză lucidă a posibilităților și limitelor modelelor neuronale existente în epocă. El a demonstrat imposibilitatea rețelelor cu un singur strat de a rezolva unele probleme relativ simple cum ar fi funcția logică SAU EXCLUSIV. Cartea lui M. Minsky și S. Papert, prin concluziile sale sceptice privind posibilitatea rețelelor multistrat de a depăși dificultățile perceptronului, păstrând însă caracteristicile care-l fac interesant (liniaritatea, convergenta algoritmului de instruire, simplitatea conceptuală ca model de calcul paralel), a determinat o scădere dramatică a interesului pentru această direcție de cercetare. A urmat aproape un deceniu de stagnare, în care puținii cercetători în domeniu au fost lipsiți de fondurile necesare.
Evenimentul care a determinat relansarea cercetărilor privind modelele conexioniste a fost publicarea în 1986 a cărtii ”Parallel Distributed Processing, Exploration in the Microstructure of Cognition” de către David Rumelhart, James McClelland și grupul PDP.
În anul 1987 a fost organizata prima conferința internaționala de rețele neuronale. În prezent exista mai multe reviste de specialitate care publică articole privind rețelele neuronale și cel puțin o revista de prestigiu consacrată acestui domeniu: IEEE Transaction on Neural Networks.
Teoria mulțimilor „fuzzy”, introdusă în 1965 prin lucrările lui L. A. Zadeh, reprezintă un model matematic puternic pentru tratarea ambiguității de natura nestatistică și pentru modelarea raționamentului nuanțat. Utilizând această teorie se pot realiza rețele neuronale capabile să învețe din date de instruire incomplete, ambigue sau contradictorii. O tendință recentă este utilizarea algoritmilor genetici și evolutivi atât pentru instruirea rețelelor neuronale cât și pentru stabilirea arhitecturii rețelei. (5)
Harta cu autoorganizare (Kohonen)
Harta cu autorganizare (HA) (Self-Organizing Map=SOM) este una din cele mai interesante și utilizate rețele neuronale, fiind propusă de profesorul finlandez Teuvo Kohonen în anul 1980 și cunoscută și sub denumirea de rețeaua neuronală Kohonen. HA este o rețea neuronală nesupervizată bazată pe învățarea competitivă.
Autoorganizarea este un proces de învățare nesupervizată prin care un sistem (rețea neuronală) este capabil să descopere și să învețe modelele semnificative ale structurii datelor de intrare. În contextul rețelelor neuronale, învățarea prin autoorganizare constă în modificarea adaptivă a ponderilor sinaptice ale unei rețele de neuroni care interacționează local, ca răspuns la excitațiile de intrare, conform unei anumite reguli de învățare, până când rețeaua converge spre o anumită configurație.
Ideea de bază a învățării prin autoorganizare constă în introducerea interacțiilor locale între neuronii rețelei în sensul că modificarea comportamentului unui neuron afectează direct comportamentul neuronilor din imediata vecinătate. Această interacțiune locală conduce, în timpul procesului de învățare, la o ordonare globală a rețelei, având ca efect un comportament coerent. Astfel, dacă rețeaua realizează maparea unui set de vectori de intrare X(k) Rn într-o matrice de unități (de obicei unidimensională sau bidimensională), relațiile topologice dintre datele de intrare sunt conservate, sau, altfel spus, dacă Xi și Xj sunt doi vectori din spațiul de intrare iar ri și rj sunt locațiile neuronilor câștigători corespunzători în spațiul de ieșire (matricea de neuroni), atunci, cu cât Xi și Xj sunt mai apropiați în Rn, cu atât distanța între neuronii câștigători va fi mai mică: || ri – rj || = f( ||Xi – Xj || ), unde f este o funcție continuă, monoton crescătoare, și .
Formarea unei mapări ordonată topologic de la spațiul semnalului la rețeaua neuronală reprezintă un rezultat interesant și important. Din punct de vedere practic, un rezultat și mai interesant este faptul că diferiți neuroni devin decodori sau detectori ai domeniilor lor de semnal în spațiul de intrare. Acești decodori sunt formați în rețea într-o anumită ordine, ca și cum un sistem de coordonate al trăsăturilor ar fi definit peste rețea.
Hărțile autoorganizabile sunt folosite pentru preprocesarea formelor în scopul recunoașterii lor, sau, dacă rețeaua neuronală este o matrice bidimensională, pentru proiecția și vizualizarea spațiului semnalului de intrare de dimensiune n, n >> 2, pe un astfel de display bidimensional. O altă aplicație evidentă este și reducerea puternică a dimensionalității datelor de intrare cu conservarea principalelor relații topologice între acestea.
Motivația biologică a hărților autoorganizabile
Reprezentarea economică a datelor împreună cu toate relațiile dintre acestea este o problemă centrală a științelor informației și reprezintă o abilitate caracteristică creierului, nu neapărat uman. În gândire și în procesarea subconștientă a informației este realizată o compresie a informației prin crearea unor reprezentări reduse a celor mai relevante fapte, fără pierdere de cunoaștere asupra relațiilor dintre ele. Scopul procesării inteligente a informațiilor pare să fie, în general, crearea unor imagini simplificate ale lumii înconjurătoare, la anumite nivele de abstractizare, corespunzătoare unor seturi particulare de date recepționate. Pentru mult timp această abilitate a creierului de procesare a informației a fost un mister, dar în ultima vreme au fost obținute dovezi concrete despre formarea în creier a unor reprezentări neuronale care sunt imagini ale diferitelor experiențe senzoriale proiectate în diferite arii corticale.
Este binecunoscut faptul că există o organizare a cortexului cerebral în arii specializate în realizarea unor funcții precise. Există arii specializate în analiza semnalelor senzoriale (vizuale, auditive, somatosenzitorii, olfactive, gustative), în recunoașterea cuvintelor și a formelor vizuale, în controlul vorbirii, scrisului, funcțiilor motorii, în gândire și planificarea acțiunilor (Fig.8). Între ariile senzoriale primare, care ocupă doar o zecime din suprafața totală a cortexului, există arii asociative, mai puțin cunoscute, în care semnalele provenind de la diferite arii senzoriale converg.
Fig. 8. Harta principalelor arii din creier
Fig.9 Harta somatotopică
Cercetări recente au pus în evidență o structură fină în multe arii senzoriale. Astfel, au fost puse în evidență harta vizuală în cortexul vizual, harta tonotopică în cortexul auditiv, harta somatotopică, etc., caracterizate prin faptul că semnalele de răspuns sunt obținute în cortex în aceeași ordine topografică în care au fost recepționate de la organele de simț.
În Fig.9 este prezentată harta somatotopică, care realizează o mapare a senzorilor de pe piele în cortexul somatosenzitiv, unde există o imagine a întregii suprafețe a corpului.
Au fost descoperite hărți mult mai abstracte formate în creier, cum ar fi hărți ale mediului geografic formate în hipocampus. Experimentele efectuate cu șobolani au demonstrat că, după ce aceștia au învățat poziția lor într-un labirint, anumite celule din hipocampus răspund numai când animalul este într-un anumit colț.
Fără îndoială că structura de bază a rețelei neuronale a creierului este determinată genetic. Totuși există numeroase fapte experimentale care demonstrează că proiecțiile senzoriale sunt afectate de experiență. Prin eliminarea unor organe de simț sau deprivarea senzorială de la o vârstă fragedă, anumite proiecții nu se dezvoltă de loc, locul liber rămas în creier fiind ocupat de celelalte proiecții. De asemenea, prin eliminarea unei părți din creier corespunzătoare unei anumite proiecții senzoriale, această proiecție își va forma în timp un alt teritoriu în detrimentul celorlalte proiecții. Recrutarea de neuroni pentru diferite scopuri depinzând de experiență este binecunoscută. Aceste efecte sunt explicate prin plasticitatea neuronală și exemplifică autoorganizarea care este controlată de informațiile senzoriale.
Formarea hărților autoorganizabile implică, din punct de vedere teoretic, existența interacțiunilor laterale între neuronii rețelei. Aceste interacțiuni laterale au fost puse în evidență și în lumea biologică, unde s-a demonstrat existența unui model de corelare între activările neuronilor biologici de tip “pălărie mexicană”, prezentat în Fig.10.
Fig.10 Graficul excitației produse de către neuronul central, câștigător,
asupra vecinilor în funcție de distanță.
Acest model de corelare demonstrează existența unui feedback lateral care controlează activarea neuronilor în vecinătate, graficul F(r) reprezentând coeficientul de reacție în funcție de distanță.
Kohonen a emis ipoteza conform căreia controlul plasticității este mediat de un set de variabile biologice diferit de cel care controlează activarea în vecinătate.
În Fig.11 este prezentat un astfel de nucleu de control al plasticității, având o funcție de variație gaussiană, care definește modul în care activarea locală într-un punct determină rata de învățare în vecinătatea sa.
Fig. 11 Graficul plasticității sinaptice (ratei de învățare) în funcție de distanță.
Arhitectura și algoritmul de învățare al HA
Scopul HA este de a capta topologia și distribuția de probabilitate a datelor de intrare. O arhitectură tipică este o structură bidimensională (Fig.12, formată din neuroni liniari, structură care poate avea o ordine rectangulară, hexagonală sau poate fi chiar neregulată. Fiecare neuron primește același vector X la intrare, și este caracterizat de un vector pondere Wi definit ca
Fig.12. HA (Kohonen) bidimensională.
unde este ponderea conexiunii între intrarea de index j ( j = 1, …, n) și neuronul de ieșire de index i (i = 1, … ,M). Să presupunem că HA care trebuie instruită este formată din M neuroni de ieșire și lotul de învățare conține L vectori . Vom considera o iterație ca fiind o trecere completă prin tot lotul de învățare. Algoritmul clasic de instruire al HA Kohonen este următorul:
1. – se inițializează ponderile celor M neuroni de ieșire cu valori mici, aleatoare;
– se aleg parametrii de control ai ratei de învățare;
– se aleg parametrii de control ai vecinătății astfel încât raza inițială a acesteia să fie aproximativ egală cu jumătate din distanța dintre cei mai îndepărtați neuroni din rețea;
– se aleg condițiile de oprire care pot fi date de:
* atingerea numărul maxim de iterații kmax și/sau
* eroarea atașată întregului lot de învățare scade sub eroarea maximă admisibilă și/sau
* suma modificărilor tuturor vectorilor pondere la parcurgerea lotului de învățare scade sub o anumită valoare
– se pune k = 0 și l = 0;
2. – se prezintă rețelei un nou vector de instruire X(k);
3. – se determină neuronul câștigător, c, pe baza distanței Euclidiene dintre X(k) și fiecare neuron de ieșire caracterizat prin Wi, folosind relația:
4. – se actualizează ponderile neuronilor din rețea folosind legea de învățare
, pentru toți neuronii i = 1, 2, …, M
unde: = rata de învățare;
k= indexul iterației;
Φ(ri , rc , k) = funcția de vecinătate;
ri și rc sunt vectorii de poziție ai neuronilor i și c în matricea de neuroni.
Funcția de vecinătate este uzual simetrică, Φ(ri , rc , k) = Φ(|| ri – rc ||, k), cu valori apropiate de unitate pentru neuroni i apropiați de neuronul câștigător c și descrește monoton cu distanța || ri – rc || dintre cei doi neuroni în rețea.
5. – se incrementează l (l l + 1).
– dacă l < L se merge la pasul 2, altfel se resetează l (l 0) și se continuă cu 6;
6. – se incrementează k (k k + 1);
– se verifică condițiile de oprire. Dacă acestea se îndeplinesc, procesul de învățare s-a terminat, altfel se merge la pasul 2. (5)
Analiza Componentelor Principale (PCA)
În recunoașterea formelor, selecția și extragerea caracteristicilor reprezintă o alegere decisivă pentru proiectarea oricărui clasificator. Selecția caracteristicilor poate fi văzută și ca un proces de „compresie de date”, fiind asimilată cu o transformare liniară din spațiul inițial al observațiilor într-un spațiu cu mai puține dimensiuni. O astfel de transformare este necesară deoarece poate conserva o mare parte din informație și permite aplicarea unor algoritmi în timp real, algoritmi eficienți fiind doar în spații cu dimensiuni reduse.
Cele mai multe transformări utilizate pentru selecția caracteristicilor sunt cele liniare, în timp ce transformările neliniare au o complexitate mai ridicată, sunt mai greu de implementat, dar pot avea o eficiență mai ridicată, exprimând mai bine dependența dintre formele observate, datele primare observate și caracteristicile selectate ale acestor forme.
Transformata Karhunen-Loéve (Principal Component Analysis PCA) este o metodă liniară de selecție a caracteristicilor. Fie un vector aleator n-dimensional. Se caută o transformare ortogonală care să permită reprezentarea optimă a vectorului în raport cu criteriul erorii medii pătratice minime.
Fie transformarea căutată:
[1]
unde sunt vectori n-dimensionali, deocamdată nedeterminați.
Presupunem în plus că vectorii coloană ai lui formează un sistem ortonormat, adică:
[2]
Fiecare vector se transformă în:
[3],
cu .
Relațiile [1] și [2] conduc la ,
unde este matricea unitate n x n; rezultă:
[4].
Se vor reține numai m < n componente ale lui , restul de n – m componente fiind înlocuite cu constantele preselectate , astfel că se estimează ca:
.
Eroarea corespunzătoare acestei estimări este:
.
Se va considera criteriul erorii pătratice medii:
care, ținând cont de relația (2), devine . Funcția eroare se minimizează alegând în mod adecvat și . Acest proces se realizează în două etape:
A) Se minimizează în raport cu , punând condiția necesară , de unde, conform relației [3], deducem cu . Atunci eroarea pătratică medie devine:
,
unde este matricea de covariație a vectorului, adică:
,
unde reprezintă media.
B) Pentru a determina optimali, se minimizează în raport cu , adăugând restricțiile pentru . Se utilizează metoda multiplicatorilor Lagrange, obținându-se:
[5]
Formula [4] se mai numește dezvoltarea Karhunen-Loève, iar transformarea definită de relația [3] se numește transformarea Karhunen-Loève. Problema minimizării lui se numește în statistică analiză factorială (sau analiza componentelor principale).
Observații:
• Importanța fiecărei caracteristici este determinată de valoarea proprie corespunzătoare. Dacă o caracteristică, de exemplu , este eliminată, atunci eroarea pătratică medie crește cu . Așadar caracteristicile cu cele mai mici valori proprii trebuie eliminate primele. Dacă valorile proprii (care sunt reale și pozitive deoarece matricea este simetrică) sunt indexate astfel: , atunci prioritatea reținerii caracteristicilor este în ordinea naturală a indicilor;
• Dacă , atunci între matricele de covariație ale lui și există relația . Pentru transformarea Karhunen-Loève deducem că are componentele necorelate, adică este o matrice diagonală și anume:
;
• Vectorii proprii ai lui minimizează pentru orice alegere a unor baze ortonormate de vectori. Factorul de prezervare a energiei se poate bine aproxima cu formula:
unde sunt valorile proprii ordonate descrescător, ε – factorul de prezervare a energiei.
Dezvoltarea Karhunen-Loeve presupune urmatoarele etape:
se calculează matricea de covarianță a formelor de intrare;
se calculează valorile proprii si se ordoneaza descrescator:
se calculeaza vectorii proprii asociati valorilor proprii:
se construiește matricea K a vectorilor proprii: K=T;
numărul "m" de trăsături care se rețin după transformarea unitară se obține din
valoarea maximă admisibilă a erorii medii pătratice de estimare:
fiecarei forme de intrare i se va aplica transformarea Karhunen-Loève:
Se vor reține numai m < n componente ale lui , restul de n – m componente fiind înlocuite cu valoarea 0;
Pentru vizulaizarea rezultatului in spatiul initial, se va aplica dezvoltarea Karhunen-Loève:
(5)
2.3 Perceptronul
Perceptronul și procesarea paralelă
Unitățile McCulloch–Pitts sunt elementele constructive ale unor rețele care pot calcula orice funcție logică sau care pot simula orice automat finit. O caracteristică a unor astfel de rețele este că acestea trebuie complet specificate înainte de a fi utilizate și nu există parametri care să poată fi ajustați după ce rețelele au fost proiectate, în scopul de a trata probleme diverse. Învățarea și adaptarea pot fi implementate doar prin modificarea modelului de conectivitate și ale valorilor pragurilor. În continuare vor fi tratate rețelele ponderate pentru flexibilitatea pe care o au relativ la ajustarea parametrilor numerici în scopul tratării unor probleme de mai mare diversitate.
Perceptronul ca element cu prag ponderat
Modelul introdus în 1958 de Frank Rosenblatt, așa-numitul perceptron clasic, a fost ulterior investigat de Minsky și Papert, rezultatul fiind actualul perceptron. Perceptronul clasic este o rețea pentru tratarea unor probleme de recunoaștere a caracterelor și este schematic ilustrat în fig. 1. O suprafață de proiecție, retina, transmite valori binare către un strat de elemente de calcul în aria de proiecție. Conexiunile de la retină la aceste elemente sunt deterministe și fixe, neadaptive. Conexiunile de la al doilea strat către unitățile ce formează stratul numit arie de asociere și de la acest strat către al treilea care furnizează răspunsurile, sunt selectate stocastic. Sistemul trebuie antrenat pentru a recunoaște anumite modele din regiunea de conexiuni care să conducă la anumite valori de ieșire al unităților de pe ultimul strat, misiunea algoritmului de învățare fiind determinarea unor ponderi adecvate ale conexiunilor. Diferența între o rețea de unități McCulloch–Pitts și perceptronul clasic constă în existența ponderilor.
Fig. 13 Perceptronul clasic
În modelul Minsky–Papert retina este o arie de pixeli cu valori binare pe care modelul este proiectat. Unii pixeli din retină sunt conectați la elemente logice numite predicate care calculează un singur bit ca răspuns la valorile pixelilor asociați, iar acest predicat poate avea o complexitate computațională destul de mare. Fiecare predicat este restricționat, de exemplu, de numărul de pixeli din retină ce pot fi examinați simultan sau de distanța maximă între acești pixeli. Predicatele transmit valorile binare către un element cu prag ponderat ca în fig. 14.
Fig. 14 Predicate și ponderi asociate unui perceptron
Desigur, ar trebui date răspunsuri referitoare la modele pot fi recunoscute folosind un singur element la ieșirea rețelei și la limitele de lucru în paralel în situația în care un predicat poate examina un număr limitat de pixeli din toată retina. Restricțiile asupra unui predicat constau faptul că el produce doar o valoare binară și câmpul de pixeli examinați nu acoperă toată retina. Dacă predicatele sunt P ,…, Pn 1 iar ponderile conexiunilor la elementul cu prag sunt respectiv atunci sistemul emite “1” doar atunci când , unde este pragul unității de ieșire.
Acest model de perceptron este o variant simplificată a perceptronului clasic.
Limite computaționale ale perceptronului
Pentru a explora proprietățile perceptronului, vom presupune că numărul de predicate este fixat. Chiar dacă acestora le este alocată o putere de calcul nelimitată, punctul critic îl reprezintă calculul paralel în singurul element cu prag. Astfel, fiecare procesor este obligat să coopereze prin producerea unui rezultat adecvat deciziei globale. Asupra limitelor câmpurilor receptive se pot enunța următoarele:
– Perceptroni cu diametru limitat: câmpul receptiv al fiecărui perceptron are un diametru limitat.
– Perceptroni cu ordin limitat: numărul de puncte din fiecare câmp receptiv nu poate depăși o limită dată.
– Perceptroni stocastici: fiecare câmp receptiv constă dintr-un număr de puncte alese aleator. Minsky și Papert au demonstrat existența unor probleme care nu pot fi rezolvate de un singur perceptron care acționează ca o unitate de decizie finală. Conectivitatea este un exemplu de problemă la care perceptronul nu poate răspunde.
Dualitatea între spațiul intrărilor și al ponderilor
Când se caută valori adecvate pentru cele n ponderi ale unui perceptron, spațiul de căutare este . Dacă considerăm un perceptron cu n intrări, atunci este necesar să determinăm n +1 parametri corespunzători celor n ponderi și înclinației. Aceste n +1 valori reprezintă un punct în privit ca spațiu al ponderilor. Atunci când alegem un punct în spațiul ponderilor se alege de fapt o combinație de valori ale ponderilor și o separare liniară a spațiului intrărilor. Așadar, unui punct din spațiul ponderilor îi corespunde un hiperplan în spațiul extins al intrărilor ca în fig. 15. Dacă ponderile alese sunt , atunci ecuația hiperplanului este .
Invers, dacă dorim ca punctul ( , , ) să fie plasat în subspațiul pozitiv definit de un plan, atunci trebuie să determinăm ponderile , astfel încât .
Această inegalitate induce o separare liniară a spațiului ponderilor și punctul ( ,,) definește planul de secționare care are ecuația pentru ( , , ) fixat. Așadar, un punct ( , , ) din spațiul extins al intrărilor conduc la un hiperplan în spațiul extins al ponderilor (v. figura 15).
Deci puncte dintr-un spațiu sunt aplicate în plane din celălalt spațiu. Aceasta definește o relație de dualitate.
Fig. 15 Dualitatea spațiului intrărilor și al ponderilor
Funcția de eroare în spațiul ponderilor
Date două mulțimi ce trebuie separate de un perceptron, un algoritm de învățare trebuie să determine valori adecvate ale ponderilor și pragului. Mai precis, fie A și B două mulțimi în spațiul intrărilor ce trebuie separate astfel încât perceptronul calculează o funcție binară cu
(x) = 1, (∀)x∈ A
(x) = 0, (∀)x∈ B.
Funcția binară depinde de ponderi și de prag. Funcția de eroare este numărul de clasificări false obținute prin folosirea vectorului extins de ponderi w și este definită ca:
Algoritmul de învățare a perceptronului are ca scop minimizarea acestei funcții, valoarea minimă posibilă pentru E fiind zero.
Curbe de decizie generale
Perceptronul ia o decizie pe baza separării liniare a spațiului intrărilor. Separări mai generale ale spațiului intrărilor permit tratarea unor probleme nerezolvabile cu un singur perceptron. În fig. 16 este ilustrată separarea neliniară a spațiului intrărilor pentru funcția XOR. Funcțiile folosite pentru a discrimina între regiuni ale spațiului intrărilor se numesc curbe de decizie. Aceste curbe pot fi date de polinoame sau curbe spline. Astfel, în recunoașterea statistică a caracterelor se presupune că modelele ce trebuie recunoscute sunt grupate în clustere în spațiul de intrare. Aceste clustere pot fi izolate între ele prin combinații de curbe de decizie. Alternativ, se pot combina perceptroni pentru a izola o regiune convexă a spațiului.
Fig. 15 Curbă de decizie
În general, este necesar să se discrimineze între diverse regiuni ale spațiului. Sarcina unei RNA este să identifice aceste regiuni și apoi să le asocieze răspunsuri adecvate. Problema principală este să se știe dacă parametrii corespunzători acestor regiuni de decizie pot fi determinați printr-un algoritm de învățare.
Capitolul 3
Perceptronul Multinivel
Perceptronul Multinivel
3.1. Arhitectura perceptronului multinivel
Structura clasica de perceptron neliniar- “Non-linear Perceptron” (NP) este o retea fara reactie ( “feedforward”) care contine trei niveluri de neuroni, asa cum este reprezentat in figura 16, de mai jos.
Fig. 16 Retea perceptron neliniar cu trei straturi de neuroni ( strutura clasica)
Primul strat al MLP contine neuroni virtuali care nu realizeaza o prelucrare de semnal, ci doar o multiplexare, prelucrarea propriu- zisa avand loc doar in stratul intermediar si in cel de iesire.
Ecuatiile unui neuron din stratul intermediar
Fig. 17 Conexiunile neuronului j ( j=1,…,L) din stratul intermediar
are semnificatia de vector care se aplica la intrarea NP.
, j=1,…,L, i=1,…,n reprezinta multimea ponderilor aferente stratului intermediar. L este numarul de neuroni ai stratului intermediar, iar n reprezinta numarul neuronilor de pe stratul de intrare. Indicele superior “h” care apare in notarea ponderilor acestui strat provine de la “hidden”.
Avem doua etape de prelucrare:.
Etapa liniara ()
In cadrul acestei etape vom defini activarea neuronului j din stratul intermediar, cand la intrare se aplica vectorul ,
() , j=1,…,L [2.1],
unde este o variabila de stare interna (activarea neuronului j).
Daca , atunci
, j=1,…,L [2.2]
Etapa neliniara ()
Aceasta etapa presupune calcularea iesirii neuronului intermediar j, conform formulei
() , j=1,…,L [2.3],
unde este o functie neliniara de tipul f: (>0 constant) (neliniaritate sigmoidala conform figurii 18) sau (neliniaritate de tip tangenta hiperboloica, conform figurii 19).
Fig 18. Functia sigmoida
Fig 19. Functia tangenta hiperbolica
Ecuatiile unui neuron din stratul de iesire
Fig. 20. Conexiunile neuronului k ( k=1,…,M) din stratul de iesire
, k=1,…,M, j=1,…,L reprezinta multimea ponderilor aferente stratului de iesire (indicele o=”output”). M este numarul de neuroni ai stratului de iesire.
Avem doua etape de prelucrare:.
Etapa liniara ()
Activarea neuronului k din stratul de iesire, cand la intrarea NP se aplica vectorul este data de formula
() , k=1,…,M [2.4],
unde este o variabila de stare interna (activarea neuronului k).
Etapa neliniara ()
Iesirea neuronului de iesire k este determinata in functie de activarea si este exprimata de formula
() , k=1,…,M [2.5]
poate fi sigmoidala sau tangenta hiperbolica. k=1,…, K.
3.2. Algoritmul de instruire
Perceptronul multinivel are un algoritm de instruire supervizata, de tip “back-propagation”, in scopul minimizarii erorii pe lotul de instruire
[2.10],
K fiind numarul de vectori din lotul de instruire, iar
[2.11]
constituie eroarea determinata de vectorul p de instruire.
Pasul 1. Se ia p=1. Se aplica la intrarea retelei vectorul
,
pentru care se cunoaste vectorul de iesire ideal
,
unde:
n reprezinta dimensiunea vectorului de intrare,
M numarul de clase (numarul neuronilor de pe stratul de iesire).
Apoi se genereaza aleator multimea ponderilor aferente stratului intermediar adica , j=1, …, L, i=1 ,…,n si cea aferenta stratului de iesire al retelei: k=1,…,M, j=1,…,L, unde L este numarul de neuroni de pe stratul intermediar.
Pasul 2. Se calculeaza activarile neuronilor din stratul intermediar folosind formula [2.1]
, j=1,…,L.
Pasul 3. Se calculeaza iesirile neuronilor din stratul intermediar folosind relatia [2.3]
, j=1,..,L.
Pasul 4. Se calculeaza activarile neuronilor din stratul de iesire pe baza relatiei [2.4]
, k=1,…,M.
Pasul 5. Se calculeaza iesirile neuronilor de pe stratul de iesire conform relatiei [2.5]
, k=1,..,M
Pasul 6. Se calculeaza termenii eroare pentru neuronii de iesire conform relatiei [2.12]
[2.12].
Pasul 7. Se calculeaza termenii eroare pentru neuronii din stratul intermediar folosind [2.13]
[2.13],
Pasul 8. Se rafineaza ponderile aferente stratului de iesire pe baza relatiei [2.14]
, k=1,…M, j=1,…,L [2.14],
unde , este rata de invatare.
[2.15]
[2.16]
Inlocuind relatia [2.16] in relatia [2.15] rezulta
[2.17]
Pe baza relatiei [2.17], formula [2.14] de rafinare a ponderilor aferente stratului de
iesire este echivalenta cu formula urmatoare
[2.18]
Pasul 9. Se rafineaza ponderile aferente stratului intermediar
, j=1,…,L, i=1,…,n [2.19]
[2.20]
[2.22]
[2.24]
Tinand cont de relatia [2.24], formula [2.19] de rafinare a ponderilor aferente stratului intermediar devine formula [2.25]
, j=1,…,L, i=1,…,n [2.25]
Pasul 10. Se calculeaza eroarea datorata vectorului p de instruire data de formula [2.11]
.
Pasul 11. Daca p<N se face p=p+1, adica se introduce un nou vector la intrarea retelei. Altfel se calculeaza eroarea corespunzatoarea epocii respective (prin epoca se intelege parcurgerea intregului lot de vectori) folosind formula [2.10]
si se incepe o noua epoca de instruire.
Algoritmul de instruire se termina dupa un anumit numar (fixat) de epoci.
3.3 Analiza complexitatii algoritmului de instruire
Daca consideram drept functie de activare
se stie ca .
Rezulta , k=1,…,M [2.26]
si
, j=1,..,L [2.27]
Relatia [2.1] care apare la pasul 2 al algoritmului de instruire pentru a calcula activarile neuronilor de pe stratul intermediar necesita inmultiri.
La pasul 4 al algoritmului de invatare sunt necesare inmultiri pentru a calcula cu formula [2.4] activarile neuronilor de pe stratul de iesire.
Relatia [2.12] utila la determinarea termenilor eroare pentru neuronii de iesire se poate rescrie in relatia echivalenta [2.28], pe baza presupunerii din relatia [2.26].
, k=1,…,M [2.28]
In acest caz se efectueaza 2M inmultiri la pasul 6 al algoritmului de instruire.
Formula [2.13] de calcul a termenilor eroare pentru neuronii din stratul intermediar devine
, j=1,…,L [2.29].
Pentru a minimiza numarul de inmultiri care ar trebui efectuate la pasul 7 in vederea determinarii termenilor eroare pentru neuronii din stratul intermediar, folosind formula [2.29] se face o operatie de atribuire [2.30]. Formula [2.29] va fi inlocuita cu [2.31], de mai jos:
[2.31] care necesita inmultiri.
Pentru a rafina la pasul 8 ponderile aferente stratului de iesire folosind formula [2.18] avem de efectuat inmultiri.
Din formula [2.19] de rafinare a ponderilor aferente stratului intermediar, prezenta la pasul 9 se observa ca se realizeaza inmultiri la nivelul acestui pas al algoritmului de instruire.
Numarul total de multiplicari care se efectueaza intr-o epoca este:
K*(2*L*n+3*M*L+2*M+L) [2.32], iar numarul total de multiplicari necesari tuturor epocilor este formula de mai sus inmultita cu numarul total de epoci de instruire. (5)
Bibliografie
1. Cimponeriu, Andrei. Rețele neuronale în tehnica măsurării. 1997.
2. Wikipedia. [Online] [Cited: 08 12, 2014.] http://en.wikipedia.org/wiki/Predictive_analytics.
3. Scritube. [Online] scri group. [Cited: 08 14, 2014.] http://www.scritub.com/medicina/RETELE-NEURALE234651911.php.
4. Brindusescu, Alin. brindusescu. brindusescu.org. [Online] 01 22, 2011. [Cited: 08 14, 2014.] http://www.brindusescu.org/category_2.
5. Neagoe, Victor. Curs Recunoasterea Formelor si Inteligenta Artificiala.
Bibliografie
1. Cimponeriu, Andrei. Rețele neuronale în tehnica măsurării. 1997.
2. Wikipedia. [Online] [Cited: 08 12, 2014.] http://en.wikipedia.org/wiki/Predictive_analytics.
3. Scritube. [Online] scri group. [Cited: 08 14, 2014.] http://www.scritub.com/medicina/RETELE-NEURALE234651911.php.
4. Brindusescu, Alin. brindusescu. brindusescu.org. [Online] 01 22, 2011. [Cited: 08 14, 2014.] http://www.brindusescu.org/category_2.
5. Neagoe, Victor. Curs Recunoasterea Formelor si Inteligenta Artificiala.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Predictor Adaptiv Pentru Secvente Lungi de Date (ID: 123053)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
