La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Apprendimento Automatico Reti Neurali Apprendimento non supervisionato: Reti di Kohonen Stefano Cagnoni.

Presentazioni simili


Presentazione sul tema: "Apprendimento Automatico Reti Neurali Apprendimento non supervisionato: Reti di Kohonen Stefano Cagnoni."— Transcript della presentazione:

1 Apprendimento Automatico Reti Neurali Apprendimento non supervisionato: Reti di Kohonen Stefano Cagnoni

2 Mappe auto-organizzanti (SOM) di Kohonen Modello biologico di partenza Nella corteccia cerebrale esistono mappature (proiezioni) di stimoli sensoriali su specifiche reti di neuroni corticali. I neuroni senso-motori costituiscono una mappa distorta (lestensione di ciascuna regione è proporzionale alla sensibilità della corrispondente area corporea, non alle dimensioni) della superficie corporea. Tuttavia, parti adiacenti della corteccia corrispondono a parti adiacenti della superficie corporea. Homunculus

3 Mappe auto-organizzanti (SOM) di Kohonen Interazioni laterali fra neuroni eccitazione laterale a breve raggio ( m) azione inibitoria (fino a m) azione eccitatoria debole a lungo raggio (fino a qualche cm) approssimabili come:

4 Mappe auto-organizzanti (SOM) di Kohonen Mappe sensoriali, costituite da un singolo strato di neuroni in cui le unità si specializzano a rispondere a stimoli diversi in modo tale che: ingressi di tipo diverso attivino unità diverse unità topologicamente vicine vengano attivate da ingressi simili

5 Mappe auto-organizzanti (SOM) di Kohonen Singolo strato di neuroni n i i=1,w*h (w=largh. h= alt. mappa) Ogni ingresso X={x j, j=1,N } è collegato a tutti i neuroni ( quindi ad ogni neurone afferiscono N connessioni ) Ogni connessione è associata ad un peso w ij Funzione di attivazione f i 1/d(W i,X) d= distanza Presenza di interazioni laterali (proporzionali alla distanza fra neuroni secondo la funzione a cappello di messicano)

6 Mappe auto-organizzanti (SOM) di Kohonen I pesi di ciascun neurone vengono modificati: in senso eccitatorio, proporzionalmente al valore della propria funzione di attivazione e di quelle dei neuroni appartenenti ad un loro vicinato e in funzione della distanza da essi; in senso inibitorio, proporzionalmente al valore della funzione di attivazione dei neuroni esterni al vicinato e in funzione della distanza da essi. Quindi, se si ripropone lo stesso ingresso alla rete: i neuroni che avevano un valore elevato di attivazione e i vicini mostreranno unattivazione ancora maggiore i neuroni che rispondevano poco risponderanno ancor meno

7 Mappe auto-organizzanti (SOM) di Kohonen Se si presentano alla rete dati ben distribuiti nello spazio degli ingressi, in modo iterativo, ogni neurone si specializza a rispondere a dati di un certo tipo Inoltre, neuroni vicini rispondono a stimoli vicini proiettando, in pratica, lo spazio degli ingressi sullo strato di neuroni. Risultati: riduzione di dimensionalità dei dati da N (dim. dellingresso) a m (dimensione della mappa); ogni dato è rappresentato dalla coordinata dellunità su cui si proietta, cioè quella in cui il dato genera la massima attivazione, cioè quella per cui i cui pesi sono più simili (vicini) al dato stesso.

8 Mappe auto-organizzanti (SOM) di Kohonen In pratica: una SOM su cui sia stato operato il training partiziona lo spazio degli ingressi in tanti sottospazi quanti sono i neuroni ogni sottospazio s i di S={X k } è definito come: s i = {X j t.che d(X j,W i ) = min t (X i,W t ) } si ottiene la cosiddetta Tassellazione di Voronoi dello spazio di ingresso

9 Mappe auto-organizzanti (SOM) di Kohonen Semplificazioni del modello per implementazione algoritmo di addestramento: si modificano i pesi solo nellintorno del neurone che ha max attivazione (neurone vincente, questo tipo di addestramento è detto anche competitive learning) si considerano solo le interazioni laterali eccitatorie allinterno di un intorno limitato del neurone vincente NB Modificare i pesi in senso eccitatorio significa renderli più simili allingresso (si incrementa lattivazione in corrispondenza dellingresso stesso); modificarli in senso inibitorio significa renderli meno simili (lattivazione diminuisce).

10 Mappe auto-organizzanti (SOM) di Kohonen =C ( learning rate, C costante positiva piccola << 1 ) Dato un training set X = { x i |, X i =(x i1, x i2, ….,, x im ), i=1…N } -Inizializza i pesi con valori compatibili con i dati - Per ogni esempio x i nel training set: 1.determina lunità vincente n w 2.modifica i pesi dellunità vincente e di quelle che si trovano in un suo intorno nel modo seguente: 3.w j (t+1) = w j (t) + x i - w j (t)) (t+1) = (t) * (1 - ) ( costante positiva piccola << 1 ) finché la rete non raggiunge una configurazione stabile o = 0

