ANALISI DEI CLUSTER (metodo kmeans)

Slides:



Advertisements
Presentazioni simili
Macchine di Percezione
Advertisements

Proprietà dell’Immagine digitale
Selezione delle caratteristiche - Principal Component Analysis
Corso di esperimentazione di fisica 1 Il metodo dei minimi quadrati
Apprendimento Automatico Apprendimento supervisionato
Dipartimento di Economia
Sistemi di Classificazione usando NCD
Calcolo del minimo comune multiplo (m.c.m.) Luigi Sante
Fisica 2 18° lezione.
Campione e campionamento
Richiami di Identificazione Parametrica
CAMPIONE E CAMPIONAMENTO
Dato un insieme di misure sperimentali di una stessa grandezza,
Teoria e Tecniche del Riconoscimento
Apprendimento Non Supervisionato
Apprendimento di funzioni algebriche
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Enginsoft CAE users meeting Ottobre 2007 Villa Caroli Zanchi Stezzano (BG) Giulia Deolmi, Fabio Marcuzzi ; Università di Padova, Padova (Italy)
Inversione differenziale della Cinematica
PER FUNZIONI DI PIÙ VARIABILI - 2.
Costruzione di Interfacce Lezione 4 Nozioni di geometria per la grafica
Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile maggio '11.
Soluzione FEM di problemi parabolici
Apprendimento: Regola “Delta”
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Corso di biomatematica lezione 5: propagazione degli errori
Teoria e Tecniche del Riconoscimento
Teoria e Tecniche del Riconoscimento
Seminario su clustering dei dati – Parte I
Seminario su clustering dei dati – Parte II
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Teoria e Tecniche del Riconoscimento
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
Algoritmi e Strutture Dati
Studente Claudia Puzzo
Filtri adattativi.
Progetto ChORUS Competenze, Organizzazione, Risorse Umane a Sistema PON Governance e Azioni di Sistema (FSE) Obiettivo 1 - Convergenza Asse E.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Il calcolo di radiosity
Case Based Reasoning
La Classificazione supervisionata
Roma, 13/7/2006 Seminario interno sulla revisione generale dei conti nazionali del Le tavole delle risorse e degli impieghi a cura di PAOLO DI LORENZO.
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
La Classificazione non supervisionata

PRESENTA PRESENTA So troppo avanti…un mi sta dietro nessuno®
Introduzione ai Metodi Inversi
Prof. Cerulli – Dott.ssa Gentili
Tutte le grandezze fisiche si dividono in
UNIVERSITÀ DI PISA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA PER LA GESTIONE D’AZIENDA Tesi di laurea: Progettazione.
Classificazione (aka Cluster Analysis)
Rete di Hopfield applicata al problema del TSP Federica Bazzano
ANALISI NUMERICA.
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
RETI NEURALI - 2.
Intelligenza Artificiale
Intelligenza Artificiale Reti Neurali
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Assicurazioni vita e mercato del risparmio gestito Lezione 13 Modelli media varianza con N titoli.
STRUTTURE REALIZZATIVE DI FILTRI IIR E FIR
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
POLITECNICO DI BARI Sicurezza informatica Prof. Giuseppe Mastronardi.
Lezione n° 10 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Lezioni di.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN INFORMATICA Corso di APPRENDIMENTO AUTOMATICO Prof. Giancarlo Mauri Lezione Clustering.
Metodi di regolarizzazione nell’elaborazione delle immagini biomediche Marcello Demi CNR, Institute of Clinical Physiology, Pisa, Italy.
1 a cura di MENNITI Prof. Salvatore LIMITI DI FUNZIONI con il Foglio Elettronico Excel.
Transcript della presentazione:

ANALISI DEI CLUSTER (metodo kmeans) Sia l’insieme degli esempi di training Supponiamo di volerli classificare in k classi, ed indichiamo con mj, j=1,…,k prototipi delle classi Supponiamo per ora di avere a disposizione i k prototipi mj per cui rappresenteremo il vettore di input con il prototipo più vicino

ANALISI DEI CLUSTER (metodo kmeans) Come possiamo calcolare i prototipi mj? Quando xt è rappresentato da mi, vi è un’errore proporzionale alla distanza Il nostro obiettivo è quello di ridurre questa distanza quanto possibile Introduciamo una funzione errore (di ricostruzione) come segue

