Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di...

43
Sistemi di supporto alle Sistemi di supporto alle decisioni decisioni 4. Clustering 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dell’Informazione Università di Siena [email protected] http://www.dii.unisi.it/~rigutini/

Transcript of Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di...

Page 1: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioniSistemi di supporto alle decisioni

4. Clustering4. Clustering

Sistemi di supporto alle decisioniSistemi di supporto alle decisioni

4. Clustering4. Clustering

Ing. Leonardo Rigutini, Ph.D.

Dipartimento di Ingegneria dell’Informazione

Università di Siena

[email protected]

http://www.dii.unisi.it/~rigutini/

Ing. Leonardo Rigutini, Ph.D.

Dipartimento di Ingegneria dell’Informazione

Università di Siena

[email protected]

http://www.dii.unisi.it/~rigutini/

Page 2: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

ClusteringClustering

Data una bData una base di dati di oggetti,, suddividere tali oggetti in gruppi, in modo che…

...oggetti appartenenti allo stesso gruppo siano molto simili

...oggetti in gruppi diversi siano molto diversi

La suddivisione non può avvalersi di dati supervisionati La suddivisione non può avvalersi di dati supervisionati (Learning set):(Learning set):

Clustering ==> processo non supervisionato

Page 3: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

ClusteringClustering

Gli algoritmi di clustering possono essere suddivisi in tre tipologie:

Partitional clustering (k-clustering): viene creato un partizionamento dello spazio

Clustering gerachico: viene creata una gerarchia di gruppi (albero) basandosi su particolari criteri.

Page 4: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

ClusteringClustering

Una seconda categorizzazione degli algoritmi di clustering considera la possibilità che un oggeto appartenga a più di un cluster:

Hard-clustering: ogni elemento è assegnato ad un solo cluster e quindi i clusters non si sovrappongono

Soft-luster: dove un elemento può essere assegnato a più di un gruppo con un grado di appartenenza

Noi consideriamo gli algoritmi di hard-clustering.

Page 5: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioniEsempi di applicazioni

Identificazione di popolazioni omogenee di clienti in basi di dati di marketing

Valutazione dei risultati di esperimenti clinici

Monitoraggio dell’attività di aziende concorrenti

Identificazione di geni con funzionalità simili

Nel WWW…

Classificazione di documenti

Identificazione di gruppi di utenti (in base ai file di log) con caratteristiche

di “navigazione” simili

Page 6: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

““Classificazione non supervisionata”Classificazione non supervisionata”

Abbiamo già sottolineato come il processo di clustering sia un task non-supervisionato

Questo fatto implica che:Non esiste un learning set dal quale apprendere le classiSi parla di unlabeled-set, cioè l’insieme di esempi non etichettati che sono oggetto dell’algoritmoIl numero di gruppi da individuare nell’unlabeled-set (solitamente indicato con k) è sconosciuto

E’ un processo di classificazione non supervisionato:come tale si utilizzeranno i modelli di classificatori visti in precedenza risolvendo però il problema dell’assenza del learning-set

Page 7: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Partitioning clusteringPartitioning clusteringPartitioning clusteringPartitioning clustering

Page 8: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Partitioning clusteringPartitioning clustering

Lo scopo di tale approccio è suddividere lo spazio dei Lo scopo di tale approccio è suddividere lo spazio dei pattern in k gruppi ed assegnare ogni esempio ad un pattern in k gruppi ed assegnare ogni esempio ad un gruppo in modo da creare clusters omogeneigruppo in modo da creare clusters omogenei

Normalmente viene minimizzata/massimizzata un funzionale:Minimizzare le distanze tra gli esempi interni al gruppo

Massimizzare le distanze tra gli esempi in gruppi diversi

Massimizzare le distanze tra due gruppi diversi

Page 9: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

1. k-Means1. k-Means

