Rețelele neuronale Kohonen sunt o clasă de rețele neuronale , al căror element principal este stratul Kohonen . Stratul Kohonen este alcătuit din aditivi liniari adaptivi (" neuroni formali liniari "). De regulă, semnalele de ieșire ale stratului Kohonen sunt procesate conform regulii „ Câștigătorul ia tot ”: cel mai mare semnal se transformă într-unul, restul se transformă în zero.
În funcție de metodele de setare a greutăților de intrare ale sumatorilor și a sarcinilor de rezolvat, există multe varietăți de rețele Kohonen [1] . Cele mai faimoase dintre ele:
Stratul Kohonen este format dintr-un număr de elemente liniare paralele. Toate au același număr de intrări și primesc același vector de semnale de intrare la intrările lor . La ieșirea celui de-al treilea element liniar, obținem semnalul
Unde:
După trecerea prin stratul de elemente liniare, semnalele sunt trimise pentru procesare conform regulii „câștigătorul ia tot”: printre semnalele de ieșire se face o căutare a maximului ; numarul lui . În cele din urmă, la ieșire, semnalul cu numărul este egal cu unu, restul - la zero. Dacă maximul este atins simultan pentru mai multe , atunci:
„Neuronii lui Kohonen pot fi gândiți ca un set de becuri, astfel încât pentru orice vector de intrare, unul dintre ei se aprinde” [5] .
Straturile Kohonen construite după cum urmează sunt utilizate pe scară largă: fiecare ( -al-lea) neuron este asociat cu un punct din spațiul -dimensional (spațiul semnalului). Pentru un vector de intrare , distanțele sale euclidiene la puncte sunt calculate și „cel mai apropiat primește totul” - neuronul pentru care această distanță este minimă dă unul, restul sunt zerouri. Trebuie remarcat faptul că pentru a compara distanțe, este suficient să calculați funcția liniară a semnalului:
(iată lungimea euclidiană a vectorului: ). Ultimul termen este același pentru toți neuronii, deci nu este necesar să găsiți cel mai apropiat punct. Problema se reduce la găsirea numărului celor mai mari dintre valorile funcțiilor liniare:
Astfel, coordonatele punctului coincid cu greutățile neuronului liniar al stratului Kohonen (cu valoarea coeficientului de prag ).
Dacă sunt date puncte , atunci spațiul -dimensional este împărțit în poliedrele Voronoi-Dirichlet corespunzătoare : poliedrul este format din puncte care sunt mai aproape decât de altele ( ) [6] .
Problema cuantizării vectoriale cu vectori de cod pentru un set dat de vectori de intrare este pusă ca problema minimizării distorsiunii în timpul codificării, adică la înlocuirea fiecărui vector din vectorul de cod corespunzător. În versiunea de bază a rețelelor Kohonen, se utilizează metoda celor mai mici pătrate, iar distorsiunea este calculată prin formula
unde constă din acele puncte care sunt mai aproape decât de altele ( ). Cu alte cuvinte, constă din acele puncte codificate de vectorul de cod .
Dacă populația este dată și stocată în memorie, atunci alegerea standard în formarea rețelei Kohonen corespunzătoare este metoda K-means . Aceasta este metoda de împărțire:
unde este numărul de elemente din .
În continuare, repetăm. Această metodă de împărțire converge într-un număr finit de pași și oferă un minim local de distorsiune.
Dacă, de exemplu, setul nu este predeterminat sau din anumite motive nu este stocat în memorie, atunci metoda online este utilizată pe scară largă. Vectorii semnalului de intrare sunt procesați unul câte unul, pentru fiecare dintre ei găsindu-se cel mai apropiat vector de cod („câștigătorul”, care „ia tot”) . După aceea, acest vector de cod este recalculat conform formulei
unde este pasul de învățare. Restul vectorilor de cod nu se modifică la acest pas.
Pentru a asigura stabilitatea, se folosește o metodă online cu o rată de învățare în declin: dacă este numărul de pași de învățare, atunci . Funcția este aleasă în așa fel încât monoton la și astfel încât seria diverge, de exemplu, .
Cuantificarea vectorială este o operație mult mai generală decât gruparea , deoarece clusterele trebuie separate unele de altele, în timp ce seturile pentru vectori de cod diferiți nu sunt neapărat clustere separate. Pe de altă parte, dacă există clustere separabile, cuantizarea vectorială le poate găsi și le poate codifica diferit.
Problema cuantizării vectoriale constă, în esență, în cea mai bună aproximare a întregului set de vectori de date prin vectori de cod . Hărțile Kohonen auto-organizate aproximează, totuși, datele, cu o structură suplimentară în setul de vectori de cod ( ing. cod.book ). Se presupune că un anumit tabel simetric de „măsuri de vecinătate” (sau „măsuri de proximitate”) de noduri este specificat a priori : pentru fiecare pereche ( ) se determină un număr ( ), în timp ce elementele diagonale ale tabelului de proximitate sunt egale cu unul ( ).
Vectorii semnalului de intrare sunt procesați unul câte unul, pentru fiecare dintre ei găsindu-se cel mai apropiat vector de cod („câștigătorul”, care „ia tot”) . După aceea, toți vectorii de cod pentru care sunt recalculați prin formula
unde este pasul de învățare. Vecinii vectorului cod câștigător (conform tabelului de proximitate dat a priori) sunt deplasați în aceeași direcție cu acest vector, proporțional cu măsura proximității.
Cel mai adesea, un tabel de vectori de cod este reprezentat ca un fragment al unei rețele pătrate pe un plan, iar măsura de proximitate este determinată pe baza distanței euclidiene pe plan.
Hărțile auto-organizate ale lui Kohonen servesc în primul rând pentru vizualizare și analiză inițială („inteligence”) a datelor [7] . Fiecare punct de date este mapat la vectorul de cod corespunzător din rețea. Așa se obține o reprezentare a datelor pe un plan („ data map ”). Pe această hartă pot fi afișate multe straturi: cantitatea de date care se încadrează în noduri (adică „densitatea datelor”), diverse caracteristici ale datelor și așa mai departe. La afișarea acestor straturi, aparatul de sisteme de informații geografice (GIS) este util. În GIS, harta geografică servește ca substrat pentru afișarea straturilor de informații . O hartă de date este un substrat pentru un set de date în mod inerent arbitrar. Harta de date servește ca un substitut pentru harta geografică în cazul în care o hartă geografică pur și simplu nu există. Diferența fundamentală este următoarea: pe o hartă geografică, obiectele învecinate au coordonate geografice similare ; pe o hartă de date, obiectele similare au proprietăți similare. Folosind o hartă de date, puteți vizualiza datele în timp ce aplicați informații însoțitoare pe substrat (semnături, adnotări, atribute, colorări de informații) [7] . Harta servește și ca model de date de informații . Poate fi folosit pentru a completa golurile de date. Această capacitate este folosită, de exemplu, pentru a rezolva probleme de prognoză .
Ideea hărților de auto-organizare este foarte atractivă și a dat naștere la o mulțime de generalizări, totuși, strict vorbind, nu știm ce construim: o hartă este rezultatul unui algoritm și nu are un separat definiție („obiect”). Există, totuși, o idee teoretică similară - varietăți principale [8 ] . Aceste varietăți generalizează componentele principale liniare . Ele au fost introduse ca linii sau suprafețe care trec prin „mijlocul” distribuției datelor, folosind condiția de autoconsistență : fiecare punct din varietatea principală este așteptarea condiționată a acelor vectori pe care sunt proiectați (presupunând , unde este proiecția vecinătății operator activat ),
Hărțile auto-organizate pot fi considerate aproximări ale varietăților principale și sunt populare ca atare [9] .
O metodă de aproximare a datelor multidimensionale bazată pe minimizarea „energiei de deformare elastică” a unei hărți cufundate în spațiul de date a fost propusă de A. N. Gorban în 1996 și ulterior dezvoltată de acesta împreună cu A. Yu. Zinoviev, A. A. Rossiev și A. A. Pitenko [7] . Metoda se bazează pe analogia dintre colectorul principal și o membrană elastică și o placă elastică. În acest sens, este o dezvoltare a ideii clasice de spline (deși hărțile elastice nu sunt spline multidimensionale).
Fie dat un set de vectori de intrare . La fel ca rețelele de cuantizare vectorială și hărțile de auto-organizare, o hartă elastică este reprezentată ca un set de vectori de cod (noduri) în spațiul semnalului. Setul de date este împărțit în clase formate din acele puncte care sunt mai aproape decât de altele ( ). Distorsiuni de codificare
poate fi interpretat ca energia totală a arcurilor de rigiditate unitară care conectează vectorii de date cu vectorii de cod corespunzători.
O structură suplimentară este stabilită pe setul de noduri: unele perechi sunt conectate prin „legături elastice”, iar unele triple sunt combinate în „costii de rigidizare”. Să notăm mulţimea de perechi legate prin legături elastice ca , iar mulţimea de triple care alcătuiesc rigidizările ca . De exemplu, într-o zăbrele pătrată, cele mai apropiate noduri (atât pe verticală, cât și pe orizontală) sunt conectate prin legături elastice, iar rigidizările sunt formate din triple verticale și orizontale ale celor mai apropiate noduri. Energia de deformare a hărții constă din doi termeni:
energie de tracțiune energie de încovoiereunde sunt modulele corespunzătoare de elasticitate.
Sarcina de a construi o hartă elastică este de a minimiza funcționalitatea
Dacă împărțirea mulțimii de vectori de intrare în clase este fixă, atunci minimizarea este o problemă liniară cu o matrice rară de coeficienți. Prin urmare, ca și pentru rețelele de cuantizare vectorială, se aplică metoda de divizare: fix - căutare - căutare date - căutare date - ... Algoritmul converge la un minim (local) .
Metoda hărților elastice permite rezolvarea tuturor problemelor pe care le rezolvă hărțile auto-organizate ale lui Kohonen, cu toate acestea, are o mai mare regularitate și predictibilitate. Pe măsură ce modulul de îndoire crește , hărțile elastice se apropie de componentele principale liniare. Pe măsură ce ambii module elastici scad, ei se transformă în rețele de cuantizare vectorială Kohonen. Hărțile elastice sunt utilizate în prezent pe scară largă pentru analiza multivariată a datelor în bioinformatică . [10] Software-ul corespunzător este publicat și disponibil gratuit pe site-ul Institutului Curie ( Paris ) [11] [12] .
Figura arată rezultatele vizualizării datelor pentru cancerul de sân . Aceste date conțin 286 de exemple care indică nivelul de exprimare a 17816 gene [13] . Ele sunt disponibile online ca un caz de testare clasic pentru vizualizarea și maparea datelor [14] .
Problema clasificării este în curs de rezolvare . Numărul de clase poate fi oricare. Prezentăm algoritmul pentru două clase și . Inițial, pentru antrenarea sistemului, se primesc date, a căror clasă este cunoscută. Sarcină: găsiți pentru clasă un anumit număr de vectori de cod , iar pentru clasă un număr (eventual diferit) de vectori de cod în așa fel încât rețeaua Kohonen rezultată cu vectori de cod ( combinăm ambele familii) să clasifice după următoarele regula de decizie:
dacă pentru vectorul semnalelor de intrare cel mai apropiat vector de cod („câștigătorul”, care „prea totul” în stratul Kohonen) aparține familiei , atunci aparține clasei ; dacă vectorul de cod cel mai apropiat aparține familiei , atunci acesta aparține clasei .Un politop Voronoi-Dirichlet este asociat cu fiecare vector de cod al familiei comasate . Notăm aceste poliedre , respectiv. O clasă din spațiul semnalului, conform regulii de decizie, corespunde unei uniuni , iar o clasă corespunde unei uniuni . Geometria unor astfel de uniuni de poliedre poate fi foarte complexă (a se vedea figura pentru un exemplu de posibilă împărțire în clase).
Regulile de învățare a rețelei online se bazează pe regula de bază a rețelei de cuantizare vectorială. Fie intrarea sistemului un vector semnal , a cărui clasă este cunoscută. Dacă este clasificat corect de către sistem, atunci vectorul de cod corespunzător este ușor deplasat către vectorul semnal ("recompensă")
Dacă este clasificat incorect, atunci vectorul de cod corespunzător este ușor deplasat în direcția opusă semnalului („pedeapsă”)
unde este pasul de învățare. Pentru a asigura stabilitatea, se folosește o metodă online cu o rată de învățare în declin. De asemenea, este posibil să folosiți diferiți pași pentru a „încuraja” decizia corectă și pentru a „pedepsi” pe cea greșită.
Aceasta este cea mai simplă versiune (de bază) a metodei [15] . Există multe alte modificări.
Tipuri de rețele neuronale artificiale | |
---|---|
|
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|