1 / 75

ANALISI DEI CLUSTER (metodo kmeans)

ANALISI DEI CLUSTER (metodo kmeans). Sia l’insieme degli esempi di training Supponiamo di volerli classificare in k classi, ed indichiamo con m j , j=1,…,k prototipi delle classi

skah
Télécharger la présentation

ANALISI DEI CLUSTER (metodo kmeans)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. ANALISI DEI CLUSTER (metodo kmeans)

  5. ANALISI DEI CLUSTER (metodo kmeans)

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

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

  9. 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. Template Matching 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

  10. Misure di similarita`: dove W rappresenta la finestra del campione. 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. Template Matching Il max di M(i,j) rappresenta l’oggetto cercato

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

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

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

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

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

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

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

  18. Questo inconveniente e` superato con un processo di normalizzazione definito da: 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.

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

  20. Reti Neurali

  21. Computers vs. Neural Networks

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

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

  24. 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)

  25. Modello Biologico - Il Neurone

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

  27. x1 wk1 yk wk2 x2 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: b x2 Yk=1 x wk (•) x1 Yk=0 Il calcolo di questo neurone puo` essere descritto come il prodotto interno di vettoribi-dimensionali x e wk, seguiti da un’operazione di thresholding.

  28. w Soluzione Regola di apprendimento Errore Percettrone

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

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

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

  32. Processi di Apprendimento Supervisionato Non Supervisionato Con Rinforzo

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

  34. 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)

  35. b x1 wk1 yk (•) wk2 x2 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 dellecaratteristiche x(t) e le risposte desiderate t(n);

  36. u b x1 wk1 yk (•) wk2 x2 1 u -1 Apprendimento Per semplicità poniamo x0=-1 e b=w0 • Calcolare la risposta attuale del percettrone: 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): Adattamento dei pesi sinaptici:

  37. b x1 wk1 yk (•) wk2 x2 Apprendimento dove é la risposta desiderata. 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)

  38. 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:

  39. Esempio: Matlab nnd4pr

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

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

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

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

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

  45. 2nd comp. x1 x2 x1 x2 . . . . . . x1 x2 1st comp. 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: Quindi, per esempio, il neurone del terzo strato può dare in output 1 se l’input ricade in qualsiasi poligono, e 0 altrimenti.

  46. x1 x2 . . . . . . h1 . . . xN y1 o1 h2 y2 o2 h3 yK oK hJ Percettrone Multi-Strato(Multi-layer perceptron) input layer hidden layer output layer output vector input vector

  47. Apprendimento del Percettrone MultiStratoAlgoritmo 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).

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

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

More Related