11 Mappe auto-organizzanti (SOM) di Kohonen Modello semplificato delle interazioni laterali fra neuroni adiacenti la cui intensità ha un andamento tipico a cappello messicano. Nellalgoritmo si usa un modello semplificato in cui lattivazione è uniforme nellintorno del neurone vincente (a finestra rettangolare). Lintorno è tipicamente quadrato (per semplicità) ma può assumere qualunque forma (comune anche esagonale) E possibile prevedere anche unarea che circonda lintorno considerato in cui si ha un effetto inibitorio, in cui cioè la regola diventa w j (t+1) = w j (t) - x i - w j (t)) Esiste un isomorfismo fra lo spazio di ingresso e lo spazio dei pesi

12 Mappe auto-organizzanti (SOM) di Kohonen Realizzano il clustering dei dati, cioè lidentificazione, nello spazio degli ingressi, di nuvole di dati che si addensano in zone dello spazio di ingresso, inducendone una partizione ogni partizione è rappresentabile mediante il centroide della nuvola, che nelle reti di Kohonen corrisponde ai pesi associati ad una unità della mappa il clustering è di tipo non supervisionato, in quanto non abbiamo alcuna informazione a priori sulle classi di appartenenza dei dati a posteriori è possibile classificare i dati in base alla partizione dello spazio degli ingressi cui appartengono

13 Versione supervisionata (Learning Vector Quantization o LVQ) La partizione di cui è centroide il vettore dei pesi associati ad una unità della mappa rappresenta il prototipo (o una approssimazione) per una certa classe di dati. Vector Quantization = procedura mediante la quale si definisce un codice di lunghezza limitata che approssima i valori di dati simili sostituendoli con un codice fisso. Il codice è tale da minimizzare lerrore che si commette sostituendo ad un insieme di dati vicini lo stesso elemento (il centroide dei dati) di tale codice. Utilizzabile per la compressione di segnali o immagini. Es. immagini a colori rappresentate con una palette di dimensioni limitate. Unendo questi concetti è possibile definire un algoritmo di apprendimento supervisionato con una regola simile alle SOM.

14 Learning Vector Quantization (LVQ) =C ( learning rate, C costante positiva piccola << 1) Dato un training set X = { (x i, l i ) |, X i =(x i1, x i2, ….,, x im ), i=1…N, l i Z} - Inizializza i pesi con valori compatibili con i dati, assegnando etichette random ai neuroni corrispondenti (o utilizzando alcuni degli esempi), purché rappresentino tutte le classi. - Per ogni esempio x i nel training set: 1.determina lunità vincente n w 2.modifica i pesi dellunità vincente nel modo seguente: 3.w j (t+1) = w j (t) + x i - w j (t)) ( =1 se l i = l w ; = -1 altrimenti) (t+1) = (t) * (1 - ) ( costante positiva piccola << 1 ) finché la rete non raggiunge una configurazione stabile o finché non si raggiunge un errore sufficientemente basso

15 Learning Vector Quantization Non è più necessario modellare le interazioni laterali fra neuroni: si effettua una quantizzazione, non una proiezione come nel caso delle SOM. La rete non è più una mappa, ma un insieme di prototipi indipendenti luno dallaltro La classificazione di un dato avviene assegnando al dato letichetta associata al prototipo che rappresenta la partizione dello spazio degli ingressi entro cui si colloca il dato, cioè il prototipo più vicino al dato. Errore valutabile come errore di approssimazione (vector quantization) o come accuratezza (classificazione) Problema del dimensionamento della rete: di quanti prototipi ho bisogno ?

16 Learning Vector Quantization Lalgoritmo LVQ fissa a priori la dimensione della rete. Se i neuroni sono pochi (partizioni grandi), vi è elevata probabilità che in una partizione giacciano dati appartenenti a classi diverse. Se i neuroni sono troppi posso avere overfit. Al limite, posso azzerare lerrore di classificazione sul training set se utilizzo una rete che ha tanti neuroni quanti esempi nel training set e pesi uguali agli esempi stessi. Si possono usare strategie di dimensionamento dinamico della rete, in funzione delle prestazioni della rete.

17 Optimum-Size Learning Vector Quantization (OSLVQ) E necessario predisporre un validation set, da utilizzare per valutare le prestazioni della rete, ai fini di effettuare le modifiche opportune. Modifiche = cancellazioni o inserimento di neuroni Se un neurone viene attivato da pattern appartenenti ad una classe diversa in numero significativo, è necessario inserire un nuovo neurone corrispondente a tale classe nella partizione corrispondente. Se un neurone non viene mai attivato o se, in sua assenza, i pattern che giacciono nella sua partizione vengono ugualmente classificati in modo corretto, si può eliminare il neurone

18 Optimum-Size Learning Vector Quantization (OSLVQ) Si definiscono le costanti, e N iter = numero max di errori tollerato in una partizione = numero minimo di pattern che devono attivare un neurone = numero max di neuroni vicini della stessa classe Per ogni N iter iterazioni dellalgoritmo LVQ Se in una partizione P si ha che N err > allora si aggiunge un neurone. I pesi del nuovo neurone sono inizializzati con le coordinate del centroide (media) dei pattern, appartenenti alla classe su cui si commettono più errori in P, che cadono in tale partizione. Se il neurone è attivato da N p < pattern, allora si elimina il neurone. Se N n > neuroni vicini appartengono alla stessa classe, si elimina il neurone. finché la rete non si stabilizza o raggiunge prestazioni sufficienti


Scaricare ppt "Apprendimento Automatico Reti Neurali Apprendimento non supervisionato: Reti di Kohonen Stefano Cagnoni."

Presentazioni simili


Annunci Google