ANALISI DEI CLUSTER (metodo kmeans) Migliori performance si ottengono trovando il minimo di E Usiamo una procedura iterativa per trovare i prototipi. Si parte inizializzando i k vettori di riferimento mi casualmente Quindi si calcolano i valori di b con l’equazione precedente e si minimizza l’errore E calcolando la sua derivata prima e ponendola a zero. Quindi si perviene a Chiaramente modificando i valori di m anche quelli di b variano e quindi si ripete il processo finché i prototipi si stabilizzano

ANALISI DEI CLUSTER (metodo kmeans)

ANALISI DEI CLUSTER (metodo kmeans)

ANALISI DEI CLUSTER (kmeans) Bande: XS1 ("green" band), XS2 ("red" band), XS3 ("near infra-red" band) PCA Kmeans: Initial Number of classes: 15, •Initial Number of iterations: 10, •Change threshold: 5%.

ANALISI DEI CLUSTER (Fuzzy C-means) Inizializza la matrice delle funzioni membership b con valori tra 0 e 1. Tale che soddisfano il vincolo Calcola i centri mi, i=1,…,k con Calcola la funzione costo. Criterio di stop: se E<soglia o non vi sono variazioni significative tra una iterazione ed un’altra Calcola la nuova matrice b Vai al passo 2

Template Matching In diverse applicazioni risulta importante ricercare direttamente nell’immagine (e non nello spazio delle caratteristiche) particolari regioni o piccole porzioni di un oggetto. Esempi: di un pezzo meccanico, si vuole cercare una regione con particolari configurazioni geometriche; da una immagine da satellite si vogliono cercare finestre che includono intersezioni di fiumi, strade ecc., normalmente usati come punti di riferimento (reference point). Il problema consiste nel ricercare sull’intera immagine una finestra ideale corrispondente ad una rappresentazione dell’oggetto che deve essere identificato nell’immagine.

Template Matching Il processo di template matching consiste nel muovere la finestra campione (template) di un pixel per volta nell’immagine e calcolare il grado di similarita` di tale finestra con la porzione corrente dell’immagine. Opera come correlazione in analogia al processo di convoluzione. Il template matching e` anche descritto come “matched filtering”. Sia g(i,j) la finestra prototipo da ricercare f(i,j) immagine di input, Il processo inizia posizionando g sull’estremita` in alto a sinistra di f, ed i corrispondenti livelli di grigio sono confrontati pixel per pixel per valutare il livello di similarita` in tutte le possibili posizioni

Template Matching Misure di similarita`: dove W rappresenta la finestra del campione. Misure di similarita`: La misura di similarita` piu` appropriata e` la correlazione tra la finestra W di dimensioni L×L e l’immagine di input f che puo` essere misurata da: dove i e j sono gli indici della finestra nell’immagine f. Il max di M(i,j) rappresenta l’oggetto cercato

Esempio Template Data Set 1 Data Set 2 Data Set 3 Data Set 4

Data Set 1 Immagine originale, Rettangolo trovato, e mappa di correlazione Mappa di correlazione

Data Set 2 Immagine originale, Rettangolo trovato. Mappa di correlazione

Data Set 3 Immagine originale, Rettangolo trovato. Mappa di correlazione

Data Set 4 Immagine originale, Rettangolo trovato. Mappa di correlazione

Data Set 5, Corr. Map Mappa di correlazione Immagine originale.

Data Set 5, Results Soglia impostata a 0.800 Soglia impostata a 0.200

Template Matching - Limitazioni Impossibilita` di operare quando: l’immagine f cambia di scala ed orientazione. Se l’immagine f modifica i livelli di grigio la correlazione M(i,j) e` modificata e puo` non indicare misure di similarita` affidabili. Questo inconveniente e` superato con un processo di normalizzazione definito da:

Template Matching - Limitazioni Usa informazioni globali, sensibile a occlusioni Usa informazioni sui pixel: fortemente dipendente dall’illuminazione e dal sensore.

Reti Neurali

Computers vs. Neural Networks “Standard” Computers Neural Networks una CPU elaborazione altamente parallela Unita’ di elab. veloci (10-9s) unita’ di elab. Lente (10-3s) Unita’ affidabili unita’ non affidabili Infrastruttura statica Infrastruttura dinamica

Perche` le reti neurali artificiali? Ci sono due ragioni fondamentali per cui siamo interessati alla costruzione di reti neurali artificiali (ANN): Tecnico: Alcuni problemi come il riconoscimento di caratteri o la predizione di stati futuri di un sistema richiedono una elaborazione adattiva e massivamente parallela. Biologico: ANNs possono essere usate per replicare e simulare componenti del cervello umano (o animale) per fornirci chiarimenti circa l’elaborazione naturale dell’informazione.