K-means è l’algoritmo di clustering più popolare nella K-means è l’algoritmo di clustering più popolare nella letteratura scientifica e deriva dall’algoritmo EM letteratura scientifica e deriva dall’algoritmo EM (Expectation Massimization)(Expectation Massimization)

EM è un algoritmo sviluppato nella teoria delle EM è un algoritmo sviluppato nella teoria delle probabilità per risolvere il problema delle probabilità per risolvere il problema delle stime non-stime non-supervisionate a massima verosomiglianza (maximum supervisionate a massima verosomiglianza (maximum likelihood)likelihood)

Page 10: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Maximum likelihoodMaximum likelihood

Supponiamo di avere un insieme di dati D non Supponiamo di avere un insieme di dati D non etichettati, lo scopo è approssimare la loro distribuzione etichettati, lo scopo è approssimare la loro distribuzione nello spazio con k distribuzioni di probabilità nello spazio con k distribuzioni di probabilità caratterizzate quindi da k parametri Tetacaratterizzate quindi da k parametri Teta

La likelihood degli elementi dato il modello Teta è La likelihood degli elementi dato il modello Teta è

quindiquindi:

Page 11: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Maximum likelihoodMaximum likelihood

Normalmente viene utilizzata la log-likelihood Normalmente viene utilizzata la log-likelihood la funzione logaritmica è un funzione monotona crescentela funzione logaritmica è un funzione monotona crescente

Lo scopo delle stima a maximum likelihood è quindi trovare Teta che massimizza la log-likelihood:

Page 12: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

EMEM

EM assume l’esistenza di parametri nascosti nel sistema che EM assume l’esistenza di parametri nascosti nel sistema che semplificano il problema:semplificano il problema:

Sostituendo nella formula ML e massimizzando rispetto a Teta:

Page 13: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

EMEM

Sviluppando:Sviluppando:

Dopo alcuni passaggi si ottiene:

Page 14: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

EMEM

La formula precedente ci da un modo per stimare il Teta ottimo. La formula precedente ci da un modo per stimare il Teta ottimo. Esso può essere stimato utilizzando un’algoritmo ad ascesa del Esso può essere stimato utilizzando un’algoritmo ad ascesa del gradientegradiente

E step: il valore al passo t+1 della likelihood è stimato utilizzando la configurazione dei parametri stimata al tempo t

M step: i parametri del modello sono aggiornati utilizzando i dati etichettati al passo E

Page 15: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

k-Meansk-Means

Ma come utilizzare questi risultati per il clustering?

Se guardiamo P(Ck|d,), questa indica una classificazione:

Assegna la classe Ck dato il pattern d ed i parametri

Se inseriamo un classificatore centroids-based invece che un classificator probabilistico otteniamo l’algoritmo k-Means

Page 16: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

k-Means k-Means

1. Scegli i k centri iniziali2.2. RepeatRepeat

1. E-step: assegna ciascun oggetto al cluster più vicino, il cui centroide risulta il più vicino (simile) all’oggetto dato

2. M-step: ri-calcola i centroidi (punti medi) dei cluster

untiluntil gli assegnamenti non cambiano (o cambiano poco)

Viene minimizzato Viene minimizzato l’errore quadratico l’errore quadratico mediomedio

E x mK k c xk

k= −∑ ( )

2

Page 17: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

k-Meansk-Means

Limiti di Kmeans:Può essere applicato solo se il tipo di dato permette di definire la mediaOccorre specificare in anticipo il numero k di clusterSebbene sia possibile dimostrare che il procedimento termina sempre, non è detto che venga raggiunto il minimo globale (il risultato è influenzato dalla scelta dei centri iniziali)Non garantisce la connessione dei cluster trovati e l’assenza di punti isolatiPuò produrre risultati scadenti quando… …i cluster hanno differenti dimensioni, densità, forma non

sferica/ellissoidale…i dati contengono outlier

Page 18: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

k-Means con nubi di punti non di forma sfericak-Means con nubi di punti non di forma sferica

