La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 ANALISI DEI CLUSTER (metodo kmeans) Sia linsieme degli esempi di training Supponiamo di volerli classificare in k classi,

Presentazioni simili


Presentazione sul tema: "1 ANALISI DEI CLUSTER (metodo kmeans) Sia linsieme degli esempi di training Supponiamo di volerli classificare in k classi,"— Transcript della presentazione:

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

2 2 ANALISI DEI CLUSTER (metodo kmeans) Come possiamo calcolare i prototipi m j ? Quando x t è rappresentato da m i, vi è unerrore proporzionale alla distanza Il nostro obiettivo è quello di ridurre questa distanza quanto possibile Introduciamo una funzione errore (di ricostruzione) come segue

3 3 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 m i casualmente Quindi si calcolano i valori di b con lequazione precedente e si minimizza lerrore 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

4 4 ANALISI DEI CLUSTER (metodo kmeans)

5 5

6 6 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%.

7 7 ANALISI DEI CLUSTER (Fuzzy C-means) 1.Inizializza la matrice delle funzioni membership b con valori tra 0 e 1. Tale che soddisfano il vincolo 2.Calcola i centri m i, i=1,…,k con 3.Calcola la funzione costo. Criterio di stop: se E

8 8 Template Matching In diverse applicazioni risulta importante ricercare direttamente nellimmagine (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 sullintera immagine una finestra ideale corrispondente ad una rappresentazione delloggetto che deve essere identificato nellimmagine.

9 9 Template Matching Opera come correlazione in analogia al processo di convoluzione. Il template matching e` anche descritto come matched filtering. Il processo di template matching consiste nel muovere la finestra campione (template) di un pixel per volta nellimmagine e calcolare il grado di similarita` di tale finestra con la porzione corrente dellimmagine. Sia g(i,j) la finestra prototipo da ricercare f(i,j) immagine di input, Il processo inizia posizionando g sullestremita` 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

10 10 Template Matching 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 limmagine di input f che puo` essere misurata da: dove i e j sono gli indici della finestra nellimmagine f. Il max di M(i,j) rappresenta loggetto cercato

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

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

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

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

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

16 16 Data Set 5, Corr. Map Mappa di correlazioneImmagine originale.

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

18 18 Template Matching - Limitazioni Impossibilita` di operare quando: limmagine f cambia di scala ed orientazione. Se limmagine 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:

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

20 20

21 21 Reti Neurali

22 22 Computers vs. Neural Networks Standard ComputersNeural Networks una CPUelaborazione altamente parallela Unita di elab. veloci (10 -9 s)unita di elab. Lente (10 -3 s) Unita affidabiliunita non affidabili Infrastruttura staticaInfrastruttura dinamica

23 23 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 lelaborazione naturale dellinformazione.

24 24 Perche` le reti neurali artificiali? Perche` abbiamo bisogno di un altro paradigma per costruire macchine intelligenti? LIntelligenza Artificiale simbolica e` adatta a rappresentare la conoscenza esplicita che puo` essere appropriatamente formalizzata. Tuttavia, lapprendimento 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.

25 25 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 sullinput corrente, invia un segnale di output a molti altri neuroni, includendo possibilmente i suoi neuroni di input (reti ricorrenti)

26 26 Modello Biologico - Il Neurone

27 27 Modello del Neurone x1x1 x2x2 xNxN w1w1 w2w2 wNwN () () Funzione di attivazione Output

28 28 Percettrone 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: Il calcolo di questo neurone puo` essere descritto come il prodotto interno di vettori bi- dimensionali x e w k, seguiti da unoperazione di thresholding. x1x1 x2x2 w k1 w k2 ykyk b () () wkwkwkwk x1x1 x2x2 x Y k =1 Y k =0

29 29 Percettrone Soluzione w Errore Regola di apprendimento

30 30 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 lapproccio algoritmico. In altre parole, una rete neurale artificiale e` vista come una macchina adattiva con le seguenti caratteristiche: Apprendimento la rete deve adattare i nodi (neuroni) per lapprendimento 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

31 31 La Ricerca nei sistemi che apprendono Formalizzare matematicamente lessenza dellapprendimento (Scienze dellInformazione) Capire il cervello (fisiologia, psicologia, neuroscienze, medicina) Sviluppare macchine che apprendono (informatica ed ingegneria elettronica)

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

33 33 Processi di Apprendimento Supervisionato Non Supervisionato Con Rinforzo

34 34 Obbiettivi del Learning Supervisionato Lobbiettivo 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

35 35 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)

36 36 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. Lalgoritmo di convergenza della fase di apprendimento del percettrone si compone delle seguenti fasi: 1. Inizialmente al tempo n=0, i pesi sono inizializzati con valori casuali piccoli w i (n)=0; 2. 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); Apprendimento del Percettrone x1x1 x2x2 w k1 w k2 ykyk b () ()

37 37 4.Calcolare la risposta attuale del percettrone: Apprendimento dove n scandisce i tempi di attivazione del percettrone e coincide con lindice del vettore del training set, e è la seguente funzione di attivazione (chiamata anche funzione segno): 5. Adattamento dei pesi sinaptici: 1 -1 u x1x1 x2x2 w k1 w k2 ykyk b () () Per semplicità poniamo x 0 =-1 e b=w 0 u

38 38 dove Apprendimento é la risposta desiderata. 6. 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 lerrore e(n)=t(n) - y(n) x1x1 x2x2 w k1 w k2 ykyk b () ()

39 39 Fase di Test Dopo laddestramento conosciamo: I pesi sinaptici w 1, w 2, … w N Il bias b (intercetta) Dato un vettore di feature estratte da un oggetto incognito x=(x 1, x 2, … x N ) Si stimola il percettrone che genera in output il valore della classe di appartenenza:

40 40 nnd4pr Esempio: Matlab

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

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

43 43 Che tipo di funzione può realizzare questa rete? x1x1 x2x2 x1x1 x2x2 x1x1 x2x ykyk Evoluzione del Percettrone – Reti feedforward

44 44 Supponiamo che le linee tratteggiate nel diagramma rappresentano zone di separazione che dividono gli ingressi implementati dai neuroni del primo strato: 1 st comp. 2 nd comp. Quindi, per esempio, il neurone del secondo strato può fornire in output: 1 se linput è allinterno del poligono, e 0 altrimeni. Esempio ykyk x1x1 x2x2 x1x1 x2x2 x1x1 x2x2

45 45 Che tipo di funzione una rete a tre strati può realizzare? x1x1 x2x2 x1x1 x2x2 x1x1 x2x ykyk Evoluzione del Percettrone – Reti feedforward

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

47 47 Percettrone Multi-Strato (Multi-layer perceptron) output layerhidden layerinput layer input vector output vector x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

48 48 Apprendimento del Percettrone MultiStrato Algoritmo di BackPropagation Prima che lalgoritmo inizi, tutti i pesi w ij (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 {(x 1, t 1 ), (x 2, t 2 ), …, (x M, t M )}. Quindi possiamo avviare lalgoritmo di backpropagation. Questo algoritmo iterativamente minimizza lerrore 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).

49 49 Apprendimento – Alg. Di BP Esempio del gradiente discendente: Calcolo del minimo assoluto di una funzione errore mono-dimensionale f(w):f(w)w W(0) slope: f(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.

50 50 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.

51 51 Apprendimento – Alg. Di BP x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

52 52 Apprendimento – Alg. Di BP Lapprendimento avviene come segue: 1.Seleziona casualmente una coppia di vettori (x p, t p ) dal training set, e indichiamolo con (x, t). 2.Usa x come input alla rete e successivamente calcola gli output di tutti i neuroni presenti nella rete fino ad ottenere loutput globale della rete y.

53 53 Apprendimento – Alg. Di BP 3.Calcola lerrore o pk, per il pattern p attraverso tutte le k unità dello strato di output usando la formula: Target t Input x x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

54 54 Apprendimento – Alg. Di BP 4.Calcola lerrore h pj, per tutti i neuroni J nello strato hidden usando la formula: Target t Input x x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

55 55 Apprendimento – Alg. Di BP 5.Aggiorna il valore dei pesi allo strato hidden usando la formula: Target t Input x x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

56 56 Apprendimento – Alg. Di BP 6.Aggiorna il valore dei pesi dello strato di output usando la formula: Target t Input x x1x1 x2x2 xNxN y1y1 y2y2 yKyK h1h1 h2h2 hJhJ h3h3 o1o1 o2o2 oKoK

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

58 58 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, (v k ) per i neuroni di output sigmoidali:

59 59 Apprendimento – Alg. Di BP Ora la nostra rete con lalgoritmo BP e` pronta! Se noi scegliamo in modo appropriato il tipo ed il numero di neuroni nella nostra rete, dopo laddestramento, la rete dovrebbe mostrare il seguente comportamento: se noi forniamo in input uno dei vettori di training, la rete dovrebbe fornirci loutput 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.

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

61 61 Matrice di confusione K 1,…,K c classi di oggetti da discriminare. Calcolo dellerrore di generalizzazione K1K1 KcKc K1K1 KcKc Vero Pred.

62 62 nnd11bc Esempio: Matlab

63 63 Competitive Learning Prendono spunto dai lavori di von der Malsburg (1973) circa lauto-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.

64 64 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.

65 65 Competitive Learning x1x1 x2x2 x3x3 x4x4 Input layer Output layer Inibizione Eccitazione Definiamo: y k output del neurone k v k campo locale del neurone k per uno specifico pattern di input x x x x x x x Questa regola ha leffetto di muovere il peso sinaptico w k del neurone vincente k verso il pattern di input x.

66 66 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.

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

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

69 69 Algoritmo SOM 1. Inizializzazione. Scegli i valori dei pesi in modo casuale m i (0) i=1,…,l. c 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: 4. Aggiornamento. Aggiorna i vettori dei pesi come segue: 5. Continua al passo 2 finché non vi sono variazioni nella mappa.

70 70 SOM Training

71 71 SOM After Training

72 72 SOM After Training Sunflower oil Sunflower oil Mix Olive oil Mix

73 73 Component planes

74 74 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 S c according to the decision

75 75 LVQ1 Let us assume that a number of codebook vectors m i 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: Class S 1 Class S 2 mcmc x if x and m c belong to the same class if x and m c belong to different classes Class S 1 Class S 2 mcmc x


Scaricare ppt "1 ANALISI DEI CLUSTER (metodo kmeans) Sia linsieme degli esempi di training Supponiamo di volerli classificare in k classi,"

Presentazioni simili


Annunci Google