Perche` le reti neurali artificiali? Perche` abbiamo bisogno di un altro paradigma per costruire macchine “intelligenti”? L’Intelligenza Artificiale simbolica e` adatta a rappresentare la conoscenza esplicita che puo` essere appropriatamente formalizzata. Tuttavia, l’apprendimento nei sistemi biologici e` per lo piu` implicito – esso e` un processo di adattamento basato su ragionamento e informazione incerta. ANNs sono inerentemente parallele e funzionano in modo efficiente se implementate in hardware parallelo.

Come funzionano le reti neurali artificiali e naturali? I “blocchi principali” di una rete neurale sono i neuroni. Tecnicamente i neuroni sono anche denominati unità di elaborazione o nodi. Fondamentalmente, ciascun neurone riceve input da molti altri neuroni, Varia il suo stato interno (attivazione) basato sull’input corrente, invia un segnale di output a molti altri neuroni, includendo possibilmente i suoi neuroni di input (reti ricorrenti)

Modello Biologico - Il Neurone

Modello del Neurone  x1 w1 x2 w2 (•) wN xN Funzione di attivazione Output wN xN

Percettrone b Yk=1 x1 wk1 yk wk2 x2 Yk=0 La piu` semplice struttura di rete neurale e` il percettrone ideato da Rosenblatt basato sul modello di neurone definito in precedenza. Cosa può rappresentare un percettrone? Per semplicità consideriamo un neurone a due input: b x2 Yk=1 x x1 x2 wk1 wk2 yk wk (•) x1 Yk=0 Il calcolo di questo neurone puo` essere descritto come il prodotto interno di vettori bi-dimensionali x e wk, seguiti da un’operazione di thresholding.

Percettrone Soluzione w Errore Regola di apprendimento

Apprendimento In analogia al comportamento del cervello umano che impara per esperienza, anche un modello computazionale neurale deve risolvere i problemi allo stesso modo senza utilizzare l’approccio algoritmico.   In altre parole, una rete neurale artificiale e` vista come una macchina adattiva con le seguenti caratteristiche: la rete deve adattare i nodi (neuroni) per l’apprendimento della conoscenza attraverso una fase di training osservando esempi, organizzare e modellare tale conoscenza mediante i pesi sinaptici delle connessioni, ed infine rendere disponibile tale conoscenza per un suo uso generalizzato

La Ricerca nei sistemi che apprendono Capire il cervello (fisiologia, psicologia, neuroscienze, medicina) Sviluppare macchine che apprendono (informatica ed ingegneria elettronica) Formalizzare matematicamente l’essenza dell’apprendimento (Scienze dell’Informazione)

3 Tipi di apprendimento Supervised learning Trovare una regola caratterizzante il nostro modello partendo dai dati e dall’aiuto di un teacher Unsupervised learning Trovare la struttura caratterizzante il modello utilizzando solo i dati Reinforcement learning Trovare una particolare regola dai dati senza l’aiuto di un teacher che massimizza un certo funzionale

Processi di Apprendimento Supervisionato Non Supervisionato Con Rinforzo

Obbiettivi del Learning Supervisionato L’obbiettivo del supervised learning è quello di ottenere una regola sconosciuta. Il teacher conosce la regola. Possiamo fare domande al teacher. Il teacher ci fornisce la risposta appropriata alla domanda. Le coppie costituite da domande e risposte costituiscono gli esempi di addestramento (training) Regole Domande Risposte

Capacità nel generalizzare Se la regola di interesse viene appresa con successo, possiamo rispondere a domande che non abbiamo mai appreso prima. Tale capacità è denominata generalizzazione. Regola Appresa Risposta appropriata Domande non apprese (Esami)

Apprendimento del Percettrone Il percettrone realizza la fase di apprendimento mediante la minimizzazione di una funzione costo che accorda, il valore corrente al tempo n della risposta y(n) del neurone ed il valore desiderato t(n), aggiustando in modo appropriato i pesi sinaptici durante le varie iterazioni fino a convergere a risultati ottimali. L’algoritmo di convergenza della fase di apprendimento del percettrone si compone delle seguenti fasi: Inizialmente al tempo n=0, i pesi sono inizializzati con valori casuali piccoli wi(n)=0; Ripetere i passi seguenti per tutti i campioni x(1), x(2) ...... Attivazione. Il percettrone e` attivato fornendo il vettore delle caratteristiche x(t) e le risposte desiderate t(n); x1 x2 wk1 wk2 yk b (•)