Page 19: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

k-Meansk-Means

Soluzione:Soluzione: usare molti cluster

In questo caso… …i cluster calcolati sono partizioni dei cluster effettivamente presenti…è necessario fondere i cluster calcolati

Page 20: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Clustering GerarchicoClustering GerarchicoClustering GerarchicoClustering Gerarchico

Page 21: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Clustering gerarchicoClustering gerarchico

Questi algoritmi non producono una rappresentazione “flat” Questi algoritmi non producono una rappresentazione “flat” (piatta) dei gruppi estratti dai dati, ma un albero T (Tree) i cui (piatta) dei gruppi estratti dai dati, ma un albero T (Tree) i cui nodi rappresentano un subset dello spazionodi rappresentano un subset dello spazio

La radice di T rappresenta l’intero spazio D non partizionatoLa radice di T rappresenta l’intero spazio D non partizionato

Due tipi di algoritmi di clustering gerachico esistono:Due tipi di algoritmi di clustering gerachico esistono:Agglomerativo: partendo dalle foglie vengono via via fusi i cluster più simili fino a raggiungere la radice

Divisivo: partendo dalla root (l’intero spazio non partizionato), vengono via via divisi i gruppi in sottogruppi più piccoli fino a raggiungere un dimensione minima.

Page 22: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Clustering gerachicoClustering gerachico

Tali algoritmi richiedono delle misure per decidere ad ogni step Tali algoritmi richiedono delle misure per decidere ad ogni step quali clusters fondere (agglomerativo) o quali dividere (divisivo)quali clusters fondere (agglomerativo) o quali dividere (divisivo)

Funzioni di prossimità, utilizzate dal clustering agglomerativo Funzioni di prossimità, utilizzate dal clustering agglomerativo per scegliere i due clustes da unireper scegliere i due clustes da unireSingle-link - Single-link - calcola la prossimità tra due cluster utilizzando la calcola la prossimità tra due cluster utilizzando la distanza dei due punti più vicini appartenenti ai due diversi distanza dei due punti più vicini appartenenti ai due diversi clustersclusters

Average-link - Average-link - usa la distanza media tra i punti appartenenti ai usa la distanza media tra i punti appartenenti ai due diversi clustersdue diversi clusters

Page 23: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Clustering gerachicoClustering gerachico

Complete-link - Complete-link - usa la distanza tra i due punti più distanti usa la distanza tra i due punti più distanti appartenenti ai due clustersappartenenti ai due clusters

Centroids-distance - Centroids-distance - usa la distanza tra i centroidi dei due clusterusa la distanza tra i centroidi dei due cluster

Page 24: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Clustering gerachicoClustering gerachico

Funzioni di densità, utilizzate dal clustering divisivo per Funzioni di densità, utilizzate dal clustering divisivo per scegliere i clusters da dividere in due sottogruppiscegliere i clusters da dividere in due sottogruppi

Intra-cluster distance - Intra-cluster distance - calcola la distanza media tra gli elementi calcola la distanza media tra gli elementi in un clusterin un cluster

I(C j ) =1

C j

2 dr − di

d r ,d i ∈C j

Page 25: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Self Organizing Maps (SOM) Self Organizing Maps (SOM) dette anchedette anche

reti di Kohonenreti di Kohonen

Self Organizing Maps (SOM) Self Organizing Maps (SOM) dette anchedette anche

reti di Kohonenreti di Kohonen

Page 26: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

SOM - 1SOM - 1

Il clustering può essere interpretato come una forma di classificazione non supervisionata

Come tale, può essere realizzato mediante un particolare tipo di architettura neurale, chiamata SelfSelfOrganizing MapOrganizing Map (SOM), che viene addestrata in modalità non supervisionata, cioè non conoscendo l’output atteso per ciascun dato in input

Page 27: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

SOM - 2SOM - 2

