Mappa auto-organizzata
Una mappa auto-organizzata o mappa auto-organizzante, in inglese self-organizing map (SOM), è un tipo di organizzazione di processi di informazione in rete analoghi alle reti neurali artificiali.
Sono addestrate usando l'apprendimento non supervisionato per produrre una rappresentazione dei campioni di training in uno spazio a bassa dimensione preservando le proprietà topologiche dello spazio degli ingressi. Questa proprietà rende le SOM particolarmente utili per la visualizzazione di dati di dimensione elevata. Il modello fu inizialmente descritto dal professore finlandese Teuvo Kohonen e spesso ci si riferisce a questo modello come mappe di Kohonen.
Struttura della rete
modificaLe mappe auto-organizzate sono reti neurali a connessioni laterali dove i neuroni di uscita sono organizzati in griglie di bassa dimensione (generalmente 2D o 3D). Ogni ingresso è connesso a tutti i neuroni di uscita. A ogni neurone è associato un vettore dei pesi della stessa dimensione dei vettori d'ingresso. La dimensione del vettore d'ingresso è generalmente molto più alta della dimensione della griglia di uscita. Le SOM sono principalmente usate per la riduzione della dimensionalità piuttosto che per l'espansione.
L'algoritmo di apprendimento
modificaL'obiettivo dell'apprendimento nelle mappe auto-organizzate è di specializzare parti differenti del reticolo SOM a rispondere similmente a particolari pattern d'ingresso. Questo è in parte motivato da come le informazioni sensoriali visive, uditive o di altro tipo sono gestite da parti separate della corteccia cerebrale nel cervello umano.[1]
I pesi dei neuroni sono inizializzati o a numeri casuali piccoli o a valori campionati uniformemente dal sottospazio attraversato dai due autovettori associati alle due componenti principali più grandi. L'ultima alternativa velocizza significativamente l'addestramento perché i pesi iniziali sono già una buona approssimazione dei pesi della SOM.[2]
L'addestramento utilizza l'apprendimento competitivo. Quando viene passato un campione di training in ingresso alla rete, viene calcolata la sua distanza euclidea da tutti i vettori dei pesi. Il neurone col vettore dei pesi più simile all'ingresso è chiamato Best Matching Unit (BMU). I pesi del BMU e dei neuroni vicini a questo nel reticolo SOM vengono avvicinati al vettore d'ingresso. L'intensità dell'avvicinamento decresce nel tempo e in funzione della distanza dei neuroni dal BMU. La formula utilizzata per l'aggiornamento dei pesi di un neurone è:
dove è un coefficiente di apprendimento monotono decrescente e è il vettore d'ingresso. La funzione che definisce il vicinato dipende dalla distanza nel reticolo fra il BMU e il neurone v. Nella forma semplificata (rete competitiva) è 1 per tutti i neuroni abbastanza vicini al BMU e 0 per gli altri, ma la scelta più comune è una funzione gaussiana. Indipendentemente dalla funzione utilizzata, la funzione vicinato si riduce nel tempo.[1] Inizialmente, quando il vicinato è ampio, l'auto-organizzazione avviene su scala globale (ordering phase). Quando il vicinato è ridotto a solo pochi neuroni i pesi convergono in una stima locale (tuning phase).
Questo processo è ripetuto, per ogni vettore d'ingresso, per un numero di cicli variabile (generalmente ampio). Come la maggior parte delle reti neurali artificiali, la SOM ha due modalità di funzionamento:
- Durante il processo di addestramento si costruisce una mappa, la rete neurale si organizza usando un processo competitivo. È necessario dare in ingresso alla rete un numero elevato di vettori d'ingresso, che rappresentino il più possibile il tipo di vettori che ci si aspetta durante la seconda fase (se ce ne sarà una). Altrimenti, gli stessi vettori d'ingresso devono essere "somministrati" più volte.
- Durante il processo di mapping un nuovo vettore d'ingresso può essere dato in ingresso alla mappa; questo viene automaticamente classificato o categorizzato. Ci sarà un solo neurone vincitore: quello il cui vettore dei pesi giace più vicino al vettore d'ingresso. (Questo può essere facilmente individuato calcolando la distanza euclidea fra il vettore d'ingresso e il vettore dei pesi).
Esempio di algoritmo
modificaDefinizioni preliminari
modificaL'effettivo algoritmo di addestramento della rete è la quantizzazione vettoriale (vector quantization).
Per spiegare l'algoritmo in profondità, creiamo un array 10x10 di nodi. Ogni nodo conterrà un vettore di pesi, e sarà pienamente a conoscenza della sua "locazione fisica", cioè della sua locazione nell'array. Il vettore dei pesi contenuto in ogni nodo avrà la stessa dimensione dei seguenti vettori d'ingresso. (N.B. I pesi sono inizializzati con valori casuali).
Ora abbiamo bisogno d'ingressi da dare in pasto alla mappa. (Nota: la mappa generata e gli ingressi esistono in sottospazi differenti). Come di consueto, creiamo tre vettori per rappresentare colori nel formato RGB (red, green, blue). Pertanto i nostri vettori d'ingresso avranno tre componenti, ognuna corrispondente ad uno spazio dei colori. I nostri vettori d'ingresso saranno così:
R = <255, 0, 0> G = <0, 255, 0> B = <0, 0, 255>
Alcune variabili
modificaI vettori verranno indicati in grassetto t = iterazione corrente λ = limite nel tempo d'iterazione Wv = vettore dei pesi corrente D = ingresso desiderato Θ(v,t) = limite dovuto alla distanza dal BMU α(t) = limite di apprendimento dovuto al tempo
Passi dell'algoritmo
modifica- Assegna ai vettori dei pesi valori casuali
- Prendi un vettore d'ingresso
- Attraversa ogni nodo della mappa
- Usa la distanza euclidea per trovare somiglianze fra il vettore d'ingresso e il vettore dei pesi di ogni singolo nodo della mappa
- Individua il nodo a distanza minore (questo nodo verrà chiamato Best Matching Unit o BMU)
- Aggiorna i nodi del vicinato di BMU "tirandoli" più vicino al vettore d'ingresso
Interpretazione
modificaCi sono due modi per interpretare una SOM:
- Dato che nella fase di addestramento i pesi di tutto il vicinato sono spostati nella stessa direzione, elementi simili tendono ad eccitare neuroni adiacenti. Perciò le SOM formano una mappa semantica dove campioni simili vengono mappati vicini e dissimili distanti.
- Un altro modo di considerare i pesi neuronali è di pensarli come punti distribuiti nello spazio degli ingressi. Questi formano un'approssimazione della distribuzione dei campioni d'ingresso. Più neuroni puntano a regioni con un'elevata concentrazione di campioni di addestramento, e meno in zone dove i campioni sono scarsi.
Note
modifica- ^ a b Simon Haykin, 9. Self-organizing maps, in Neural networks - A comprehensive foundation, 2nd edition, Prentice-Hall, 1999, ISBN 0-13-908385-5.
- ^ Intro to SOM by Teuvo Kohonen, su SOM Toolbox. URL consultato il 18 giugno 2006.
Bibliografia
modifica- Reti neurali di Kohonen (JPG), in MCmicrocomputer, n. 107, Roma, Technimedia, maggio 1991, pp. 290-293, ISSN 1123-2714 .
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file sulla mappa auto organizzata
Collegamenti esterni
modifica- Fabio Catino, mappe autoorganizzanti, in Enciclopedia della scienza e della tecnica, Istituto dell'Enciclopedia Italiana, 2007-2008.
- Prof. Kohonen's website in Helsinki University of Technology See ->research ->software for Toolkits and C and Matlab code for SOM's
- Chapter 7: Competition and self organisation: Kohonen nets, part of Kevin Gurney's web-book on Neural Nets.
- Nice application to visualize some neural-network algorithms. Written in Java, so you need a Java-plugin in your browser.
- Programming a Kohonen Neural Network in Java part of a Java Neural Network web book.
- Databionics Prof. A. Ultsch's websites on Visualization and Datamining with SOM
- Rete di Kohonen Archiviato l'11 giugno 2007 in Internet Archive. applicata al problema del commesso viaggiatore (in 3 dimensioni)
- Raptor. An international Company W/ SOM Software for Business Intelligence, Data Mining and Predictive Analysis Request Demo Software in > About> Contact us: Request Information Form.
- Viscovery SOMine[collegamento interrotto]: SOM technology tool from Eudaptics
- SOM in R - videotutorial