Apprendimento Calcolare la risposta attuale del percettrone: u x1 x2 wk1 wk2 yk b (•) Per semplicità poniamo x0=-1 e b=w0 Calcolare la risposta attuale del percettrone: u dove n scandisce i tempi di attivazione del percettrone e coincide con l’indice del vettore del training set, e  è la seguente funzione di attivazione (chiamata anche funzione segno): 1 -1 u Adattamento dei pesi sinaptici:

Apprendimento dove é la risposta desiderata. x1 x2 wk1 wk2 yk b (•) Incrementare il tempo n di una unità ed ritornare al passo 3. Il processo di classificazione basato sul percettrone è ottimizzato aggiustando in modo iterativo i pesi sinaptici che minimizzano l’errore e(n)=t(n) - y(n)

Fase di Test Dopo l’addestramento conosciamo: I pesi sinaptici w1, w2, … wN Il bias b (intercetta) Dato un vettore di feature estratte da un oggetto incognito x=(x1, x2, … xN) Si stimola il percettrone che genera in output il valore della classe di appartenenza:

Esempio: Matlab nnd4pr

Limitazioni del Percettrone Difficoltà nel risolvere problemi non-linearmente separabili

CONFRONTO TRA CLASSIFICATORE STATISTICO E PERCETTRONE Mentre nell`approccio statistico e` valutata la funzione costo partendo dalle informazioni statistiche, nell’approccio neurale non e` necessario conoscere le informazioni statistiche dei vettori delle caratteristiche xi. Entrambi sono classificatori lineari Il percettrone opera sotto le condizioni che gli oggetti da classificare sono linearmente separabili Il classificatore di Bayes assume che la distribuzione delle classi siano Gaussiane e controlla l’eventuale sovrapposizione delle distribuzioni delle classi con i parametri statistici di media  e matrice di covarianza C. Quando le classi non sono separabili l’algoritmo di apprendimento del percettrone oscilla continuamente. L’approccio statistico non presenta problemi invece quando deve classificare oggetti appartenenti alla zona di sovrapposizione.

Evoluzione del Percettrone – Reti feedforward x1 x2 . yk Che tipo di funzione può realizzare questa rete?

Esempio Supponiamo che le linee tratteggiate nel diagramma rappresentano zone di separazione che dividono gli ingressi implementati dai neuroni del primo strato: . yk x1 x2 1st comp. 2nd comp. Quindi, per esempio, il neurone del secondo strato può fornire in output: 1 se l’input è all’interno del poligono, e 0 altrimeni.

Evoluzione del Percettrone – Reti feedforward x1 x2 . yk Che tipo di funzione una rete a tre strati può realizzare?

Capacità dei Neuroni soglia Assumiamo che i poligoni nel diagramma indichino le regioni di input in cui ciascun neurone del secondo strato dia un output uguale ad 1: 1st comp. 2nd comp. . x1 x2 Quindi, per esempio, il neurone del terzo strato può dare in output 1 se l’input ricade in qualsiasi poligono, e 0 altrimenti.

Percettrone Multi-Strato (Multi-layer perceptron) input layer hidden layer output layer x1 x2 xN . y1 y2 yK h1 h2 hJ h3 o1 o2 oK output vector input vector Le frecce indicano la direzione del flusso di dati. Il primo strato e` chiamato strato di input, contiene solo i dati di input e non effettua alcuna elaborazione. Il secondo strato, denominato strato hidden, riceve l’input dallo strato di input ed invia il suo output allo strato di output. Dopo aver applicato la loro funzione di attivazione i neuroni dello strato di output contengono il vettore di output.