Al termine della fase di apprendimento, la SOM sarà comunque in grado di raggruppare i dati in cluster, ovvero di produrre output simili per input “vicini”, secondo una qualche metrica nello spazio degli ingressi

Page 28: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Motivazione biologicaMotivazione biologicaLa rete di Kohonen viene modellata sulla base di un comportamento caratteristico dei neuroni che compongono un tessuto nervoso laminare: tali neuroni si attivano, sotto l’azione di uno stimolo, in gruppi caratterizzati dalla presenza o assenza di attività, definendo come attività l’emissione di un numero di impulsi nell’unità di tempo superiore ad una certa soglia

La demarcazione spaziale tra i due gruppi è netta, per cui si parla di formazione di “bolle di attivazione”, a partire da una situazione indifferenziata di bassa attività di tutti i neuroni presenti nella rete

Self Organizing Map Self Organizing Map 1 1

Page 29: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Nel caso biologico, i neuroni che sono fisicamente vicini a neuroni attivi hanno legami forti ed eccitatori mentre quelli periferici hanno legami inibitori

Nella corteccia cerebrale esistono proiezioni di stimoli sensoriali su specifiche reti di neuroni corticali

I neuroni sensomotori costituiscono una mappa distorta (l’estensione 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

Self Organizing Map Self Organizing Map 2 2

Page 30: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Questa caratteristica è stata modellata da Kohonen restringendo la variazione dei pesi ai neuroni vicini ad un neurone scelto

SOMSOM (Kohonen, 1981): 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 diversodi tipo diverso attivino unità diverse (lontane)

unità topologicamente vicine vengano attivate da ingressi similisimili

Self Organizing Map Self Organizing Map 3 3

Page 31: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Architettura della reteArchitettura della reteFormata da un singolo strato di neuroni ni, i=1,…,wh:

w=larghezza, h= altezza della mappa

L’ingresso X Rn è collegato a tutti i neuroni

Ogni neurone i ha un set di parametri Wi di dimensione pari a quella dell’ingresso

La funzione di attivazione è inversamente proporzionale alla distanza tra il vettore dei parametri e l’input:

fi = 1/d(Wi,X), d una qualsiasi funzione distanza

Collegamenti laterali tra i neuroni

Self Organizing Map Self Organizing Map 4 4

Page 32: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

ArchitetturaArchitettura

Page 33: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Interazione lateraleInterazione lateraleOgni neurone è connesso con un “vicinato” di neuroni

per una mappa in R1 (la retta) abbiamo solamente PREC e SUCCper una mappa in R2 (piano) sono i neuroni N,NE,E,SE,S,SO,O,NO…e così in Rm con m>2

I pesi dei collegamenti tra neuroni non sono soggetti ad apprendimento ma sono fissi e positivi e variano con il valore della epoca ep e della distanza tra i neuroni nella mesh dist ==> a(dist,ep) - funzione di decay

Self Organizing Map Self Organizing Map 7 7

Page 34: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Collegamenti lateraliCollegamenti laterali

Page 35: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Per ogni pattern fornito alla rete, un neurone soltanto risulta “vincente”:

il neurone che presenta il massimo valore in uscita, chiamato anche best-matching unit (BMU)

I pesi dei neuroni vengono aggiornati secondo la regolaW(t+1)=W(t)+a(dist,ep)(W(t)-Xi)

a(dist,ep) è una funzione che pesa l’aggiornamento dei neuroni in base alla distanza dalla BMU e in base alla epoche di addestramento

Aggiornamento dei pesiAggiornamento dei pesi

Page 36: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Quindi:Aggiornamento dei pesi della BMU ==> a(dist,ep) diventa a(0,ep), poiché la distanza tra la BMU e la BMU è 0 (ovviamente!)

Aggiornamento dei pesi dei neuroni non BMU ==> a(dist,ep) con dist≠0 decresce all’aumentare della distanza tra il neurone in esame e la BMU

Inoltre, a(dist,ep), normalmente decresce all’aumentare dell’epoca di stima dei parametri, in modo da convergere per ep sufficientemente grande

Ossia dopo un certo numero di epoche

Aggiornamento dei pesiAggiornamento dei pesi

Page 37: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Alcune funzioni di decay utilizzate nella pratica sono:Decadimento lineare:

Decadimento nello spazio - a(dist,ep)=g a(dist-1,ep)

Decadiemento nel tempo - a(dist,ep)=g a(dist,ep-1)

con g<1

Decadimento logaritmo (o gaussiano):

con (ep) una funzione monotona decrescente in ep

Funzioni di decayFunzioni di decay

a(dist,ep) = edist

σ (ep )

⎝ ⎜

⎠ ⎟

2

Page 38: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Ripeti Ripeti

1.1. Per ogni esempio xPer ogni esempio xii nel training set: nel training set:

1.1. determina l’unità vincente determina l’unità vincente nnjj

2.2. modifica i pesi dell’unità vincente e di quelle che si modifica i pesi dell’unità vincente e di quelle che si trovano in un suo intorno nel modo seguente: trovano in un suo intorno nel modo seguente: wwjj((tt1) = 1) =

wwjj ((tt) ) a(ep,l)a(ep,l)((xxi i wwjj ((tt))))

2.2. Nuova epoca:Nuova epoca: ep=ep+1 ep=ep+1

finché la rete non raggiunge una configurazione stabilefinché la rete non raggiunge una configurazione stabile

Algoritmo di apprendimento non supervisionatoAlgoritmo di apprendimento non supervisionato

Page 39: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Self Organizing MapSelf Organizing Map

Page 40: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

L’algoritmo di apprendimento delle SOM è molto semplice (non è necessario il calcolo di derivate):

Viene selezionato il neurone j* con vettore dei pesi più vicino al pattern di input; tale neurone “richiama” il vettore di input e modifica il suo vettore dei pesi in modo da allinearlo a quello di input

Vengono inoltre modificati i vettori dei pesi dei neuroni vicini a j*la rete cerca di creare regioniregioni costituite da un ampio set di valori attorno all’input con cui apprende (cioè non fa corrispondere un solo valore all’input, ma un set di valori)i vettori che sono spazialmente vicini ai valori di training (apprendimento) saranno comunque classificati correttamente anche se la rete non li ha mai visti (capacità di generalizzazione)

Self Organizing MapSelf Organizing Map

Page 41: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Lo scopo di una SOM è quello di avere, per input simili, neuroni vincenti vicini, così che ogni bolla di attivazione rappresenti una classe di input con caratteristiche somiglianti

La regione dei vicini può essere scelta come un quadrato, un cerchio o un esagono attorno al neurone vincente

Il numero di vicini del neurone selezionato deve essere scelto grande all’inizio e fatto decrescere lentamente all’aumentare dei cicli di apprendimento

Self Organizing MapSelf Organizing Map

Page 42: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Riassumendo…

Le SOM realizzano il clustering dei dati, cioè una identificazione, nello spazio degli ingressi, di partizioni indotte dalle similitudini/differenze fra i dati

Ogni partizione è rappresentata da un prototipo (centroide) definito dal valore dei pesi del neurone corrispondente

Il clustering è di tipo non supervisionato: non si ha alcuna informazione a priori sulle classi di appartenenza dei dati

A posteriori è possibile etichettare (classificare) dati in base alla partizione dello spazio degli ingressi cui appartengono

Self Organizing MapSelf Organizing Map

Page 43: Sistemi di supporto alle decisioni 4. Clustering Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it.

Sistemi di supporto alle decisioni - Leonado Rigutini

Soft-clusteringSoft-clustering

Tuttavia... il mondo reale non è “crisp”

Effettuando il clustering non è sempre possibile definire in maniera precisa se un punto appartiene ad un cluster oppure ad un altro