Apprendimento del Percettrone MultiStrato Algoritmo di BackPropagation Prima che l’algoritmo inizi, tutti i pesi wij(0) (sinapsi) della rete devono essere inizializzati con numeri pseudo-casuali. Dobbiamo anche fornire un insieme di esempi di training. Possono essere descritti come un insieme di coppie di vettori ordinate {(x1, t1), (x2, t2), …, (xM, tM)}. Quindi possiamo avviare l’algoritmo di backpropagation. Questo algoritmo iterativamente minimizza l’errore della rete calcolando il gradiente della superficie della funzione errore nello spazio dei pesi e aggiustando i pesi nella direzione opposta (tecnica del gradiente discendente).

Apprendimento – Alg. Di BP Esempio del gradiente discendente: Calcolo del minimo assoluto di una funzione errore mono-dimensionale f(w): f(w) w slope: f’(w(0)) W(0) W(1) = w(0) - f’(w(0)) Ripeti iterativamente questa procedura finche` per qualche w(i), f’(w(i)) è sufficientemente prossimo a 0.

Apprendimento – Alg. Di BP Gradiente di due funzioni bi-dimensionali: La funzione 2D nel diagramma a sx e` rappresentata da contorni nel diagramma di destra, dove le frecce indicano la direzione del gradiente in varie posizioni. Ovviamente, il gradiente punta sempre nella direzione in cui la funzione e` crescente. Per trovare il minimo della funzione, dobbiamo muoverci sempre in direzione opposta al gradiente.

Apprendimento – Alg. Di BP x1 x2 xN . y1 y2 yK h1 h2 hJ h3 o1 o2 oK

Apprendimento – Alg. Di BP L’apprendimento avviene come segue: Seleziona casualmente una coppia di vettori (xp, tp) dal training set, e indichiamolo con (x, t). Usa x come input alla rete e successivamente calcola gli output di tutti i neuroni presenti nella rete fino ad ottenere l’output globale della rete y.

Apprendimento – Alg. Di BP Calcola l’errore opk, per il pattern p attraverso tutte le k unità dello strato di output usando la formula: x1 x2 xN . y1 y2 yK h1 h2 hJ h3 o1 o2 oK Input “x” Target “t”

Apprendimento – Alg. Di BP Calcola l’errore hpj, per tutti i neuroni J nello strato hidden usando la formula: x1 x2 xN . h1 y1 o1 h2 y2 Input “x” o2 Target “t” h3 yK oK hJ

Apprendimento – Alg. Di BP Aggiorna il valore dei pesi allo strato hidden usando la formula: x1 x2 xN . h1 y1 o1 h2 y2 Input “x” o2 Target “t” h3 yK oK hJ

Apprendimento – Alg. Di BP Aggiorna il valore dei pesi dello strato di output usando la formula: x1 x2 xN . h1 y1 o1 h2 y2 Input “x” o2 Target “t” h3 yK oK hJ

Apprendimento – Alg. Di BP Ripeti i passi 1 - 6 per tutte le coppie di vettori del training set; questa e` denominata epoca di addestramento. Esegui tante epoche quante necessarie per ridurre l’errore della rete E in modo che sia al di sotto di una certa soglia :

Apprendimento – Alg. Di BP La sola cosa che dobbiamo conoscere prima di far funzionare la nostra rete è la derivata della nostra funzione di attivazione, per esempio, ’(vk) per i neuroni di output sigmoidali:

Apprendimento – Alg. Di BP Ora la nostra rete con l’algoritmo BP e` pronta! Se noi scegliamo in modo appropriato il tipo ed il numero di neuroni nella nostra rete, dopo l’addestramento, la rete dovrebbe mostrare il seguente comportamento: se noi forniamo in input uno dei vettori di training, la rete dovrebbe fornirci l’output atteso (con qualche piccolo margine di errore). Se noi forniamo in input un vettore che la rete non ha mai “visto” prima, dovrebbe essere in grado di generalizzare fornendo un output plausibile basato sulla sua conoscenza circa vettori simili che in precedenza ha osservato. Basato sulla propria esperienza.

Leave-One-Out Consideriamo di risolvere un problema a c classi K1,…,Kc con M esempi a disposizione. Come calcolare le performance del nostro classificatore? Esempio di Test Esempio di Test Esempio di Test

Matrice di confusione K1 Kc K1,…,Kc classi di oggetti da discriminare. Calcolo dell’errore di generalizzazione Pred. K1 Kc Vero

Esempio: Matlab nnd11bc

Competitive Learning Prendono spunto dai lavori di von der Malsburg (1973) circa l’auto-organizazzione (Self-Organization) di cellule sensibili alle orientazioni nella corteccia striata. Solo un neurone nello strato di output può essere attivo ad ogni istante. La tecnica è utile per scoprire caratteristiche statisticamente salienti del pattern di input per classificare.

Competitive Learning Ci sono tre elementi di base per una regola di apprendimento competitiva (Rumelhart and Zipser, 1985): un insieme di neuroni casualmente distribuiti che rispondono in modo differente ad un unico insieme di pattern di input. Un limite imposto sul livello di output per ciascun neurone un meccanismo che permette la competizione tra i neuroni, in modo che uno solo di essi sia attivo ad ogni istante. Tale neurone che vince la competizione è denominato “winner-takes-all neuron”.

Competitive Learning Definiamo: yk output del neurone k Inibizione Eccitazione Definiamo: yk output del neurone k vk campo locale del neurone k per uno specifico pattern di input x x1 x2 x3 x4 Input layer Output layer x x Questa regola ha l’effetto di muovere il peso sinaptico wk del neurone vincente k verso il pattern di input x.

Applicazione del learning Competitivo Le Mappe Auto-organizzanti (SOM) Inizializzata in modo random la mappa, si possono individuare tre processi nella formazione di tali mappe: Competizione: per ciascun input, I neuroni della rete calcolano il loro rispettivo valore in base ad una funzione discriminante. Questa funzione definisce le modalità della competizione tra neuroni. Cooperazione: il neurone vincente determina la locazione spaziale di un intorno topologico di neuroni eccitati. Adattamento sinaptico: abilita i neuroni eccitati ad aumentare il loro livello di attivazione qualora pattern simili verranno presentati in futuro.

Competizione Dato il vettore di input Sia mi il vettore del peso sinaptico del neurone i denotato con Confronta i seguenti prodotti interni e trova il massimo Equivale a minimizzare la distanza Euclideatra x ed mi

Cooperazione Il neurone vincente c localizza il centro di un intorno topologico di neuroni che cooperano tra loro. Sia dc,i la distanza laterale, hci è una funzione della distanza laterale che soddisfa: hci simmetrica rispetto al punto massimo dc,i=0; L’ampiezza di (condizione necessaria di convergenza). La larghezza dell’intorno topologico si riduce nel tempo c

Algoritmo SOM 1. Inizializzazione. Scegli i valori dei pesi in modo casuale mi(0) i=1,…,l. 2. Campionamento. Presenta in input alla rete un pattern x dello spazio dei dati. (|x|=|m|=n) 3. Confronto. Trova il neurone vincitore c al tempo t con il criterio della distanza Euclidea: c 4. Aggiornamento. Aggiorna i vettori dei pesi come segue: 5. Continua al passo 2 finché non vi sono variazioni nella mappa.

SOM Training

SOM After Training

SOM After Training Sunflower oil Olive oil Mix Sunflower oil Mix

Component planes

Learning Vector Quantization The Som algorithm creates an approximation of the probability density function of all input samples, whereas the classification task requires an approximation of the optimal decision borders between classes. Self-Organizing feature map Learning vector quantizer Class labels Teacher The problem of optimal decision or statistical pattern recognition is usually discussed in the framework of the Bayes theory of probability. Let us define the discriminant functions Unknown samples are classified optimally (i.e. the rate of misclassifications is minimized) if a sample x is determined to belong to class Sc according to the decision

LVQ1 Let us assume that a number of codebook vectors mi are placed into the input space to approximate various domains of the input vector x. Usually several codebooks are assigned to each class and the input vector x is then classified by finding Classification can then be found in the following learning process: if x and mc belong to the same class if x and mc belong to different classes Class S1 Class S2 mc x Class S1 Class S2 mc x